《实验二 MATLAB程序设计 含实验报告 .pdf》由会员分享,可在线阅读,更多相关《实验二 MATLAB程序设计 含实验报告 .pdf(10页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、实验二实验二 MATLAB MATLAB 程序设计程序设计一、一、实验目的实验目的1.掌握利用 if 语句实现选择结构的方法。2.掌握利用 switch 语句实现多分支选择结构的方法。3.掌握利用 for 语句实现循环结构的方法。4.掌握利用 while 语句实现循环结构的方法。5.掌握 MATLAB 函数的编写及调试方法。二、二、实验的设备及条件实验的设备及条件计算机一台(带有 MATLAB7.0 以上的软件环境)。M 文件的编写:启动 MATLAB 后,点击 File|New|M-File,启动 MATLAB 的程序编辑及调试器(Editor/Debugger),编辑以下程序,点击 Fil
2、e|Save 保存程序,注意文件名最好用英文字符。点击 Debug|Run 运行程序,在命令窗口查看运行结果,程序如有错误则改正三、三、实验内容实验内容1.编写求解方程ax2bxc 0的根的函数(这个方程不一定为一元二次方程,因,这里应根据a、b、c的不同取值分别处理,有输入参数提示,a、b、c的不同取值而定)当a 0,b 0,c 0时应提示“为恒不等式!”。并输入几组典型值加以检验。(提示:提示输入使用inputinput函数)2.输入一个百分制成绩,要求输出成绩等级 A+、A、B、C、D、E。其中 100 分为 A+,90 分99 分为 A,80 分89 分为 B,70 分79 分为 C,
3、60 分69 分为 D,60 分以下为E。要求:(1)用 switch 语句实现。(2)输入百分制成绩后要判断该成绩的合理性,对不合理的成绩应输出出错信息。(提示:注意单元矩阵的用法)3.3.数论中一个有趣的题目:任意一个正整数,若为偶数,则用 2 除之,若为奇数,则与 3 相乘再加上 1。重复此过程,最终得到的结果为 1。如:21310516842163105168421运行下面的程序,按程序提示输入 n=1,2,3,5,7 等数来验证这一结论。请为关键的 Matlab 语句填写上相关注释,说明其含义或功能。%classic 3n+1 problem from number theory.%
4、classic 3n+1 problem from number theory.4.编写一个函数,计算下面函数的值,给出标量 x 的值,调用该函数后,whilewhile 1 1n=input(n=input(Enter n,negative quits:Enter n,negative quits:););if if n=0 n1 n1返回 y 的值。function y=myfun1(x)选择一些数据测试你编写的函数。5.编写一个函数求向量 x 中元素的平均值、最大值、最小值、均方根值。function m_x,max_x,min_x,rms_x=myfun2(x)方均根值(Root Me
5、an Square)的计算公式为:用下面数据测试你写的函数:(1)x=sin(0:0.01:6*pi)(2)x=rand(1,200),得到的 x 为 200 个(0,1)之间均匀分布的随机数。6.根据261111.,求的近似值。当 n 分别取 100、1000、100002222123n时,结果是多少?思考题:有一分数序列:编写一段程序,求前 16 项的和。四、实验报告要求(包含预习报告要求和最终报告要求)四、实验报告要求(包含预习报告要求和最终报告要求)1.实验名称 2.实验目的 3.实验设备及条件预习报告最终报告 4.实验内容及要求 5.实验程序设计指程序代码。6.实验结果及结果分析实验
6、结果要求必须客观,有数据的可以记录数据,没有数据的简单描述实验现象。结果分析是对实验结果的理论评判。7.实验中出现的问题及解决方法 8.思考题的回答四、四、实验报告的提交方式实验报告的提交方式Word 文档,命名方式命名方式:实验号实验号_ _你的学号你的学号_ _姓名姓名例如本次实验:实验一_000000001_张三.doc(信息(信息 101101 提交报告邮箱提交报告邮箱):E_mail:(网络工程网络工程 101101 提交作业邮箱提交作业邮箱):E_mail:M(注意网络班的 M 是大写的)下一次课前提交,过期不收!五、五、参考文献参考文献参考教材和 Matlab 帮助文件。1.1.
7、实验名称实验名称MATLABMATLAB2.2.实验目的实验目的1.掌握利用 if 语句实现选择结构的方法。2.掌握利用 switch 语句实现多分支选择结构的方法。3.掌握利用 for 语句实现循环结构的方法。4.掌握利用 while 语句实现循环结构的方法。5.掌握 MATLAB 函数的编写及调试方法。3.3.实验设备及条件实验设备及条件计算机一台(带有 MATLAB7.0 以上的软件环境)。4.4.实验内容及要求实验内容及要求把实验内容的应用题,用 MATLAB 的语法编写出来,并运行成功,注意题与题之间用相应注释分割。5.5.实验程序设计实验程序设计%1disp(一元二次方程计算器,请
8、输入下列数值进行计算:);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=,num2str(x(2);end%2程序设计程序设计scores=input(成绩等级划分请输入一个百分制成绩,查询划分等级:);switch scores case 100 rate=A+;case num2cell(90:99)rate=A;case num2cell(80:89
9、)rate=B;case num2cell(70:79)rate=C;case num2cell(60:69)rate=D;case num2cell(0:59)rate=E;otherwise disp(输出出错);enddisp(rate)%3%classic 3n+1 problem from number theory.while 1 n=input(Enter n,negative quits:);%输入一个非负整数 if n1%满足条件 n1 时循环下列语句 if rem(n,2)=0%当 n 能被 2 整除则 n 除以 2 n=n/2;else%如果不能被整除,则 n 乘以 3
10、加 1 n=3*n+1;end a=a,n;%输出数组a,n,并对比 n 是否1,大于则继续上诉循环 end a%输出最后的结果 aend%4 myfun1.m%-clcformat compactformat long gx=input(请输入 x 的值:);y=tran1(x);disp(y=)disp(y)%4 tran.m%-function y=myfun1(x)%当 xx0 y=x;%当 x3 y=-x+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)%分别是平均值,
11、最大值,最小值,均方根值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(平均值、最大值、最小值、均方根值的计算,请输入 x 的值,:);m_x,max_x,min_x,rms_x=tran(x);disp(平均值为)m_xdisp(最大值为)max_xdisp(最小值为)min_xdisp(均方根值为)rms_x%6disp(pi2)/6=(1/12)+(1/22)+(1/32)+(1/n2),求 pi 的近似值)approxima
12、tion=0;n=input(请输出 n 值:);approximation=sqrt(sum(1./(1:n).2)*6);approximation6.6.实验结果及结果分析实验结果及结果分析第一题第一题一元二次方程(ax2+bx+c=0)计算器,请输入下列数值进行计算:a=2b=1c=3x1=-0.25+1.199i,x2=-0.25-1.199i-一元二次方程(ax2+bx+c=0)计算器,请输入下列数值进行计算:a=0b=0c=2此为恒不等式第二题第二题成绩等级划分请输入一个百分制成绩,查询划分等级:111输出出错成绩等级划分请输入一个百分制成绩,查询划分等级:55E_第三题第三题%
13、classic 3n+1 problem from number theory.while 1 n=input(Enter n,negative quits:);%输入一个非负整数 if n1%满足条件 n1 时循环下列语句 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%输出最后的结果 aend第四题第四题请输入 x 的值:-1y=-请输入 x 的值:2y=2-请输入 x 的值:9ans=1y=-3第五题
14、第五题请输入 x 的值:sin(0:0.01:6*pi)平均值为m_x=-1.1256e-007最大值为max_x=1.0000最小值为min_x=-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 值:100approximation=3.1321(pi2)/6=(1/12)+(1/22)+(1/32)+(1/n2),求 pi 的近似值请输出 n 值:1000approximation=3.1406(pi2)/6=(1/12)+(1/22)+(1/32)+(1/n2),求 pi 的近似值请输出 n 值:10000approximation=3.14157.7.实验中出现的问题及解决方法实验中出现的问题及解决方法对函数的嵌套关系理解混乱解决:反复尝试,得出正确的嵌套关系。没有运行成功。解决:需要加符号.,不然无法得出预期结果8.8.思考题的回答思考题的回答a=3;b=2;s=1/2;for i=1:15 s=s+a/b;c=a;a=a+b;b=c;end