教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 互联网资料 >

MATLAB全部实验及答案(5)

来源:网络收集 时间:2026-08-24
导读: 2)对不合理的成绩应输出出错信息“输入的成绩不合理”(若成绩出现小数,则只能是“.5”) 程序switch: score=input('??ê?è?°ù·???3é?¨:'); if rem(score,0.5)==0 switch score case num2cell(90:0.5:100)

2)对不合理的成绩应输出出错信息“输入的成绩不合理”(若成绩出现小数,则只能是“.5”) 程序switch:

score=input('??ê?è?°ù·???3é?¨:'); if rem(score,0.5)==0 switch score

case num2cell(90:0.5:100) disp('?úμ?3é?¨μè???a A') case num2cell(80:0.5:89) disp('?úμ?3é?¨μè???a B') case num2cell(70:0.5:79) disp('?úμ?3é?¨μè???a C') case num2cell(60:0.5:69) disp('?úμ?3é?¨μè???a D') case num2cell(0:0.5:59.5) disp('?úμ?3é?¨μè???a E') otherwise

disp('??ê?è?μ?3é?¨2?o?àí') end else

disp('??ê?è?μ?3é?¨2?o?àí£?è?3???D?êy???üê?0.5') end

程序if:

2、x=input('??????????:'); 3、if rem(x,0.5)==0

4、if (x<=100 & x>=90) 5、 disp('A')

6、elseif (x>=80 & x<=89) 7、 disp('B')

8、elseif (x>=70 & x<=79) 9、 disp('C')

10、elseif (x>=60 & x<=69) 11、 disp('D')

12、elseif (x<60&x>=0) 13、 disp('E') 14、else

15、 disp('ê?è?μ?3é?¨2?o?àí') 16、end 17、else

18、 disp('????????????§?????¨a??????????????????0.5') 19、end

20、设计程序,完成两位数的加、减、乘、除四则运算,即产生两个两位随机整数,再

21

输入一个运算符号,做相应的运算,显示相应的结果,并要求结果显示类似于“a=x+y=34”。

程序:

x=round(rand(1)*100); y=round(rand(1)*100); disp(['x=',num2str(x)]); disp(['y=',num2str(y)]);

A=input('请输入一个运算符号:','s'); %书上114页有说明 switch(A) case '+'

a=x+y; disp(['a=x+y=',num2str(a)]); case '-'

a=x-y;disp(['a=x-y=',num2str(a)]); case '*'

a=x*y;disp(['a=x*y=',num2str(a)]); case '/'

a=x/y;disp(['a=x/y=',num2str(a)]); end

3、求下列分段函数的值

??2???6,??0且 ??-3?y???2?5??6,0??<10,??2且 ??3

??2???1,其他? 要求:用if语句实现,分别输出x = -5.0,-3.0,1.0,2.0,2.5,3.0,5.0

时的y值。其中x的值以向量的形式从键盘输入。

x=[-5.0,-3.0,1.0,2.0,2.5,3.0,5.0] if x<0&x~=-3 y=x.*x+x-6;

elseif x>=0&x<5&x~=2&x~=3 y=x.*x-5*x+6; else y=x.*x-x-1 end y

五、实验注意事项

1、if语句和switch语句的应用场合

22

2、编程时对输入和输出的要求

六、思考题

填写下列程序的执行结果: a=[90,70,65,54,76]; n=length(a);b=zeros(1,n); for i=1:n if a(i)>75 b(i)=100-a(i); elseif a(i)<=75 b(i)=a(i)-60; end end disp(b)

b= 10 10 5 -6 24 。

实验项目序号6 MATLAB函数文件程序设计

一、实验目的

1、理解函数文件的概念;

2、掌握定义和调用MATLAB函数的方法。

二、实验基本知识

MATLAB的M语言文件是纯文本格式的文件,MATLAB也提供了一个编辑器,叫作meditor,它也是系统默认的M文件编辑器。运行meditor的方法非常简单,在MATLAB命令行窗口中键入下面的指令就可以打开meditor:

>> edit

这时MATLAB将启动meditor,然后创建一个未命名的空白文件。

23

这时用户就可以直接在编辑器中键入MATLAB指令,开发M语言文件了。M语言文件可以分为两类,其中一类是脚本文件,另外一类叫作函数文件。

M函数文件和脚本文件不同,函数文件不仅有自己特殊的文件格式,不同的函数还分别具有自己的工作空间。同其他高级语言类似,M函数文件也有局部变量和全局变量。

函数文件的结构和编写方法:函数只能在函数体内对变量进行操作,也就是只能访问函数本身工作空间中的变量。

M函数文件的结构:

(1) 函数定义行(function) (2) H1行(函数帮助文本的第一行) (3) 函数帮助文本 (4) 函数体 (5) 注释

函数文件编写后,保存时,其文件名必须与函数名相同。注意:函数名不要与MATLAB自身的函数命令相同。

三、主要仪器及耗材

计算机

四、实验内容和步骤

1、编写一个函数文件chengji.m,用于求两个矩阵的乘积和点乘,然后在命令行窗口中调用该函数(提示:使用varargout函数),要求: 1)当两矩阵是尺寸相同的方阵时,返回它们的乘积和点乘。

2)当两矩阵不是尺寸相同的方阵时,则根据它们的尺寸,分别进行乘积或点乘。 3)当两矩阵的尺寸不能满足乘积或点乘的要求时,则提示“这两个矩阵不能乘”。 程序为:

function varargout=chengji(a,b)

24

[x,y]=size(a); [xx,yy]=size(b);

if (xx==yy&&x==y&&x==xx) varargout{1}=a*b; varargout{2}=a.*b; elseif (x==xx&&y==yy) varargout{1}=a.*b; disp('???ü×?μ?3?') varargout{2}=0; elseif (x==yy&&xx==y) disp('?éò?×?á??????ó3?') varargout{1}=a*b; varargout{2}=b*a; elseif (x==yy||xx==y) try

varargout{1}=a*b; disp('???ü×????ó3?') varargout{2}=0; catch

varargout{1}=b*a; disp('???ü×????ó3?') varargout{2}=0; end else

error('?aá??????ó2??ü3?') end

2、编写一函数qiuhe.m,实现sum(A)的功能,其中A为矩阵。 程序为:

function y=qiuhe(a) y=[];

[x,yy]=size(a); if x==1 s=0; for k=1:yy s=s+a(1,k); end y=s; else for j=1:yy s=0; for i=1:x s=s+a(i,j); end

y(1,j)=s;

25

…… 此处隐藏:688字,全部文档内容请下载后查看。喜欢就下载吧 ……
MATLAB全部实验及答案(5).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/443883.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)