欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 研究报告>
  • 工作总结>
  • 合同范本>
  • 心得体会>
  • 工作报告>
  • 党团相关>
  • 幼儿/小学教育>
  • 高等教育>
  • 经济/贸易/财会>
  • 建筑/环境>
  • 金融/证券>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > DOC文档下载  

    matlab课后习题答案.doc

    • 资源ID:11302996       资源大小:159.50KB        全文页数:12页
    • 资源格式: DOC        下载积分:4
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录   微博登录  
    二维码
    微信扫一扫登录
    下载资源需要4
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    matlab课后习题答案.doc

    习题二1. 如何理解“矩阵是MATLAB最基本的数据对象”?答:因为向量可以看成是仅有一行或一列的矩阵,单个数据(标量)可以看成是仅含一个元素的矩阵,故向量和单个数据都可以作为矩阵的特例来处理。因此,矩阵是MATLAB最基本、最重要的数据对象。2. 设A和B是两个同维同大小的矩阵,问:(1) A*B和A.*B的值是否相等?答:不相等。(2) A./B和B.A的值是否相等?答:相等。(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;(4) 求矩阵A的大小和维数。答:size(A);ndims(A);(5) 将向量 t 的0元素用机器零来代替。答:t(find(t=0)=eps;(6) 将含有12个元素的向量 x 转换成矩阵。答:reshape(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=A<=5;L3=A>3&A<7;L4=find(A>3&A<7);答:L1的值为0, 0, 0, 0, 1, 0, 0, 0, 0L2的值为1, 1, 1, 1, 1, 0, 0, 0, 0L3的值为0, 0, 0, 1, 1, 1, 0, 0, 0L4的值为4, 5, 65. 已知完成下列操作:(1) 取出A的前3行构成矩阵B,前两列构成矩阵C,右下角子矩阵构成矩阵D,B与C的乘积构成矩阵E。答:B=A(1:3,:);C=A(:,1:2);D=A(2:4,3:4);E=B*C;(2) 分别求E<D、E&D、E|D、E|D和find(A>=10&A<25)。答:E<D=,E&D=,E|D=,E|D=find(A>=10&A<25)=1; 5。6. 当A=34, NaN, Inf, -Inf, -pi, eps, 0时,分析下列函数的执行结果:all(A),any(A),isnan(A),isinf(A),isfinite(A)。答:all(A)的值为0any(A) 的值为1isnan(A) 的值为 0, 1, 0, 0, 0, 0, 0isinf(A) 的值为 0, 0, 1, 1, 0, 0, 0isfinite(A) 的值为1, 0, 0, 0, 1, 1, 17. 用结构体矩阵来存储5名学生的基本情况数据,每名学生的数据包括学号、姓名、专业和6门课程的成绩。答:student(1).id=0001;student(1).name=Tom;student(1).major=computer;student(1).grade=89,78,67,90,86,85;8. 建立单元矩阵B并回答有关问题。B1,1=1;B1,2=Brenden;B2,1=reshape(1:9,3,3);B2,2=12,34,2;54,21,3;4,23,67;(1) size(B)和ndims(B)的值分别是多少?答:size(B) 的值为2, 2。ndims(B) 的值为2。(2) B(2)和B(4)的值分别是多少?答:B(2)=,B(4)= (3) B(3)=和B3=执行后,B的值分别是多少?答:当执行B(3)=后,B=1, 1, 4, 7; 2, 5, 8; 3, 6, 9, 12, 34, 2; 54, 21, 3; 4, 23, 67当执行B3=后,B=1,; 1, 4, 7; 2, 5, 8; 3, 6, 9, 12, 34, 2; 54, 21, 3; 4, 23, 67习题三1. 写出完成下列操作的命令。(1) 建立3阶单位矩阵A。答:A=eye(3);(2) 建立56随机矩阵A,其元素为100,200范围内的随机整数。答:round(100+(200-100)*rand(5,6);(3) 产生均值为1,方差为0.2的500个正态分布的随机数。答:1+sqrt(0.2)*randn(5,100);(4) 产生和A同样大小的幺矩阵。答:ones(size(A);(5) 将矩阵A对角线的元素加30。答:A+eye(size(A)*30;(6) 从矩阵A提取主对角线元素,并以这些元素构成对角阵B。答:B=diag(diag(A);2. 使用函数,实现方阵左旋90o或右旋90o的功能。例如,原矩阵为A,A左旋后得到B,右旋后得到C。答:B=rot90(A);C=rot90(A,-1);3. 建立一个方阵A,求A的逆矩阵和A的行列式的值,并验证A与A-1是互逆的。答:A=rand(3)*10;B=inv(A);C=det(A);先计算B*A,再计算A*B,由计算可知B*A=A*B,即AA-1= A-1A是互逆。4. 求下面线性方程组的解。答:A=4,2,-1;3,-1,2;12,3,0;b=2;10;8;x=inv(A)*b方程组的解为x=5. 求下列矩阵的主对角线元素、上三角阵、下三角阵、秩、范数、条件数和迹。(1) (2) 答:(1) 取主对角线元素:diag(A);上三角阵:triu(A);下三角阵:tril(A);秩:rank(A);范数:norm(A,1); 或 norm(A);或 norm(A,inf);条件数:cond(A,1); 或 cond(A,2); 或 cond(A,inf)迹:trace(A);(2)【请参考(1)】。6. 求矩阵A的特征值和相应的特征向量。答:V,D=eig(A);习题四1. 从键盘输入一个4位整数,按如下规则加密后输出。加密规则:每位数字都加上7,然后用和除以10的余数取代该数字;再把第一位与第三位交换,第二位与第四位交换。答:a=input(请输入4位整数:);A=a/1000,a/100,a/10,a;A=fix(rem(A,10);A=rem(A+7,10);b=A(3)*1000+A(4)*100+A(1)*10+A(2);disp(加密后的值为:,num2str(b);2. 分别用if语句和switch语句实现以下计算,其中a、b、c的值从键盘输入。答:(1) 用if语句实现计算:a=input(请输入a的值:);b=input(请输入b的值:);c=input(请输入c的值:);x=input(请输入x的值:);if x>=0.5 & x<1.5y=a*x2+b*x+c;endif x>=1.5 & x<3.5y=a*(sin(b)c)+x;endif x>=3.5 & x<5.5y=log(abs(b+c/x);enddisp(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); enddisp(y=,num2str(y);3. 产生20个两位随机整数,输出其中小于平均值的偶数。答:A=fix(10+89*rand(1,20);sum=0;for i=1:20sum=sum+A(i);endB=A(find(A<(sum/20);C=B(find(rem(B,2)=0);disp(C);4. 输入20个数,求其中最大数和最小数。要求分别用循环结构和调用MATLAB的max函数、min函数来实现。答:(1) 用循环结构实现:v_max=0;v_min=0;for i=1:20x=input(请输入第, num2str(i), 数:);if x> v_maxv_max=x;end;if x< v_minv_min=x;end;enddisp(最大数为:, num2str(v_max);disp(最小数为:, num2str(v_min);(2) 用max函数、min函数实现:for i=1:5A(i)=input(请输入第, num2str(i), 数:);enddisp(最大数为:, num2str(max(A);disp(最小数为:, num2str(min(A);5. 已知:,分别用循环结构和调用MATLAB的sum函数求s的值。答:(1) 用循环结构实现:s=0;for i=0:63 s=s+2i;ends(2) 调用sum函数实现:s=0:63;s=2.s;sum(s)6. 当n分别取100、1000、10000时,求下列各式的值。(1) (2) (3) (4) 要求分别用循环结构和向量运算(使用sum或prod函数)来实现。答:(1) 用循环结构实现:sum=0;for k=1:100sum=sum+(-1)(k+1)/k;endsum使用sum函数:x=;for k=1:10000x=x, (-1)(k+1)/k;endsum(x)(2) 用循环结构实现:sum=0;for k=1:100sum=sum+(-1)(k+1)/(2*k-1);endsum使用sum函数:x=;for k=1:100x=x, (-1)(k+1)/(2*k-1);endsum(x)(3) 用循环结构实现:sum=0;for k=1:100sum=sum+1/(4k);endsum使用sum函数实现:x=;for k=1:100x=x, 1/(4k);endsum(x)(4) 用循环结构实现:t=1;for k=1:100t=t*(2*k)*(2*k)/(2*k-1)*(2*k+1);endt使用prod函数实现:x=;for k=1:100x=x, (2*k)*(2*k)/(2*k-1)*(2*k+1);endprod(x)7. 编写一个函数文件,求小于任意自然数n的斐波那契(Fibnacci)数列各项。斐波那契数列定义如下:答:function x=fibnacci(n)for i=1:n if i<=2 x(i)=1; else x(i)=x(i-1)+x(i-2); endend8. 编写一个函数文件,用于求两个矩阵的乘积和点乘,然后在命令文件中调用该函数。答:函数文件myfnc.m:function x, y= myfnc(A, B)tryx=A*B;catchx=;endy=A.*B;命令文件myexe.m:A=input(请输入矩阵A:);B=input(请输入矩阵B:);x, y=myfnc(A, B);if length(x)=0 display(两矩阵的维数不匹配,无法进行乘积运算!);else disp(矩阵A和矩阵B的乘积为:); xenddisp(矩阵A和矩阵B的点乘为:);y9. 先用函数的递归调用定义一个函数文件求,然后调用该函数文件求。答:函数文件myfnc.m:function sum=myfnc(n, m)if n<=1sum=1;elsesum= myfnc (n-1, m)+nm;end在命令窗口中调用myfnc.m文件,计算: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=afor j=1:4if rem(k(j),2)=0s=s+k(j);endendend s答:执行结果为s=108 命令文件exe.m执行后的结果为:x = 41220 y=2 4 6

    注意事项

    本文(matlab课后习题答案.doc)为本站会员(scccc)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    经营许可证编号:宁ICP备18001539号-1

    三一文库
    收起
    展开