实验二MATLAB矩阵及运算

上传人:仙*** 文档编号:33152192 上传时间:2021-10-16 格式:DOC 页数:17 大小:94.50KB
收藏 版权申诉 举报 下载
实验二MATLAB矩阵及运算_第1页
第1页 / 共17页
实验二MATLAB矩阵及运算_第2页
第2页 / 共17页
实验二MATLAB矩阵及运算_第3页
第3页 / 共17页
资源描述:

《实验二MATLAB矩阵及运算》由会员分享,可在线阅读,更多相关《实验二MATLAB矩阵及运算(17页珍藏版)》请在装配图网上搜索。

1、2014秋2012级MATLAB程序设计实验报告 班级:软件C121 姓名:冯杨腾 学号:125692实验二 MATLAB矩阵及运算一、实验目的1、掌握矩阵和数组的表示与赋值方法2、了解字符串、结构和单元等数据类型在MATLAB中的使用 3、掌握MATLAB中基本的数值运算,了解基本统计函数的使用4、掌握多项式基本运算以及线性方程组的求解方法二、实验内容1、利用“:”操作符和linspace函数生成数组a=0,6,12,18,24,30,36,42,并将数组a分别转化为4*2和2*4的矩阵。 linspace(0,42,8)ans = 0 6 12 18 24 30 36 42 0:6:42a

2、ns = 0 6 12 18 24 30 36 42 a=0,6,12,18,24,30,36,42a = 0 6 12 18 24 30 36 42 reshape(a,4,2)ans = 0 24 6 30 12 36 18 42 reshape(a,2,4)ans = 0 12 24 36 6 18 30 422、在MATLAB中输入矩阵,并使用MATLAB回答以下的问题: A=3,6,8,1;-5,7,22,17;6,9,16,-12;15,13,-21,0A = 3 6 8 1 -5 7 22 17 6 9 16 -12 15 13 -21 0(1) 创建一个由A中第2列到第4列所有

3、元素组成的43数组B; A=3,6,8,1;-5,7,22,17;6,9,16,-12;15,13,-21,0A = 3 6 8 1 -5 7 22 17 6 9 16 -12 15 13 -21 0 A(:,2:4)ans = 6 8 1 7 22 17 9 16 -12 13 -21 0(2) 创建一个由A中第3行到第4行所有元素组成的24数组C; A(3:4,:)ans = 6 9 16 -12 15 13 -21 0(3) 创建一个由A中前两行和后三列所有元素组成的23数组D; A(1:2,2:4)ans = 6 8 1 7 22 17(4) 根据A利用单下标方法和双下标方法分别创建向

4、量a=-5 6 15和向量b=6 8 1,并利用向量a和b生成矩阵;单下标: a=A(2,3,4)a = -5 6 15 b=A(5,9,13)b = 6 8 1双下标: a=A(2:4,1)a = -5 6 15 b=A(1,2:4)b = 6 8 1 A=3,6,8,1;-5,7,22,17;6,9,16,-12;15,13,-21,0; a=A(2:4,1);%双下标 b=A(1,2:4);%双下标 c=transpose(b); E=a,cE = -5 6 6 8 15 1 A=3,6,8,1;-5,7,22,17;6,9,16,-12;15,13,-21,0; a=A(2,3,4);

5、%单下标 b=A(5,9,13);%单下标 d=a;b; E=transpose(d)E = -5 6 6 8 15 1(5) 利用“”删除矩阵A的第二行和第三列。 A=3,6,8,1;-5,7,22,17;6,9,16,-12;15,13,-21,0A = 3 6 8 1 -5 7 22 17 6 9 16 -12 15 13 -21 0 A(2,:)=A = 3 6 8 1 6 9 16 -12 15 13 -21 0 A(:,3)=A = 3 6 1 6 9 -12 15 13 03、利用ones()函数和zero()函数生成如下矩阵: a=zeros(5); a(2:4,2:4)=1*

6、ones(3); a(3,3)=3a = 0 0 0 0 0 0 1 1 1 0 0 1 3 1 0 0 1 1 1 0 0 0 0 0 04、生成矩阵:(1) 取出所有大于0的元素构成一个向量a(可推广到从一个矩阵里筛选出符合条件的元素组成一个向量)。 a=reshape(-4:4,3,3)a = -4 -1 2 -3 0 3 -2 1 4 pos=(a0)pos = 0 0 1 0 0 1 0 1 1 a(pos)ans = 1 2 3 4(2) 将原矩阵中大于0的元素正常显示,而小于等于0的元素全部用0来表示(可推广到将原矩阵中不符合条件的全用0来表示,符合条件的值不变)。 pos=(a

7、0)pos = 0 0 1 0 0 1 0 1 1 a.*posans = 0 0 2 0 0 3 0 1 45、已知,下列运算是否合法,为什么?如合法,写出计算结果?(1)result1=a a=1,2,3;4,5,6; b=2,4,-1;1,3,5; c=1;0;-2; d=1,4,7;8,5,2;3,6,0; aans = 1 4 2 5 3 6(2) result2=a*b a*b? Error using = mtimesInner matrix dimensions must agree.(3) result3=a+b a+bans = 3 6 2 5 8 11(4) result

8、4=b*d b*dans = 31 22 22 40 49 13(5) result5=b;c*d b;c*dans = 31 22 22 40 49 13 -5 -8 7(6) result6=a.*b a.*bans = 2 8 -3 4 15 30(7) result7=a./b(8)result8=a.*c(9) result9=a.b a./bans = 0.5000 0.5000 -3.0000 4.0000 1.6667 1.2000(10) result10=a.2 a.2ans = 1 4 9 16 25 36(11) result11=a2 a2? Error using

9、= mpowerInputs must be a scalar and a square matrix.(12) result11=2.a 2.aans = 2 4 8 16 32 646、已知(1) 求a+b,a*b,a.*b,a/b,a./b,a2,a.2的结果,并观察运算结果。 a=1,3,4;5,12,44;7,8,27; b=-7,8,4;12,24,38;68,-5,3; c=1,0,8,3,6,2,-4,23,46,6; a+bans = -6 11 8 17 36 82 75 3 30 a*bans = 301 60 130 3101 108 608 1883 113 413

10、a.*bans = -7 24 16 60 288 1672 476 -40 81 a/bans = 0.0966 0.0945 0.0080 -3.6125 1.5838 -0.5778 -1.9917 0.9414 -0.2682 a./bans = -0.1429 0.3750 1.0000 0.4167 0.5000 1.1579 0.1029 -1.6000 9.0000 a2ans = 44 71 244 373 511 1736 236 333 1109 a.2ans = 1 9 16 25 144 1936 49 64 729(2) 求c中所有元素的平均值、最大值、中值,并将c

11、中元素按从小到大顺序排列。 mean(c)ans = 9.1000 max(c)ans = 46 median(c)ans = 4.5000 sort(c)ans = -4 0 1 2 3 6 6 8 23 46(3) 解释b(2:3,1,3)的含义,并将生成的数组赋值给d。 d=b(2:3,1,3)d = 12 38 68 3关系运算与逻辑运算7、已知a=20,b=-2,c=0,d=1,计算下列表达式:(1) r1=ab(2) r2=ab&cd(3) r3=a=b*(-10)(4) r4=b|c a=20; b=-2; c=0; d=1; r1=abr1 = 1 r2=ab&cdr2 = 0

12、 r3=a=b*(-10)r3 = 1 r4=b|cr4 = 08、已知(1) 求矩阵A的秩(rank);(2) 求矩阵A的行列式(determinant);(3) 求矩阵A的逆(inverse);(4) 求矩阵A的特征值及特征向量(eigenvalue and eigenvector)。 A=7,2,1,-2;9,15,3,-2;-2,-2,11,5;1,3,2,13; rank(A)ans = 4 det(A)ans = 1.2568e+004 inv(A)ans = 0.1744 -0.0303 -0.0125 0.0270 -0.1050 0.0789 -0.0121 0.0006 0

13、.0083 0.0173 0.0911 -0.0311 0.0095 -0.0185 -0.0103 0.0795 c,d=eig(A)c = -0.7629 0.0919 + 0.0640i 0.0919 - 0.0640i -0.0299 0.6223 0.6087 + 0.0276i 0.6087 - 0.0276i 0.2637 0.0807 -0.7474 -0.7474 0.6434 -0.1554 0.0342 - 0.2374i 0.0342 + 0.2374i 0.7180 d = 4.8554 0 0 0 0 12.6460 + 1.8333i 0 0 0 0 12.646

14、0 - 1.8333i 0 0 0 0 15.8526 9、已知多项式f1(x)=2x4-x2+3x+2,f2(x)=3x+2,利用MATLAB进行如下计算:(1) 计算两多项式的乘法和除法;(2) 求多项式f1(x)的根; f1=2,0,-1,3,2; f2=3,2; conv(f1,f2)ans = 6 4 -3 7 12 4 q,r=deconv(f1,f2)q = 0.6667 -0.4444 -0.0370 1.0247r = 0 0 0 0 -0.0494 roots(f1)ans = 0.8214 + 0.9387i 0.8214 - 0.9387i -1.0000 -0.642

15、7 (3) 分别计算多项式当x=3以及时的值。 polyval(f1,3)ans = 164 polyval(f2,3)ans = 11 x=1,3;2,4; polyvalm(f1,x)ans = 396 864 576 1260 polyvalm(f2,x)ans = 5 9 6 1410、用两种方法求下列方程组的解,并比较两种方法执行的时间。 A=7,14,-9,-2,5;3,-15,-13,-6,-4;-11,-9,-2,5,7;5,7,14,16,-2;-2,5,12,-11,-4; b=100;200;300;400;500; x=inv(A)*bx = 370.9455 -224

16、.7276 238.3333 -138.1891 503.6378 x=Abx = 370.9455 -224.7276 238.3333 -138.1891 503.637811、 建立一个元胞数组,要求第一个元素为44的魔术矩阵,第二个元素为18.66,第三个元素为matlab,第四个元素为等差数列7,9,11,1399。计算第一个元胞第4行第2列加上第二个元胞+第三个元胞里的第二个元素+最后一个元胞的第10个元素。 a=magic(4),18.66,matlab,7:2:99; b=a1(4,2)+a2+a3(2)+a4(10)b = 154.660012、建立一个结构体的数组,包括3个

17、人,字段有姓名,年龄,分数,其中分数由随机函数产生一个3行10列的数据表示了有10门课程,每门课程有三个阶段的分数。问题是: student=struct(name,A,B,C,age,17,18,19,score,int16(rand(3,10)*100),int16(rand(3,10)*100),int16(rand(3,10)*100)student=struct(name,A,B,C,age,17,18,19,score,int16(rand(3,10)*100),int16(rand(3,10)*100),int16(rand(3,10)*100)student = 1x3 str

18、uct array with fields: name age score(1) 如何找到第2个人的分数并显示出来; student(2).scoreans = 71 5 69 3 77 49 71 68 12 34 3 10 32 44 80 45 75 66 50 59 28 82 95 38 19 65 28 16 96 22(2) 如何找到第2个人的每门课程3个阶段的平均分数并显示出来; mean(student(2).score)ans = Columns 1 through 9 34.0000 32.3333 65.3333 28.3333 58.6667 53.0000 58.0

19、000 50.0000 52.6667 Column 10 38.3333(3) 所有同学的10门课程的每门课程的平均分如何计算出来?要求放到一个数组里; (4) 找到这个班所有同学的姓名放到一个元胞数组里;13、完成以下操作:(1) 已有str=decision 20 made on 10/20/10,查找字符串中20出现的位置。 str=decision 20 made on 10/20/10; x1=20; findstr(str,x1)ans = 10 24(2) 有字符串s1=matlabexpress,s2=matlabexcellent,比较两个字符串的前8个字符是否相同,相同输出1,否则输出0。 s1=matlabexpress; s2=matlabexcellent; strcmp(s1,s2)ans = 0(3) 统计字符串s1=matlabexpress中ex出现的次数,并替换为EX。 s1=matlabexpress; s3=ex; s4=EX; strrep(s1,s3,s4)ans =matlabEXpress s1=matlabexpress; strfind(s1,ex)ans = 7

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!