版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、实验五 M文件和MATLAB程序设计 一、实验目的 matlab作为一种高级计算机语言,不仅可以命令行方式完成操作,也具有数据结构、控制流、输入输出等能力,本次实验通过熟悉和掌握m文件的建立与使用方法,以及函数与控制程序流程语句的使用,使学生具备一定的编程和程序调试能力。 1掌握M文件的使用方法。 2掌握if语句和switch语句的使用 3. 掌握循环语句的使用 4. 通过练习理解MATLAB编程方法。 二、实验原理 1m文件 用matlab语言编写的程序,称为m文件。M文件根据调用方式的不同分为两类,命令文件(Script file)和函数文件(Function file)。区别? 2程序控
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然后上机练习下面的实验习题。 四、实验习题 1数论中一个有趣的题目:任意一个正整数,若为偶数,则用2除之,若为奇数,则与3相乘
3、再加上1。重复此过程,最终得到的结果为1。如: 21 23410851 16 210851 16643运行下面的程序,按程序提示输入n=1,2,3,5,7,8,9等数来验证这一结论。 %classic n+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 Enter n,negative quits: m?i100002? m值。编程求满足0的最小2 1?i a=0; i=1;
4、while (a100000) a=a+pow2(i); i=i+1; end m=i-1 3 编写一个函数,计算下面函数的值,给出x的值,调用该函数后,返回 y的值。 function y=myfun1(x) 0?xsinx,?3?)x,0?xy(x?3?x?x?6,? 选择一些数据测试你编写的函数。y=myfun1(x) function if x0&x3 y=-x+6; end : 运行结果?5 10?x?xa,迭代初值用如下迭代公式求4 ,迭代的终止条件为nn?1x?1.0,迭代次数不超过100次。分别对迭代结果和准确值进行比较,并统计迭代次数。0xa1?n?x 迭代公式: 1?nx2
5、21?nfunction x, n=sqrt_a(a) x=1.0; for k=1:100 m=x; x=x/2+a/(2*x); if abs(x-m)=10(-5) break end end x; n=k; s=(x-sqrt(a); if abs(s) x ,n=sqrt_a(3) 正确 x = 1.7321 n = 5 x, n=sqrt_a(17) 正确x = 4.1231 n = 6 x,n=sqrt_a(113) 正确 x = 10.6301 n = 8 5定义一个函数文件,求给定复数的指数、对数、正弦和余弦,并在命令文件中调用该函数文件。 程序设计: function e
6、ln s c=num(x) e=exp(x) ln=log(x) s=sin(x) c=cos(x) end 运行结果: num(5i) e = 0.2837 - 0.9589i ln = 1.6094 + 1.5708i s = 0 +74.2032i c = 74.2099 ans = 0.2837 - 0.9589i 11,编写一个MATLAB函数文件fx.mf(x)=6 设 ,? 42)?3x(?2)(x010.?01?使得调用f(x)时,x可用矩阵代入,得出的f(x)为同阶矩阵。 程序设计: 函数文件fx.m: function A=fx(x) A=1./(x-2).2+0.1)+1
7、./(x-3).4)+0.01) end 调用fx.m的命令文件: A=fx(1 2;2 3;4 3) 运行结果: A = 0.9716 10.9901 10.9901 100.9091 1.2340 100.9091 f(40)y=已知 7 f(30)?f(20)当f(n)=n+10ln(+5)时,求y的值。 2n函数文件fn.m: function x=fn(n) x=n+10*log(n2+5) end 调用fn.m的命令: y=fn(40)/(fn(30)+fn(20) 运行结果: y = 0.6390 五、实验小结和心得 通过本次实验,我了解了MATLAB的工作模式和M文件的构成规则,了解了命令M文件和函数M文件的异同。会MATLAB的M文件的创建与修改,会使用函数句柄调用函数,会运用顺序结构、循环结构和分支结构进行计算机编程。会控制MATLAB的程序流,熟悉了应用程序设计的基本步骤。能对文件进行简单操作,会调试和优化所设计的程序。对应用程序接口的设计也有所了解。MATLAB语言被称为第四代编程语言,程序简洁、可读性很强,而且调试十分容易。它是MATLAB重要组成部分。通过这次试验我已
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年高职(风力发电工程技术)风电场运维管理综合测试题及答案
- 2026年审计代理教学(审计代理应用)试题及答案
- 2025年大学书法教育(书法教学方法)试题及答案
- 2025年高职移动应用技术与服务(程序优化)试题及答案
- 2025年大学大一(机器人学基础)机器人运动学原理应用综合测试题及答案
- 2025年高职包装工艺(包装制作)试题及答案
- 2025年大学大三(铁道工程)铁路隧道工程技术实务试题及答案
- 2025年大学信息资源管理(信息管理技巧)试题及答案
- 2025年大学护理学(护理伦理学基础)试题及答案
- 2025年大学艺术批评(批评研究)试题及答案
- 透析病人远期并发症及管理
- 2025陕西西安财金投资管理限公司招聘27人易考易错模拟试题(共500题)试卷后附参考答案
- 放射科X线胸片诊断技术要点
- 配网工程安全管理培训课件
- 2025年江西电力职业技术学院单招考试文化素质物理通关题库附答案详解【综合题】
- PS通道抠图课件
- 危险化学品岗位安全生产操作规程编写导则
- 2026年高考政治一轮复习:必修2《经济与社会》知识点背诵提纲
- 2026年高考总复习优化设计一轮复习语文-第2节 赏析科普文的语言和主要表现手法
- 豆腐研学课件
- (2025秋新版)青岛版科学三年级上册全册教案
评论
0/150
提交评论