MATLAB的一些解答.docx
《MATLAB的一些解答.docx》由会员分享,可在线阅读,更多相关《MATLAB的一些解答.docx(39页珍藏版)》请在冰豆网上搜索。
MATLAB的一些解答
MATLAB系统环境
1.与其他的高级语言相比,MATLAB有哪些显著的特点?
答:
MATLAB的显著特点是功能强、效率高、简单易学。
2.怎么理解MATLAB的开发性?
试结合自己的专业领域,为MATLAB设计一个工具箱。
例如一个桥梁专家为MATLAB设计一个桥梁工具箱。
答:
目前MATLAB不仅仅是一个“矩阵实验室”了,它已成为一种广泛应用于工程计算及数值分析领域的新型高级语言。
MATLAB的功能强大、简单易学、编程效率高,因而深受广大科技工作者的欢迎,在欧美各高等院校,MATLAB已成为线性代数、自动控制理论、数字信号理论、时间序列分析、动态系统仿真、图像处理等课程的基本教学工具;成为理工科本科生、硕士生以及博士生必须掌握的基本编程语言。
在科研和工业生产领域,MATLAB已被广泛用于研究和解决各种具体的工程问题,近年来MATLAB在我国也开始流行,应用MATLAB的单位和个人急剧增加。
可以预见MATLAB将在我国科学研究和工程应用中发挥越来越大的作用。
3.当正常安装好MATLAB后,误把Window95子目录删除。
是否重新再安装MATLAB?
答:
是应重新安装MATLAB。
4.试将MATLAB系统的用户界面、操作方式与其他Windows95应用程序做一对比,有哪些共同规律?
答:
MATLAB系统的用户界面使可视化的,是以编写程序的,并且操作方式是界面化,可以用菜单操作。
5.先建立自己的工作目录,在分别用psth命令和路径浏览器将自己的工作目录设置到MATLAB搜索路径下。
用HELP命令查询到自己的工作目录吗?
答:
可以查询出自己新建的工作目录使用PASH命令可以把用户目录临时纳入MATLAB系统统一管理;用路径浏览器设置搜索,MATLAB路径浏览器可用来设置当前目录和永久性改变搜索路径,第一路径浏览器启动,第二 路径浏览器操作。
6.查看MATLAB的目录结构,并检查自己的机器上安装了那些工具箱?
答:
功能性工具箱、控制系统工具箱、信号处理工具箱、神经网络工具箱、最优化工具箱金融工具箱、统计学工具箱。
7.利用MATLAB的帮助功能分别查询INV函数、PLOT函数以及MATLAB操作系统命令的功能及用法?
答:
inv函数使用来求矩阵逆的函数,A矩阵必须是一个方阵,inv(A)
plot是一个绘图函数用于画一维的图形
8.Root函数可以用于求多项式的根,先用HELP命令查看该函数的用法,然后利用该函数求
的全部根。
答:
次方程的系数矩阵为:
A=[1709-20]
roots(A)
ans=-7.2254e+000
-4.2861e-001+1.5405e+000i
-4.2861e-001-1.5405e+000i
1.0826e+000
该方程的的根有四个。
MATLAB数据及其运算
1、如何理解“矩阵是MATLAB最基本的数据对象”?
答:
MATLAB是由早期专门用于矩阵运算的软件发展而来,MATLAB的大部分运算或命令都是在矩阵运算意义下执行的,而且这种运算定义在复数域上,正因为如此,MATLAB的矩阵运算功能非常丰富,体现出比其他高级语言高的多的编程效率。
许多含有矩阵运算的复杂计算问题,在MATLAB中很容易解决,因为向量可以看作是仅有一行或一列的矩阵,单个元素可以看作是仅含有一个元素的矩阵,故向量和单个数据可以看作特殊矩阵来处理。
2、设A和B是两个同维同大小的矩阵,问:
(1)、A*B和A.*B的值是否相等?
答:
如果A、B是同维的一维矩阵,那么A*B和A.*B的值相等,但是除了一维矩阵,其他的不相等。
(2)、A./B和B.\A的值是否相等?
答:
相等。
(3)、A/B和B\A的相等吗?
答:
相等。
(4)、A/B和B\A所代表的数学含义是什么?
答:
A/B代表的是A除以B,B\A代表的是A除以B。
3、写出完成下列操作的命令。
(1)、建立三阶单位矩阵A
答:
A=ones(3)
A=
111
111
111
(2)、建立5*6随机矩阵A,其元素为[100,200]范围内的随机数。
答:
A=rand(5,6)*101+100
A=
1.1283e+0021.5524e+0021.9667e+0021.9249e+0021.8576e+0021.3961e+002
1.9225e+0021.9671e+0021.4902e+0021.8001e+0021.9433e+0021.6620e+002
1.6387e+0021.9745e+0021.8083e+0021.9691e+0021.6855e+0021.1729e+002
1.0985e+0021.1592e+0021.1433e+0021.6623e+0021.7653e+0021.7131e+002
1.2813e+0021.9803e+0021.4260e+0021.0361e+0021.7506e+0021.0322e+002
(3)、将矩阵A第2-5行中第1,3,5列元素赋给矩阵B
答:
B=(A(2:
5,[135]))
B=
1.9225e+0021.4902e+0021.9433e+002
1.6387e+0021.8083e+0021.6855e+002
1.0985e+0021.1433e+0021.7653e+002
1.2813e+0021.4260e+0021.7506e+002
(4)、删除矩阵A的第七号元素
答:
A(7)=[]
A=
Columns1through6
1.9148e+0021.1283e+0021.9225e+0021.6387e+0021.0985e+0021.2813e+002
Columns7through12
1.9671e+0021.9745e+0021.1592e+0021.9803e+0021.9667e+0021.4902e+002
Columns13through18
1.8083e+0021.1433e+0021.4260e+0021.9249e+0021.8001e+0021.9691e+002
Columns19through24
1.6623e+0021.0361e+0021.8576e+0021.9433e+0021.6855e+0021.7653e+002
Columns25through29
1.7506e+0021.3961e+0021.6620e+0021.1729e+0021.7131e+002
(5)、将矩阵A的每个元素值加30
答:
A+30
ans=
1.3322e+0022.0018e+0021.6854e+0021.7500e+0021.9865e+0022.2693e+002
1.5797e+0021.6203e+0022.0732e+0021.9528e+0021.9616e+0021.6438e+002
1.3466e+0022.2597e+0022.1032e+0022.0165e+0021.4642e+0021.8911e+002
1.3981e+0021.3348e+0021.4887e+0022.0622e+0021.4202e+0021.5261e+002
2.1317e+0021.7431e+0021.7947e+0021.5788e+0021.8033e+0022.0588e+002
(6)、求矩阵A的大小和维数
答:
size(A)
ans=
56
(7)、将向量I的0元素用机器0来代替
(8)、将含有12个元素的向量X转换成3*4矩阵
答:
X=[123456789101112];
[X(1,1:
4);X(1,5:
8);X(1,9:
12)]
ans=
1234
5678
9101112
(9)、求一个字符串的ASCII码
答:
abs('a')
ans=
97
(10)、求一个ASCII码所对应的字符
答:
char(112)
ans=
p
4、当X=[-5,7,15,3],y=[3,-4,5,0]时,是分析rem(X,y)和mod(X,y)的执行结果。
答:
X=[-57153];
y=[3-450];
rem(X,y)
ans=
-230NaN
mod(X,y)
ans=
1-103
5、下列命令执行后L1,L2,L3,L4的值分别是多少?
A=1:
9;B=10-A
L1=A==B;
L2=A〈=5;
L3=A〉3&A〈7;
L4=find(A>3&A<7);
答:
A=1:
9;
B=10-A;
L1=A==B
L1=
000010000
L2=A<=5
L2=
111110000
L3=A>3&A<7
L3=
000111000
L4=find(A>3&A<7)
L4=
456
6、当A=[34NANINF—INF–PIeps0]时,分析下列函数的执行结果:
all(A),any(A),isnan(A),isinf(A),isfinite(A).
答:
A=[34NaNinf-inf-pieps0];
>>all(A)
ans=
0
>>any(A)
ans=
1
>>isnan(A)
ans=
0100000
>>isinf(A)
ans=
0011000
>>isfinite(A)
ans=
1000111
7、用结构矩阵存储5名学生的基本情况数据,每名学生的数据包括学号、姓名、专业、和6门课程的成绩。
答:
b={1,'wang','huaxue',[786789769789];2,'zhang','shuxue',[566792769789];3,'ren','wili',[786789769789];4,'chen','yuwen',[786789769789];5,'shengwu','sheng',[786789769789];6,'liu','yingyu',[786789769789]}
b=
[1]'wang''huaxue'[1x6double]
[2]'zhang''shuxue'[1x6double]
[3]'ren''wili'[1x6double]
[4]'chen''yuwen'[1x6double]
[5]'shengwu''sheng'[1x6double]
[6]'liu''yingyu'[1x6double]
8、建立单元矩阵B并回答有关问题。
B|1,1|=1
B|1,2|=Brenden
B|2,1|=reshape(1:
9,3,3)
B|2,2|={12342;54213;42367};
(1)size(B)和Ndims(B)的值分别是多少
(2)B
(2)和B(4)的值分别是多少
(3)B(3)=[]和B|3|=[]执行后分别是多少
答:
(1)B=
[1]'Brenden'
[3x3double]{3x3cell}
>>size(B)
ans=22
>>ndims(B)
ans=2
(2)B
(2)
ans=[3x3double]
B(4)
ans={3x3cell}
(3)B(3)=[]
B=[1][3x3double]{3x3cell}
B=[1][3x3double][]
MATLAB矩阵分析与处理
1、完成下列操作的命令。
(1)、建立三阶单位矩阵A
答:
A=eye(3)
A=
100
010
001
(2)、建立5*6随机矩阵A,其元素为[100,200]范围内的随机整数
答:
A=100+fix(101*rand(5,6))
A=
175196184135135128
125155125119183176
151114182125159176
170115124162155138
189126193147192157
(3)、产生均值为1,方差为0.2的500个正态分布的随机数
答:
1+0.2.*randn(500)
(4)、产生和A同样大的单位矩阵
答:
eye(size(A))
ans=
100000
010000
001000
000100
000010
(5)、将矩阵A的对角线的元素加30
答:
diag(A)+30
ans=
145
199
191
162
204
(6)、从矩阵A提取住对角线元素,并以这些元素构成对角元素A
答:
B=diag([diag(A)])
B=
1150000
0169000
0016100
0001320
0000174
2、使用函数实现方阵左旋90或右旋90的功能。
答:
A=[14710;25811;36912];
>>rot90(A)
ans=
101112
789
456
123
>>rot90(A,-1)
ans=
321
654
987
121110
3、建立一个方阵A,求方阵A的逆矩阵和A的行列式值,并验证A与A-1是互逆的
答:
A=[123;456;789];
>>inv(A)
Warning:
Matrixisclosetosingularorbadlyscaled.
Resultsmaybeinaccurate.RCOND=1.541976e-018.
ans=
-4.5036e+0159.0072e+015-4.5036e+015
9.0072e+015-1.8014e+0169.0072e+015
-4.5036e+0159.0072e+015-4.5036e+015
>>det(A)
ans=
6.6613e-016
4、求下列方程组的解
解:
A=[42-1;3-12;1230];
>>B=[2;10;8];
>>inv(A)*B
ans=
-6.0000e+000
2.6667e+001
2.7333e+001
5、求下列矩阵的住对角线元素、上三角阵、下三角阵、秩、范数、条件数和迹
(1)
(2)
答:
A=[1-123;51-42;3052;111509];
>>B=[0.43432;-8.9421];
>>diag(A)
ans=
1
1
5
9
>>diag(B)
ans=
4.3000e-001
4.0000e+000
>>triu(A)
ans=
1-123
01-42
0052
0009
>>tril(A)
ans=
1000
5100
3050
111509
>>triu(B)
ans=
4.3000e-0014.3000e+0012.0000e+000
04.0000e+0002.1000e+001
>>tril(B)
ans=
4.3000e-00100
-8.9000e+0004.0000e+0000
6、求矩阵A的特征值和相应的特征向量
答:
A=[110.5;110.25;0.50.252];
>>[V,D]=eig(A)
V=
7.2121e-0014.4428e-0015.3148e-001
-6.8635e-0015.6211e-0014.6147e-001
-9.3728e-002-6.9760e-0017.1033e-001
D=
-1.6647e-00200
01.4801e+0000
102.5365e+000
MATLAB程序设计
1、从键盘中输入四个整数,按下列的规则加密后输出。
加密规则:
每位数字都加上7,然后用和除以10的余数取代该数字;再把第一个数字与第三位数字交换,第二个数字和第三个数字交换。
解:
symsts
a=input('请输入a=')
b=input('请输入b=')
c=input('请输入c=')
d=input('请输入d=')
a=a+7;b=b+7;c=c+7;d=d+7;
t=a;a=c;c=t;
s=b;b=d;d=s;
abcd
a=12
请输入b=45
b=45
请输入c=23
c=23
请输入d=87
d=87
a=30
b=94
c=19
d=52
2、分别用IF语句和switch语句实现以下计算,其中a,b,c的值从键盘输入。
解:
a=input('请输入a=');
b=input('请输入b=');
c=input('请输入c=');
x=input('请输入x的值')
if0.5<=x<1.5
y=a*x^2+b*x+c;
elseif1.5<=x<3.5
y=a*(sin(b))^c+x
elseif3.5<=x<5.5
ln(abs(b+c/x))
end
y
3、产生二十个两位随机整数输出小于平均值的偶数。
解:
A=10+fix(89*rand(1,20));
s=sum(A)
pingjunzhi=s/20
fori=1:
20
ifA(i)A(i)
end
end
4、输出20个两位随机整数求其中的最大值和最小值。
要求分别用循环结构和调用MATLAB的MAX函数、min的函数来实现。
答:
A=1+fix(100*rand(1,20))
fori=2:
20
ifA(i)>A
(1)
A
(1)=A(i);
end
end
A
(1)
fori=2:
20
ifA(i)(1)
A
(1)=A(i);
end
end
A
(1)
5、已知s=1+2+22+23++263,用循环结构和MATLAB的sum函数求S
答:
s=0;
fori=1:
64
a=2^(i-1);
s=s+a;
end
s
解得:
s=
1.8447e+019
6、当n分别取100,1000,10000时求下列各式的值
(1)
(2)
(3)
(4)
答:
(1)n=input('请输入n=')
fori=1:
n
a=(-1)^(i+1)*(1/i);
s=s+a;
end
s
(2)s=0;
fori=1:
n
a=(-1)^(i+1)*(1/(2*i-1));
s=s+a;
end
s
(3)n=input('请输入n=')
s=0;
fori=1:
n
a=1/(4^i);
s=s+a;
end
s
(4)n=input('请输入n=')
s=1;
fori=1:
n
a=((2*i)*(2*i))/((2*i-1)*(2*i+1));
s=s*a;
end
s
要求分别用循环语句和向量运算来实现。
7、编写一个函数文件,求小于任意自然数n的肥波纳妾数列各项,此函数定义如下
答:
functionf=fun(n)
ifn==1
f=1;
elseifn==2
f=1;
elseifn>2
f=fun(n-1)+fun(n-2);
end
9、编写一个函数文件,用于求两个矩阵的乘积和点乘然后再命令文件中调用该函数。
答:
functionfun=jucheng(A,B)
fun=A*B;
end
functionfuns=diancheng(A,B)
funs=A.*B
end
10、写出下列函数的输出结果
(1)s=0;
a=[121314;151617;181920;212223];
fork=a
forj=1:
4
ifrem(k(j),2)~=0
s=s+k(j);
end
end
end
s
解:
s=108
(2)函数文件:
functionfun=sub(z)
globalx
z=3*x;
x=x+z
命令文件:
globalx
x=1:
2:
5;y=2:
2;6;
sub(y);
x
y
解:
x=
41220
y=2
MATLAB绘图
1、绘制下列曲线
解:
(1)x=-1:
0.01:
1;
y=100./(1+x.^2);
plot(x,y)
(2)x=-1:
0.01:
1;
y=exp(-x.^2/2)/2*pi;
plot(x,y)
(3)、t=0:
0.01:
2*pi;
x=sin(t);
y=cos(t);
plot(x,y)
(4)、t=-1:
0.01:
1;
x=t.^2;
y=5*t.^3;
plot(x,y)
2、绘制下列及坐标图
解:
(1)x=0:
0.01:
2*pi;
y=5*cos(x)+4;
polar(x,y)
(2)x=1:
0.01:
2*pi;
y=12./(x.^(1/2));
polar(x,y)
(3)x=0:
0.01:
2*pi;
y=5./cos(x)-7;
polar(x,y)
(4)x=0:
0.01:
2*pi;
y=pi/3.*x.^2;
polar(x,y)
3、绘制下列三维图形
(4)半径为10的球面
解:
(1)、t=0:
0.01:
2*pi;
x=cos(t);
y=sin(t);
z=t;
plot3(x,y,z)
(2)、u=0:
0.01:
2*pi;
v=0:
0.01:
2*pi;
x=(1+cos(u)).*cos(v);
y=(1+cos(u)).*sin(v);
z=sin(u);
plot3(x,y,z)
(3)、x=-10:
0.01:
10;
y=-10:
0.01:
10;
A=meshgrid(x,y);
z=5.*ones(size(A))