试验二MATLAB程序设计含试验报告
. 实验二实验二 MATLAB MATLAB 程序设计程序设计 一、一、 实验目的实验目的 1.掌握利用 if 语句实现选择结构的方法。 2.掌握利用 switch 语句实现多分支选择结构的方法。 3.掌握利用 for 语句实现循环结构的方法。 4.掌握利用 while 语句实现循环结构的方法。 5.掌握 MATLAB 函数的编写及调试方法。 二、二、 实验的设备及条件实验的设备及条件 计算机一台(带有 MATLAB7.0 以上的软件环境) 。 M 文件的编写: 启动 MATLAB 后,点击 File|New|M-File,启动 MATLAB 的程序编辑及调试器 (Editor/Debugger) ,编辑以下程序,点击 File|Save 保存程序,注意文件名最 好用英文字符。点击 Debug|Run 运行程序,在命令窗口查看运行结果,程序如有 错误则改正 三、三、 实验容实验容 1.编写求解方程ax2bxc 0的根的函数(这个方程不一定为一元二次方 程,因a、b、c的不同取值而定) ,这里应根据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。 要求: (1)用 switch 语句实现。 (2) 输入百分制成绩后要判断该成绩的合理性,对不合理的成绩应输 出出错信息。 (提示:注意单元矩阵的用法) 3.3.数论中一个有趣的题目:任意一个正整数,若为偶数,则用2 除之,若为 奇数,则与 3 相乘再加上 1。重复此过程,最终得到的结果为 1。如: 21 3105168421 63105168421 运行下面的程序,按程序提示输入 n=1,2,3,5,7 等数来验证这一结论。 请为关键的 Matlab 语句填写上相关注释,说明其含义或功能。 %classic “3n+1“ problem from number theory.%classic “3n+1“ problem from number theory. whilewhile 1 1 n=(n=( Enter n,negative quits: Enter n,negative quits: ); ); if if n1 if if rem(n,2)==0 rem(n,2)==0 n=n/2;n=n/2; elseelse n=3*n+1;n=3*n+1; endend a=[a,n];a=[a,n]; endend a a endend . . 4.编写一个函数,计算下面函数的值,给出标量 x 的值,调用该函数后,返回 y 的 值。 function [y]=myfun1(x) sin x, y(x) x, x 6, 选择一些数据测试你编写的函数。 x 0 0 x 3 x 3 5. 编写一个函数求向量 x 中元素的平均值、最大值、最小值、均方根值。 function [m_x,max_x,min_x,rms_x]=myfun2(x)方均根值(Root Mean Square)的计算公式为:: rms 用下面数据测试你写的函数: (1)x=sin(0:0.01:6*pi) 1 N x i1 N 2 i (2)x=rand(1,200),得到的 x 为 200 个(0,1)之间均匀分布的随机数。 6.根据 2 6 1111 ,求的近似值。当n 分别取 100、1000、 2222123n 10000 时,结果是多少? 思考题: 有一分数序列: 13581321 ,,,,,, 2235813 编写一段程序,求前 16 项的和。 . . 四、实验报告要求(包含预习报告要求和最终报告要求)四、实验报告要求(包含预习报告要求和最终报告要求) 1.实验名称 2.实验目的 3.实验设备及条件 预 习 报 告 要求 最 终 报 告 要求 4.实验容及要求 5.实验程序设计 指程序代码。 6.实验结果及结果分析 实验结果要求必须客观,有数据的可以记录数据,没有数据的简单描述实验 现象。结果分析是对实验结果的理论评判。 7.实验中出现的问题及解决方法 8. 思考题的回答 四、四、 实验报告的提交方式实验报告的提交方式 Word 文档,命名方式命名方式: :实验号实验号_ _你的学号你的学号_ _ 例如本次实验:实验一_000000001_三.doc (信息(信息 101101 提交报告提交报告) :E_mail: matlab_xx01163. (网络工程网络工程 101101 提交作业提交作业) )::E_mail: Matlab_wg01163.(注意网络班的 M 是 大写的) 下一次课前提交,过期不收! 五、五、 参考文献参考文献 参考教材和 Matlab 帮助文件。 . . 1.1.实验名称实验名称 MATLABMATLAB 2.2.实验目的实验目的 1.掌握利用 if 语句实现选择结构的方法。 2.掌握利用 switch 语句实现多分支选择结构的方法。 3.掌握利用 for 语句实现循环结构的方法。 4.掌握利用 while 语句实现循环结构的方法。 5.掌握 MATLAB 函数的编写及调试方法。 3.3.实验设备及条件实验设备及条件 计算机一台(带有 MATLAB7.0 以上的软件环境) 。 4.4.实验容及要求实验容及要求 把实验容的应用题,用 MATLAB 的语法编写出来,并运行成功,注意题与题之 间用相应注释分割。 5.5.实验程序设计实验程序设计 %1 disp( 一元二次方程计算器,请输入下列数值进行计算: ); a=( a= ); b=( b= ); c=( c= ); if a==0 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=( 成绩等级划分——请输入一个百分制成绩,查询划分等级: ); 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 “3