Matlab 课后习题集 下载本文

1、在一个MATLAB命令中,6+7i和6+7*i有何区别?i和I有何区别? 第一个i代表一个变量,6+7i是一个函数;第二个代表虚数,6是实部,7是虚部.I只代表变量。

2、设A和B是两个同大小的矩阵,试分析A*B和A.*B、A./B和B.\\A、A/B和B/A的 区别?如果A和B是两个标量数据,结论又如何? A *B是矩阵相乘,

A.*B表示A和B单个元素之间对应相乘。 A./B和B.\\A值相等,是一样的。

A/B等效于B的逆右乘A的矩阵,B\\A等效于B矩阵逆左乘A矩阵。 如果A和B是两个标量数据,结论是都没有区别。 3、写出完成下列操作的命令。

(1)删除矩阵A的第7号元素 A(7)=[]

(2)将向量t的0元素用机器零来代替 t(find(t==0))=eps

(3)将含有12个元素的向量x转换成3*4矩阵 newA=reshape(A,3,4) (4)求一个字符串的ASCII ch=['a b c';'1 2 3']; abs ch

(5)产生和A同样大小的幺矩阵 ones(size(A))

(6)从矩阵A提取主对角线元素,并以这些元素构成对角阵B A=[1 2 3;4 5 6;7 8 9]; D=diag(A) B=diag([1,5,9])

4、要生产均值为3,方差为1的500个正态分布的随机序列,写出相应的表达式

y=3+sqrt(1)*randn(500) 5、(1)主对角元素 1 1 5 9 上三角矩阵 1 -1 2 3 0 1 -4 2 0 0 5 2 0 0 0 9

下三角矩阵 1 0 0 0

页 16

5 1 0 0 3 0 5 0 11 15 0 9

逆矩阵 -0.1758 0.1641 0.2016 -0.0227 -0.1055 -0.1016 -0.0391 0.0664 -0.0508 -0.0859 0.1516 0.0023 0.3906 -0.0313 -0.1813 0.0281 行列式的值 1280 秩 4

范数 A1=norm(A,1)=20 A2=norm(A)=21.3005 A3=norm(A,inf)=35

条件数 A1=cond(A,1)=14.4531 A2=cond(A,2)=11.1739 A3=cond(A,inf)=22.0938 迹 16

(2) 主对角元素 0.43 4

上三角矩阵 0.4300 43.0000 2.0000 0 4.0000 21.0000 下三角矩阵 0.4300 0 0 -8.9000 4.0000 0 逆矩阵 0.0022 -0.0175 0.0234 -0.0017 -0.0508 -0.0859 行列式的值 秩 2

范数 B1=norm(B,1)=47 B2=norm(B)=43.4271 B3=norm(B,inf)=45.4300 条件数 B2=cond(B,2)=1.9354 迹 4.4300 6、all(A)=0 Any(A)=1

isnan(A)=0 1 0 0 0 0 0 isinf(A)=0 0 1 1 0 0 0 isfinite(A)=1 0 0 0 1 1 1 7、结构矩阵建立

结构矩阵名.成员名=表达式 单元矩阵建立

17

页 矩阵元素用大括号括起来。

8、用稀疏存储方式可以节省内存空间;运算规则上,稀疏矩阵与普通矩阵一样,只是矩阵的存储方式不同。在运算过程中,稀疏存储矩阵可以直接参与运算。当参与运算的的对象不全是稀疏存储矩阵时,所得结果一般是完全存储形式。

3、程序设计实验

一、实验内容

1、n=input('请输入一个三位数:’); n1=fix(n/100); n2=rem(fix(n/10),10); n3=rem(n,10); m=n3*100+n2*10+n1;

disp(m)

2、(1)if语句

s=input('请输入学生成绩:'); if s>=90&s<=100 disp('A'); break;

18

页else

if s>=80&s<90 disp('B'); break; else

if s>=70&s<80 disp('C'); break; else

if s>=60&s<70 disp('D'); break; else

if s>=0&s<60 disp('E'); break; else

disp('输入成绩错误'); break; end end end

19