2022年MATLAB习题答案.pdf

上传人:C****o 文档编号:12865333 上传时间:2022-04-26 格式:PDF 页数:9 大小:89.70KB
返回 下载 相关 举报
2022年MATLAB习题答案.pdf_第1页
第1页 / 共9页
2022年MATLAB习题答案.pdf_第2页
第2页 / 共9页
点击查看更多>>
资源描述

《2022年MATLAB习题答案.pdf》由会员分享,可在线阅读,更多相关《2022年MATLAB习题答案.pdf(9页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、MATLAB 习题答案习题二1.如何理解“矩阵就是MATLAB最基本的数据对象”?答:因为向量可以瞧成就是仅有一行或一列的矩阵,单个数据 (标量 )可以瞧成就是仅含一个元素的矩阵,故向量与单个数据都可以作为矩阵的特例来处理。因此 ,矩阵就是MA TLAB最基本、最重要的数据对象。2.设 A 与 B 就是两个同维同大小的矩阵,问 : (1)A*B 与 A、 *B 的值就是否相等?答:不相等。(2)A、 /B 与 B、 A 的值就是否相等?答:相等。(3)A/B 与 BA 的值就是否相等?答:不相等。(4)A/B 与 BA 所代表的数学含义就是什么?答:A/B 等效于 A 的逆左乘B 矩阵 ,即

2、inv(A)*B,而 B/A 等效于A 矩阵的逆右乘B 矩阵 ,即 B*inv(A)。3.写出完成下列操作的命令。(1)将矩阵 A 第 25 行中第 1, 3, 5 列元素赋给矩阵B。答:B=A(2:5,1:2:5); (2)删除矩阵A 的第 7 号元素。答:A(7)= (3)将矩阵 A 的每个元素值加30。答:A=A+30; (4)求矩阵 A 的大小与维数。答:size(A); ndims(A); (5)将向量t 的 0 元素用机器零来代替。答:t(find(t=0)=eps; (6)将含有 12 个元素的向量x 转换成3 4矩阵。答:reshape(x,3,4); (7)求一个字符串的AS

3、CII 码。答:abs( 123 ); 或 double( 123 ); (8)求一个 ASCII 码所对应的字符。答:char(49); 4.下列命令执行后,L1 、 L2 、 L3、 L4 的值分别就是多少?A=1:9;B=10-A;、 、 、L1=A=B; L2=A3&A3&A7); 答:L1 的值为 (0, 0, 0, 0, 1, 0, 0, 0, 0)L2 的值为 (1, 1, 1, 1, 1, 0, 0, 0, 0) L3 的值为 (0, 0, 0, 1, 1, 1, 0, 0, 0) L4 的值为 (4, 5, 6) 5.已知精品资料 - - - 欢迎下载 - - - - - -

4、 - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 1 页,共 9 页 - - - - - - - - - - MATLAB 习题答案23100.7780414565532503269.54543.14A完成下列操作: (1)取出 A 的前 3 行构成矩阵B,前两列构成矩阵C,右下角3 2子矩阵构成矩阵D,B 与 C 的乘积构成矩阵E。答:B=A(1:3,:); C=A(:,1:2); D=A(2:4,3:4); E=B*C; (2)分别求 E=10&A25)。答:E=10&A=0 、5 & x=1 、5 & x=3 、5 & x5 、5 y=log(abs(b

5、+c/x); end disp(y=,num2str(y); (2) 用 switch 语句实现计算: a=input( 请输入 a 的值 :); b=input( 请输入 b 的值 :); c=input( 请输入 c 的值 :); x=input( 请输入 x 的值 :); switch fix(x/0 、5) case 1,2 y=a*x2+b*x+c; case num2cell(3:6) y=a*(sin(b)c)+x; case num2cell(7:10) y=log(abs(b+c/x); end disp(y=,num2str(y); 3.产生 20 个两位随机整数,输出其中

6、小于平均值的偶数。答: A=fix(10+89*rand(1,20); sum=0; for i=1:20 sum=sum+A(i); end B=A(find(A v_max v_max=x; end; if x v_min v_min=x; end; end disp(最大数为 :, num2str(v_max); disp(最小数为 :, num2str(v_min); (2)用 max 函数、 min 函数实现 : for i=1:5 A(i)=input( 请输入第 , num2str(i), 数 :); end disp(最大数为 :, num2str(max(A); disp(最

7、小数为 :, num2str(min(A); 5.已知 :236312222sL,分别用循环结构与调用MATLAB的 sum 函数求 s 的值。答: (1) 用循环结构实现: s=0; for i=0:63 s=s+2i; end s (2) 调用 sum 函数实现 : s=0:63; s=2、s; sum(s) 6.当 n 分别取 100、 1000、10000 时 ,求下列各式的值。(1) 111111( 1)(ln 2)234nnLL(2) 1111()3574L(3) 11111()4166443nLL精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载

8、 名师归纳 - - - - - - - - - -第 6 页,共 9 页 - - - - - - - - - - MATLAB 习题答案(4) 224466(2 )(2 )1 33 55 7(21) (21)2nnnnLL要求分别用循环结构与向量运算( 使用 sum 或 prod 函数 ) 来实现。答: (1) 用循环结构实现: sum=0; for k=1:100 sum=sum+(-1)(k+1)/k; end sum 使用 sum 函数 : x=; for k=1:10000 x=x, (-1)(k+1)/k; end sum(x) (2) 用循环结构实现: sum=0; for k=1

9、:100 sum=sum+(-1)(k+1)/(2*k-1); end sum 使用 sum 函数 : x=; for k=1:100 x=x, (-1)(k+1)/(2*k-1); end sum(x) (3) 用循环结构实现: sum=0; for k=1:100 sum=sum+1/(4k); end sum 使用 sum 函数实现 : x=; for k=1:100 x=x, 1/(4k); end sum(x) (4) 用循环结构实现: t=1; for k=1:100 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - -

10、 - - - - -第 7 页,共 9 页 - - - - - - - - - - MATLAB 习题答案t=t*(2*k)*(2*k)/(2*k-1)*(2*k+1); end t 使用 prod 函数实现 : x=; for k=1:100 x=x, (2*k)*(2*k)/(2*k-1)*(2*k+1); end prod(x) 7、 编写一个函数文件,求小于任意自然数n 的斐波那契(Fibnacci) 数列各项。斐波那契数列定义如下: 12121,11,2,2nnnfnfnfffn答: function x=fibnacci(n) for i=1:n if i=2 x(i)=1; el

11、se x(i)=x(i-1)+x(i-2); end end 8.编写一个函数文件,用于求两个矩阵的乘积与点乘,然后在命令文件中调用该函数。答: 函数文件myfnc 、 m: function x, y= myfnc(A, B) try x=A*B; catch x=; end y=A 、 *B; 命令文件myexe、 m: A=input( 请输入矩阵A:);B=input( 请输入矩阵B:); x, y=myfnc(A, B); if length(x)=0 display( 两矩阵的维数不匹配,无法进行乘积运算!); else disp(矩阵 A 与矩阵 B 的乘积为 :); x end

12、 disp(矩阵 A 与矩阵 B 的点乘为 :); 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 8 页,共 9 页 - - - - - - - - - - MATLAB 习题答案y 9.先用函数的递归调用定义一个函数文件求1nmii,然后调用该函数文件求100501021111kkkkkk。答: 函数文件myfnc 、 m: function sum=myfnc(n, m) if n=1 sum=1; else sum= myfnc (n-1, m)+nm; end 在命令窗口中调用myfnc 、 m

13、 文件 ,计算100501021111kkkkkk: sum=myfnc(100, 1)+ myfnc(50, 2)+myfnc(10,-1) 10.写出下列程序的输出结果。s=0; a=12,13,14;15,16,17;18,19,20;21,22,23; for k=a for j=1:4 if rem(k(j),2)=0 s=s+k(j); end end end s 答:执行结果为s=108 命令文件exe、 m 执行后的结果为: x = 4 12 20 y= 2 4 6 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 9 页,共 9 页 - - - - - - - - - -

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

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

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁