第一章
1.利用MATLAB的帮助功能分别查询inv、plot、max、round等函数的功能及用法。
Help+函数
2.简述MATLAB的主要功能。
①数值计算和符号计算功能。②绘图功能。③编程语言功能。④扩展功能。
3.help命令和lookfor命令有何区别?
Help命令只搜索出那些与关键字完全匹配的结果,lookfor命令对搜索范围内的M文件进行关键字搜索,条件比较宽松。Lookfor命令只对M文件的第一行进行关键字搜索。若在lookfor命令后加上-all选项,则可对M文件进行全文搜索。
第二章1
(1)
switch函数用法举例
w=sqrt(2)*(1+0.34245*10^(-6)) w = 1.4142
(2),其中a=3.5,b=5,c=-9.8。
a=3.5;b=5;c=-9.8;x=(2*pi*a+(b+c)/(pi+a*b*c)-exp(2))/(tan(b+c)+a) x =0.9829
(3),其中α=3.32,β=-7.9。
a=3.32;b=-7.9;y=2*pi*a^2*((1-pi/4)*b-(0.8333-pi/4)*a) y = -128.4271
(4),其中t=。
t=[2,1-3i;5,-0.65];z=0.5*exp(2*t)*log(t+sqrt(1+t.*t)) z = 1.0e+004 *
0.0048 + 0.0002i 0.0048 - 0.0034i
1.5899 2.0090 - 1.3580i
2.已知求下列表达式的值。
(1)和。(2)、和。(3)A/B及B\A。
(4)[A,B]和[A([1,3],:);B^2]。
输入矩阵A和B:A=[-1 5 -4;0 7 8;3 61 7];>> B=[8 3 -1;2 5 3;-3 2 0];
分别输入A+6*B,A^2-B+eye(size(A)),A*B,A.*B,B*A,A/B ,B\A,[A,B],[A([1,3],:);B^2] 这些表达式,回车求值。
3.已知。(1)输出A在[10,25]范围内的全部元素。
(2)取出A前3行构成矩阵B,前两列构成矩阵C,右下角3*2子矩阵构成矩阵D,B与C的乘积构成矩阵E。(3)分别求表达式E<D、E&D、E|D和~E|~D的值。
输入矩阵A:A=[23 10 -0.778 0;41 -45 65 5;32 5 0 32;6 -9.54 54 3.14];
取出矩阵A的前3行构成矩阵B:>> B=A(1:3,:)
取出矩阵A的前2列构成矩阵C:>> C=A(:,1:2)
矩阵A的右下角3x2子矩阵构成矩阵D:>> D=A(2:4,3:4)
B与C的乘机构成矩阵E:>> E=B*C
分别输入式E<D,E&D,E|D,~E|~D,find(A>=0&A<25)回车求值:
4.产生5阶希尔伯特矩阵H和5阶帕斯卡矩阵P,且求其行列式的值Hh和Hp以及它们的条件数Th和Tp,判断哪个矩阵性能更好,why?
H=hilb(5); P=pascal(5); Hh=det(H) Hh = 3.7493e-012
Hp=det(P) Hp = 1
Th=cond(H) Th = 4.7661e+005
Tp=cond(P) Tp = 8.5175e+003
条件数越趋近于1,矩阵的性能越好,所以帕斯卡矩阵性能更好。
5.已知:求A的特征值及特征向量,并分析其数学意义。
A=[-29,6,18;20,5,12;-8,8,5]
A =
-29 6 18
20 5 12
-8 8 5
[V,D]=eig(A)
V =
0.7130 0.2803 0.2733
-0.6084 -0.7867 0.8725
0.3487 0.5501 0.4050
D =
-25.3169 0 0
0 -10.5182 0
0 0 16.8351
V为A的特征向量,D为A的特征值。它们之间满足A*V=V*D
6.写出完成下列操作的命令。(1)删除矩阵A的第7号元素。(2)将向量t的0元素用机器零来代替。(3)将含有12个元素的向量x转换成3*4的矩阵。(4)求一个字符串的ASCII。(5)产生和A同样大小的幺矩阵。(6)从矩阵A提取主对角线元素,并以这些元素构成对角阵B。
(1) A(7)=[](2) abs(x)(3) reshape(x,3,4)(4) k=find(t==0); t(k)=0(5) ones(size(A))(6) diag(A)
B= diag(diag(A))
7.要产生均值为3,方差为1的500个正态分布的随即序列,写出相应的表达式。
3+randn(25,20)
8.求下列矩阵的主对角元素、上三角矩阵、下三角矩阵、逆矩阵、行列式的值、秩、范数、条件数、迹。(1)(2)
输入矩阵A和B:A=[1 -1 2 3;5 1 -4 2;3 0 5 2;11 15 0 9];>> B=[0.43 43 2;-8.9 4 21];
求矩阵A的主对角元素:>> diag(A) 求矩阵B的主对角元素:>> diag(B)
求矩阵A的上三角阵:>> triu(A) 求矩阵B的上三角阵:>> triu(B)
求矩阵A的下三角阵:>> tril(A) 求矩阵B的下三角阵:>> tril(B)
求矩阵A的逆矩阵:>> inv(A) 求矩阵B的伪逆矩阵:>> pinv(B)
求矩阵A的行列式的值:>> det(A)
因为B不是方阵,无法求它的行列式的值。
求矩阵A的秩:>> rank(A) 求矩阵B的秩:>> rank(B)
求矩阵A的迹:>> trace(A) 求矩阵B的迹:>> trace(B)
三种方式求矩阵A的范数:>> norm(A) >> norm(A,1) >> norm(A,inf)
三种方式求矩阵B的范数:>> norm(B,inf) >> norm(B,1) >> norm(B)
三种方式求矩阵A的条件数:>> cond(A,1) >> cond(A) >> cond(A,2) >> cond(A,inf)
三种方式求矩阵B的条件(但有两种错误无法求出):
>> cond(B,inf)
??? Error using ==> cond
A is rectangular. Use the 2 norm.
>> cond(B) >> cond(B,1)
??? Error using ==> cond
A is rectangular. Use the 2 norm.
>> cond(B,2)
9.在MATLAB中如何建立结构矩阵和单元矩阵?
结构矩阵建立P46结构矩阵名.成员名=表达式 单元矩阵建立P47矩阵元素用大括号括起来。
第三章
1.从键盘输入一个3位整数,将它反向输出。如输入639,输出为936.
n=input('请输入一个三位数:'); a=fix(n/100); b=fix((n-a*100)/10); c=n-a*100-b*10; d=c*100+b*10+a
2.输入一个百分制成绩,要求输出成绩等级A、B、C、D、E。其中90~100分为A,80~89分为B,70~79分为C,60~69分为D,60分一下为E。要求:(1)分别用if语句和switch语句实现。(2)输入百分制成绩后要判断该成绩的合理性,对不合理的成绩应输出出错信息。
(1)n=input('请输入成绩');
switch n
case num2cell(90:100)
p='A';
case num2cell(80:89)
p='B';
case num2cell(70:79)
p='C';
case num2cell(60:69)
p='D';
otherwise
p='E';
end
price=p
(2)n=input('请输入成绩');
if n>=90&n<=100
p='A';
elseif n>=80&n<=89
p='B';
elseif n>=70&n<=79
p='C';
elseif n>=60&n<=69
p='D';
else
p='E';
end
price=p
(3)try
n;
catch
price='erroe'
End
m=input('请输入一个百分制的成绩: ');
if m>=0&m<=100
switch fix(m/10)
case {9,10}
disp('这个成绩所属的成绩等级:A');
case {8}
disp('这个成绩所属的成绩等级:B');
case {7}
disp('这个成绩所属的成绩等级:C');
case {6}
disp('这个成绩所属的成绩等级:D');
otherwise
disp('这个成绩所属的成绩等级:E');
end
else
disp('错误:输入的成绩不合理');
End
3.当n分别取100、1000、10000时,求下列各式的值:
(1)
(1)A=0; n=100 for i=1:n A=1/n/n+A; end
(2)
(2)A=1; n=10000; for i=1:n A=(2*n*n*2)/((2*n-1)*(2*n+1))*A; end
4.已知(1)当时,y的值是多少?
(2)当时,要的值是多少?
f1.m代码如下:
function m=f1(n)
m=n+10*log(n^2+5);
f2.m 代码如下:
function m=f2(n)
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论