matlab第2章练习及答案

时光还在 分享 2020-05-23 下载文档

第二章例题

命令文件(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

(2)列网孔方程

?(R1?R3)Ia?R3Ib?Us1???R3Ia?(R2?R3)Ib?Us2(3)写成矩阵形式

?R3??Ia??Us1??R1?R3????R3????R2?R3IbUs2??????

(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),%从矩阵元素中求出网孔电流

3

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

?ln(x2?1)?x2?1,x?0%计算分段?y??sinxx≥0? ,数 x?1 : ?程序如下:

x=input('请输入x的值:'); if x<0

y=log(x*x+1)+sqrt(x*x+1); else

y=sin(x)/(x+1); end disp(y)

4

函

多分支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:

5


matlab第2章练习及答案 .doc 将本文的Word文档下载到电脑

下一篇:23G互操作验证测试报告

相关推荐
相关阅读
本类排行
× 游客快捷下载通道(下载后可以自由复制和排版)

下载本文档需要支付 7 元

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xxxxxx QQ:xxxxxx