第一范文网 - 专业文章范例文档资料分享平台

matlab第2章练习及答案

来源:用户分享 时间:2020-05-23 本文由时光还在 分享 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

第二章例题

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

搜索“diyifanwen.net”或“第一范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,第一范文网,提供最新综合文库matlab第2章练习及答案 全文阅读和word下载服务。

matlab第2章练习及答案 .doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/wenku/1041165.html(转载请注明文章来源)
热门推荐
Copyright © 2018-2022 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top