实验二MATLAB程序设计(含实验报告)_第1页
实验二MATLAB程序设计(含实验报告)_第2页
实验二MATLAB程序设计(含实验报告)_第3页
实验二MATLAB程序设计(含实验报告)_第4页
实验二MATLAB程序设计(含实验报告)_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、实验二 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运行程序,在命令窗口查看

2、运行结果,程序如有错误则改正三、 实验内容1.编写求解方程的根的函数(这个方程不一定为一元二次方程,因的不同取值而定),这里应根据的不同取值分别处理,有输入参数提示,当时应提示“为恒不等式!”。并输入几组典型值加以检验。(提示:提示输入使用input函数)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。如:2®13®10®5®16®8®4®2®16®3®10®5®16®8®4®2®1运行下面的程序,按程序提示输入n=1,2,3,5,7等数来验证这一结论。请为关键的Matlab语句填写上相关注释,说明其含义或功能。%classic "3n+1" problem from number theory.while 1 n=in

4、put('Enter n,negative quits:'); if n<=0 breakend a=n; while n>1 if rem(n,2)=0 n=n/2; else n=3*n+1; end a=a,n; end aend4. 编写一个函数,计算下面函数的值,给出标量x的值,调用该函数后,返回y的值。function y=myfun1(x)选择一些数据测试你编写的函数。5. 编写一个函数求向量x中元素的平均值、最大值、最小值、均方根值。function m_x,max_x,min_x,rms_x=myfun2(x)方均根值(Root Mean Squa

5、re)的计算公式为:用下面数据测试你写的函数:(1)x=sin(0:0.01:6*pi)(2)x=rand(1,200),得到的x为200个(0,1)之间均匀分布的随机数。6.根据,求的近似值。当n分别取100、1000、10000时,结果是多少?思考题:有一分数序列: 编写一段程序,求前16项的和。四、实验报告要求(包含预习报告要求和最终报告要求)最终报告要求预习报告要求 1.实验名称 2.实验目的 3.实验设备及条件 4.实验内容及要求 5.实验程序设计 指程序代码。 6.实验结果及结果分析 实验结果要求必须客观,有数据的可以记录数据,没有数据的简单描述实验现象。结果分析是对实验结果的理论

6、评判。 7.实验中出现的问题及解决方法 8. 思考题的回答四、 实验报告的提交方式Word文档,命名方式:实验号_你的学号_姓名!例如本次实验:实验一_000000001_张三.doc(信息101提交报告邮箱):E_mail: matlab_xx01(网络工程101提交作业邮箱):E_mail: Matlab_wg01(注意网络班的M是大写的)下一次课前提交,过期不收!五、 参考文献参考教材和Matlab帮助文件。1. 实验名称 MATLAB程序设计2. 实验目的 1.掌握利用if语句实现选择结构的方法。2.掌握利用switch语句实现多分支选择结构的方法。3.掌握利用for语句实现循环结构的

7、方法。4.掌握利用while语句实现循环结构的方法。5.掌握MATLAB函数的编写及调试方法。3. 实验设备及条件 计算机一台(带有MATLAB7.0以上的软件环境)。 4. 实验内容及要求 把实验内容的应用题,用MATLAB的语法编写出来,并运行成功,注意题与题之间用相应注释分割。 5. 实验程序设计 %1disp('一元二次方程计算器,请输入下列数值进行计算:');a=input('a=');b=input('b=');c=input('c=');if a=0 & b=0 & c=0 disp('此为恒

8、不等式');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%2scores=input('成绩等级划分请输入一个百分制成绩,查询划分等级:');switch scores case 100 rate='A+' case num2cell(90:99) rate='A' case num2cell(80:89) rate='B' ca

9、se 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 n<=0 %如果输入的数为负数,则不做操作

10、breakend a=n; %将n的值赋值给a while n>1 %满足条件n>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 a %输出最后的结果aend%4 myfun1.m%-clc format compactformat long gx=input('请输入x的值:');y=tran1(x);disp('y=')disp(y)%4 tran.m%-

11、function y=myfun1(x)%当 x<=0 y=sin(x);%当 3>x>0 y=x;%当 x>3 y=-x+6;if x<=0 y=sin(x);elseif 3>x>0 y=x;else x>3 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

12、 myfun2.m%-x=input('平均值、最大值、最小值、均方根值的计算,请输入x的值,:');m_x,max_x,min_x,rms_x=tran(x);disp('平均值为')m_xdisp('最大值为')max_xdisp('最小值为')min_xdisp('均方根值为')rms_x%6 disp('(pi2)/6 = (1/12)+(1/22)+(1/32)+(1/n2),求pi的近似值') approximation=0;n=input('请输出n值:'); appr

13、oximation=sqrt(sum(1./(1:n).2)*6);approximation 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_第三题%classic "3n+1" problem from

14、 number theory.while 1 n=input('Enter n,negative quits:'); %输入一个非负整数 if n<=0 %如果输入的数为负数,则不做操作 breakend a=n; %将n的值赋值给a while n>1 %满足条件n>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 a %输出最后的结果aend第四题请输入x的值:-1y

15、= -0.841470984807897-请输入x的值:2y= 2-请输入x的值:9ans = 1y=-3第五题请输入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.1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论