实验五--m文件和matlab程序设计

实验五--m文件和matlab程序设计

ID:25356436

大小:90.40 KB

页数:10页

时间:2018-11-19

实验五--m文件和matlab程序设计_第1页
实验五--m文件和matlab程序设计_第2页
实验五--m文件和matlab程序设计_第3页
实验五--m文件和matlab程序设计_第4页
实验五--m文件和matlab程序设计_第5页
资源描述:

《实验五--m文件和matlab程序设计》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、实验五M文件和MATLAB程序设计一、实验目的matlab作为一种高级计算机语言,不仅可以命令行方式完成操作,也具有数据结构、控制流、输入输出等能力,本次实验通过熟悉和掌握m文件的建立与使用方法,以及函数与控制程序流程语句的使用,使学生具备一定的编程和程序调试能力。1.掌握M文件的使用方法。2.掌握if语句和switch语句的使用3.掌握循环语句的使用4.通过练习理解MATLAB编程方法。二、实验原理1.m文件用matlab语言编写的程序,称为m文件。M文件根据调用方式的不同分为两类,命令文件(Scrip

2、tfile)和函数文件(Functionfile)。区别?2.程序控制结构1)顺序结构2)选择结构(1)if语句a)单分支if语句b)双分支if语句c)多分支if语句(2)switch语句(3)try语句3)循环结构(1)for语句(2)while语句(3)break语句、continue语句、return使用,区别?3.函数文件function输出形参表=函数名(输入形参表)注释说明部分函数体语句三、实验要求1.首先上机练习PPT中各种流程控制语句的有关实例。2.然后上机练习下面的实验习题。四、实验习题

3、1.数论中一个有趣的题目:任意一个正整数,若为偶数,则用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等数来验证这一结论。%classic"3n+1"problemfromnumbertheory.while1n=input('Entern,negativequits:');ifn<=0breakenda=n;whilen>1ifrem(n,2)==

4、0n=n/2;elsen=3*n+1;enda=[a,n];endaendEntern,negativequits:3a=31051684212.编程求满足的最小m值。a=0;i=1;while(a<10000)a=a+pow2(i);i=i+1;endm=i-1;m133.编写一个函数,计算下面函数的值,给出x的值,调用该函数后,返回y的值。function[y]=myfun1(x)选择一些数据测试你编写的函数。functiony=myfun1(x)ifx<=0y=sin(x);elseifx>0&x<

5、=3y=x;elseifx>3y=-x+6;end运行结果:>>y=myfun1(-pi/2)y=-1>>y=myfun1(0)y=0>>y=myfun1(2)y=2>>y=myfun1(4)y=24.用如下迭代公式求,a的值分别为:3,17,113。迭代的终止条件为,迭代初值,迭代次数不超过100次。分别对迭代结果和准确值进行比较,并统计迭代次数。迭代公式:function[x,n]=sqrt_a(a)x=1.0;fork=1:100m=x;x=x/2+a/(2*x);ifabs(x-m)<=10^(-

6、5)breakendendx;n=k;s=(x-sqrt(a));ifs<=10^(-5)disp('正确');elsedisp('错误');end下面调用举例:运行结果:>>[x,n]=sqrt_a(3)正确x=1.7321n=5>>[x,n]=sqrt_a(17)正确x=4.1231n=6>>[x,n]=sqrt_a(113)正确x=10.6301n=85.定义一个函数文件,求给定复数的指数、对数、正弦和余弦,并在命令文件中调用该函数文件。程序设计:function[elnsc]=num(x)e=ex

7、p(x)ln=log(x)s=sin(x)c=cos(x)end运行结果:>>num(5i)e=0.2837-0.9589iln=1.6094+1.5708is=0+74.2032ic=74.2099ans=0.2837-0.9589i6.设f(x)=,编写一个MATLAB函数文件fx.m,使得调用f(x)时,x可用矩阵代入,得出的f(x)为同阶矩阵。程序设计:函数文件fx.m:functionA=fx(x)A=1./((x-2).^2+0.1)+1./(((x-3).^4)+0.01)end调用fx.m

8、的命令文件:>>A=fx([12;23;43])运行结果:A=0.971610.990110.9901100.90911.2340100.90917.已知y=当f(n)=n+10ln(+5)时,求y的值。程序设计:函数文件fn.m:functionx=fn(n)x=n+10*log(n^2+5)end调用fn.m的命令:y=fn(40)/(fn(30)+fn(20))运行结果:y=0.63908.将下列脚本式m文件改写成函数式

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。