matlab第2章练习及答案.doc

  1. 1、本文档共21页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
matlab第2章练习及答案

第二章例题 命令文件(Script File)和函数文件(Function File) 例2-1 建立一个M文件,其功能是:用两个实变量R、M生成复变量RM,然后运行该M文件。 程序1:建立一个命令文件。 clear; R=[1,2,3;4,5,6]; M=[11,12,13;14,15,16]; RM=R+i*M 以文件名setcomp保存命令文件,然后在MATLAB的命令窗口中输入setcomp,将会执行该命令文件,输出为: 程序2:建立一个函数文件。 function RM=fsetcomp(R,M) RM=R+i*M; 以文件名fsetcomp保存命令文件, 然后在MATLAB的命令窗口中输入fsetcomp,将会输出出错信息。 在命令窗口输入: a=[1,2,3;4,5,6]; b=[11,12,13;14,15,16]; c=fsetcomp(a,b) 顺序结构 例2-2 求一元二次方程ax2?+?bx?+?c?=?0的根。 由于MATLAB能进行复数运算,所以不需要判断方程的判别式,而直接根据求根公式求根。程序如下: a=2; b=6; c=3; % a=input(a=?); % b=input(b=?); % c=input(c=?); d=b*b-4*a*c; x=[(-b+sqrt(d))/(2*a),(-b-sqrt(d))/(2*a)]; disp([x1=,num2str(x(1)),,x2=,num2str(x(2))]); 用网孔分析法或节点电压法分析 1、用网孔分析法求下图中电流I1,I2,I3 解:建模: (1)标出网孔电流方向及符号(如下图) (2)列网孔方程 (3)写成矩阵形式 (4)待求量与网孔电流的关系 I1=Ia; I2=-Ib; I3=Ia-Ib; 编程: clear,close all,format compact R1=6;R2=3;R3=6;Us1=24;Us2=30;%输入已知参数 r11=R1+R3;r12=-R3;%为已知矩阵元素赋值 r21=-R3;r22=R2+R3; R=[r11 r12;r21 r22];Us=[Us1;Us2];%列出已知矩阵 I=R\Us;%算出未知矩阵 Ia=I(1),Ib=I(2),%从矩阵元素中求出网孔电流 pause(5) %暂停5秒 I1=Ia;I2=-Ib;I3=Ia-Ib;%写出待求量与网孔电流的关系 disp([I1=,num2str(I1),,I2=,num2str(I2) ,,I3=,num2str(I3)]); 选择结构 例2-3 %判断是否为偶数,单分支 x=input(输入x=);%当x为矩阵时,逻辑判断里面的每一个元素 if rem(x,2)==0 disp(x is even); end %判断是否全为偶数 ,双分支 x=input(输入x=); if rem(x,2)==0 disp(x is all even); else disp(x is not all even); end %计算分段函数 : 程序如下: x=input(请输入x的值:); if x0 y=log(x*x+1)+sqrt(x*x+1); else y=sin(x)/(x+1); end disp(y) 多分支if语句:例2-4 % %判断是否全为偶数,多分支 x=input(输入x=); if isempty(x) disp(x is empty) elseif isnan(x) disp(x is not a number) elseif isinf(x) disp(x is a inf) elseif isstr(x) disp(x is a string) elseif rem(x,2)==0 disp(x is all even); else disp(x is not all even); end %输入一个字符,若为大写字母,则输出其对应的小写字母;若为小写字母,则输出其对应的大写字母;若为数字字符则输出其对应数的平方,若为其他字符则原样输出。 c=input(请输入一个字符,s); if c=A c=Z disp(lower(c)); elseif c=a c=z disp(upper(c)); elseif c=0 c=9 disp(str2num(c)^2); else disp(c); end switch语句 例2-5: 将上例改用switch语句实现。 c=input(请输入一个字符:,s); cc=abs(c);

文档评论(0)

16588ww + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档