matlab课后习题答案.doc_第1页
matlab课后习题答案.doc_第2页
matlab课后习题答案.doc_第3页
matlab课后习题答案.doc_第4页
matlab课后习题答案.doc_第5页
已阅读5页,还剩34页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

习题二 1. 如何理解“矩阵是 MATLAB 最基本的数据对象”? 答:因为向量可以看成是仅有一行或一列的矩阵,单个数据(标量)可以看成是 仅含一个元素的矩阵,故向量和单个数据都可以作为矩阵的特例来处理。 因此,矩阵是 MATLAB 最基本、最重要的数据对象。 2. 设 A 和 B 是两个同维同大小的矩阵,问: (1) A*B 和 A.*B 的值是否相等?答:不相等。 的值是否相等? B.A A./B 和(2)答:相等。 (3) A/B 和 BA 的值是否相等? 答:不相等。 (4) A/B 和 BA 所代表的数学含义是什么? 答: A/B 等效于 B 的逆右乘 A 矩阵,即 A*inv(B) ,而 BA 等效于 B 矩阵的逆左乘 A 矩阵,即 inv(B)*A 。 3. 写出完成下列操作的命令。 (1) 将矩阵 A 第 25 行中第 1, 3, 5 列元素赋给矩阵 B。 答: B=A(2:5,1:2:5); 或 B=A(2:5,1 3 5) (2) 删除矩阵 A 的第 7 号元素。 答: A(7)= (3) 将矩阵 A 的每个元素值加 30。 A=A+30; 答: 的大小和维数。 A (4) 求矩阵答: size(A); ndims(A); (5) 将向量 t 的 0 元素用机器零来代替。答: t(find(t=0)=eps; (6) 将含有 12 个元素的向量 x 转换成 矩阵。答: 3 4reshape(x,3,4); (7) 求一个字符串的 ASCII 码。 答: 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. 已知 23100.7780 6554541 A 325032 3.14549.546 完成下列操作: (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) 。 01111100 答: E=10&A=0.5 & x=1.5 & x=3.5 & x5.5 y=log(abs(b+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 个两位随机整数,输出其中小于平均值的偶数。答: 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 , num2str(v_max);disp(最大数为: , num2str(v_min);disp(最小数为: min 函数实现:用(2) max 函数、 for i=1:5 );数:请输入第 , num2str(i), A(i)=input( end , num2str(max(A);disp(最大数为: , num2str(min(A);最小数为:disp( 6323MATLAB ,分别用循环结构和调用的函 sum 5.已知: 222s1 2 的值。数求 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 10010000 时,求下列各式的值。、1000、1( 1)(1) 1( ln 2)111 n 1 n423 111 (2)(1 5374 1 )( (3)1111 n44 16643 224466(2n)(2n) (4) (2n1)(2n1)3135572 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: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 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. 编写一个函数文件,求小于任意自然数 Fibnacci的斐波那契(n 斐波那契数列定义如下: f11,n 1 f21,n 2 f , nff2 n 1 n 2n 答: function x=fibnacci(n) for i=1:n if i=2 x(i)=1; else 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 disp(矩阵 A 和矩阵 B 的点乘为: ); y n m,然后调用该函数文件求先用函数的递归调用定义一个函数文件求9. i i 1 1 10 2100 50 。kk k k 1 k 1 k 1 答: 函数文件 myfnc.m: function sum=myfnc(n, m) if n=1 sum=1; else sum= myfnc (n-1, m)+nm; end 10100 50 1 :2文件,计算在命令窗口中调用 myfnc.m k k k k 1k 1 k 1 sum=myfnc(100, 1)+ myfnc(50, 2)+myfnc(10,-1)

温馨提示

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

评论

0/150

提交评论