第一章
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.5b=5c=-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。(3A/BB\A
4[A,B][A([1,3],:);B^2]
输入矩阵ABA=[-1 5 -4;0 7 8;3 61 7];>> B=[8 3 -1;2 5 3;-3 2 0];
分别输入A+6*BA^2-B+eye(size(A))A*BA.*BB*AA/B B\A[A,B][A([1,3],:);B^2] 这些表达式,回车求值。
3.已知。(1)输出A[1025]范围内的全部元素
(2)取出A3行构成矩阵B,前两列构成矩阵C,右下角3*2子矩阵构成矩阵DBC的乘积构成矩阵E。(3)分别求表达式E<DE&DE|D~E|~D的值。
输入矩阵AA=[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)
BC的乘机构成矩阵E>> E=B*C
分别输入式E<DE&DE|D~E|~Dfind(A>=0&A<25)回车求值:
4.产生5阶希尔伯特矩阵H5阶帕斯卡矩阵P,且求其行列式的值HhHp以及它们的条件数ThTp,判断哪个矩阵性能更好,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)将向量t0元素用机器零来代替。(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,方差为1500个正态分布的随即序列,写出相应的表达式。
3+randn(25,20)
8.求下列矩阵的主对角元素、上三角矩阵、下三角矩阵、逆矩阵、行列式的值、秩、范数、条件数、迹。(12
输入矩阵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.输入一个百分制成绩,要求输出成绩等级ABCDE。其中90~100分为A80~89分为B70~79分为C60~69分为D60分一下为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分别取100100010000时,求下列各式的值:
(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小时内删除。