实验二MATLAB程序设计.docx

上传人:牧羊曲112 文档编号:3436120 上传时间:2023-03-13 格式:DOCX 页数:10 大小:39.88KB
返回 下载 相关 举报
实验二MATLAB程序设计.docx_第1页
第1页 / 共10页
实验二MATLAB程序设计.docx_第2页
第2页 / 共10页
实验二MATLAB程序设计.docx_第3页
第3页 / 共10页
实验二MATLAB程序设计.docx_第4页
第4页 / 共10页
实验二MATLAB程序设计.docx_第5页
第5页 / 共10页
亲,该文档总共10页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《实验二MATLAB程序设计.docx》由会员分享,可在线阅读,更多相关《实验二MATLAB程序设计.docx(10页珍藏版)》请在三一办公上搜索。

1、实验二 MATLAB程序设计实验二 MATLAB程序设计 一、 实验目的 1.掌握利用if语句实现选择结构的方法。 2.掌握利用switch语句实现多分支选择结构的方法。 3.掌握利用for语句实现循环结构的方法。 4.掌握利用while语句实现循环结构的方法。 5.掌握MATLAB函数的编写及调试方法。 二、 实验的设备及条件 计算机一台。 M文件的编写: 启动MATLAB后,点击File|New|M-File,启动MATLAB的程序编辑及调试器,编辑以下程序,点击File|Save保存程序,注意文件名最好用英文字符。点击Debug|Run运行程序,在命令窗口查看运行结果,程序如有错误则改正

2、 三、 实验内容 1.编写求解方程ax2+bx+c=0的根的函数,这里应根据a、b、c的不同取值分别处理,有输入参数提示,当a=0,b=0,c=0时应提示“为恒不等式!”。并输入几组典型值加以检验。 2.输入一个百分制成绩,要求输出成绩等级A+、A、B、C、D、E。其中100分为A+,90分99分为A,80分89分为B,70分79分为C,60分69分为D,60分以下为E。 要求:用switch语句实现。 输入百分制成绩后要判断该成绩的合理性,对不合理的成绩应输出出错信息。 3.数论中一个有趣的题目:任意一个正整数,若为偶数,则用2除之,若为奇数,则与3相乘再加上1。重复此过程,最终得到的结果为

3、1。如: 21 3105168421 63105168421 1 运行下面的程序,按程序提示输入n=1,2,3,5,7等数来验证这一结论。 请为关键的Matlab语句填写上相关注释,说明其含义或功能。 %classic 3n+1 problem from number theory. while 1 n=input(Enter n,negative quits:); if n1 if rem(n,2)=0 n=n/2; else n=3*n+1; end a=a,n; end a end 4. 编写一个函数,计算下面函数的值,给出标量x的值,调用该函数后,返回y的值。 function y=m

4、yfun1(x) sinx,y(x)=x,-x+6,选择一些数据测试你编写的函数。 x0035. 编写一个函数求向量x中元素的平均值、最大值、最小值、均方根值。 function m_x,max_x,min_x,rms_x=myfun2(x)方均根值(Root Mean Square)的计算公式为: rms=用下面数据测试你写的函数: x=sin(0:0.01:6*pi) 1N2xi i=1Nx=rand(1,200),得到的x为200个之间均匀分布的随机数。 2 6.根据p26=1111+.+,求p的近似值。当n分别取100、1000、122232n210000时,结果是多少? 思考题: 有

5、一分数序列: 13581321 , , , , , , 2235813 编写一段程序,求前16项的和。 四、实验报告要求 1.实验名称 2.实验目的 3.实验设备及条件 预习报告要求 4.实验内容及要求 5.实验程序设计 指程序代码。 6.实验结果及结果分析 实验结果要求必须客观,有数据的可以记录数据,没有数据的简单描述实验现象。结果分析是对实验结果的理论评判。 7.实验中出现的问题及解决方法 8. 思考题的回答 最终报告要求 四、 实验报告的提交方式 Word文档,命名方式:实验号_你的学号_姓名! 例如本次实验:实验一_000000001_张三.doc :E_mail: matlab_xx

6、01 (网络工程101提交作业邮箱):E_mail: Matlab_wg01。 4.实验内容及要求 把实验内容的应用题,用MATLAB的语法编写出来,并运行成功,注意题与题之间用相应注释分割。 5.实验程序设计 %1 disp(一元二次方程计算器,请输入下列数值进行计算:); a=input(a=); b=input(b=); c=input(c=); if a=0 & b=0 & c=0 disp(此为恒不等式); else d=b*b-4*a*c; x=(-b+sqrt(d)/(2*a),(-b-sqrt(d)/(2*a); disp(x1=,num2str(x(1),x2=,num2st

7、r(x(2); end 4 程序设计 %2 scores=input(成绩等级划分请输入一个百分制成绩,查询划分等级:); switch scores case 100 rate=A+; case num2cell(90:99) rate=A; case num2cell(80:89) rate=B; case num2cell(70:79) rate=C; case num2cell(60:69) rate=D; case num2cell(0:59) rate=E; otherwise disp(输出出错); end disp(rate) %3 %classic 3n+1 problem

8、from number theory. while 1 n=input(Enter n,negative quits:); %输入一个非负整数 if n1 %满足条件n1时循环下列语句 5 if rem(n,2)=0 %当n能被2整除则n除以2 n=n/2; else %如果不能被整除,则n乘以3加1 n=3*n+1; end a=a,n; %输出数组a,n,并对比n是否1,大于则继续上诉循环 end a %输出最后的结果a end %4 myfun1.m %- clc format compact format long g x=input(请输入x的值:); y=tran1(x); dis

9、p(y=) disp(y) %4 tran.m %- function y=myfun1(x) %当 xx0 y=x; %当 x3 y=-x+6; 6 if xx0 y=x; else x3 y=-x+6; end %5 tran.m %- function m_x,max_x,min_x,rms_x=myfun2(x) %分别是平均值,最大值,最小值,均方根值 m_x=mean(mean(x) max_x=max(max(x) min_x=min(min(x) a=sqrt(mean(x.2); rms_x=sqrt(mean(a.2) %5 myfun2.m %- x=input(平均值、

10、最大值、最小值、均方根值的计算,请输入x的值,:); m_x,max_x,min_x,rms_x=tran(x); disp(平均值为) m_x disp(最大值为) max_x disp(最小值为) min_x 7 disp(均方根值为) rms_x %6 disp(pi2)/6 = (1/12)+(1/22)+(1/32)+(1/n2),求pi的近似值) approximation=0; n=input(请输出n值:); approximation=sqrt(sum(1./(1:n).2)*6); approximation 6.实验结果及结果分析 第一题 一元二次方程(ax2+bx+c=

11、0)计算器,请输入下列数值进行计算: a=2 b=1 c=3 x1=-0.25+1.199i,x2=-0.25-1.199i - 一元二次方程(ax2+bx+c=0)计算器,请输入下列数值进行计算: 8 a=0 b=0 c= 2 此为恒不等式 第二题 成绩等级划分请输入一个百分制成绩,查询划分等级:111 输出出错 成绩等级划分请输入一个百分制成绩,查询划分等级:55 E _ 第三题 %classic 3n+1 problem from number theory. while 1 n=input(Enter n,negative quits:); %输入一个非负整数 if n1 %满足条件n

12、1时循环下列语句 if rem(n,2)=0 %当n能被2整除则n除以2 n=n/2; else %如果不能被整除,则n乘以3加1 n=3*n+1; end a=a,n; %输出数组a,n,并对比n是否1,大于则继续上诉循环 end 9 a %输出最后的结果a end 第四题 请输入x的值:-1 y= -0.841470984807897 - 请输入x的值:2 y= 2 - 请输入x的值:9 ans = 1 y= -3 第五题 请输入x的值:sin(0:0.01:6*pi) 平均值为 m_x = -1.1256e-007 最大值为 max_x = 1.0000 最小值为 min_x = 10

13、-1.0000 均方根值为 rms_x = 0.7071 请输入x的值:rand(1,200) 平均值为 m_x = 0.4969 最大值为 max_x = 0.9943 最小值为 min_x = 0.0099 均方根值为 rms_x = 0.5707 第六题 (pi2)/6 = (1/12)+(1/22)+(1/32)+(1/n2),求pi的近似值 请输出n值:100 approximation = 3.1321 (pi2)/6 = (1/12)+(1/22)+(1/32)+(1/n2),求pi的近似值 请输出n值:1000 approximation = 11 3.1406 (pi2)/6 = (1/12)+(1/22)+(1/32)+(1/n2),求pi的近似值 请输出n值:10000 approximation = 3.1415 7.实验中出现的问题及解决方法 对函数的嵌套关系理解混乱 解决:反复尝试,得出正确的嵌套关系。 没有运行成功。 解决:需要加符号.,不然无法得出预期结果 8. 思考题的回答 a=3; b=2; s=1/2; for i=1:15 s=s+a/b; c=a; a=a+b; b=c; end 12

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号