练习3 MATLAB程序设计
更新时间:2024-05-03 21:14:01 阅读量: 综合文库 文档下载
- 练书法的好处有哪些推荐度:
- 相关推荐
MATLAB语言上机练习 上机者班级学号: 上级者姓名:
练习4 MATLAB程序设计
一、目的和要求
(1)掌握MAM的程序流程控制结构。 (2)掌握M文件的结构。 (3)掌握函数调用和参数传递。 (4)了解程序性能剖析窗口。
(5)掌握利用函数句柄进行数值分析。 二、内容和步骤
MATLAB的语法规则简洁,编程效率高,作为一个完整的程序语言,MATLAB也有其各种程序流程控制、文件格式和函数调用的规则,通过函数的调用就能够组成庞大的程序,完成复杂的功能。 1.使用程序流程控制
Fibonacci数列的各元素为:1,1,2,3,5,8,?,满足以下关系:
F1?1F2?1Fn?Fn?1?Fn?2
用M函数文件实现,数列的元素个数为输入变量。
(l)按M函数文件格式创建文件开头。 function f=shiyan0501(n) %SHIYAN0501 Fibonacci % Fibonacci 数列 % n 元素个数
% f 构成Fibonacci 数列向量 (2)用While循环实现程序功能。
f(1)=1;f(2)=1;i=2; while i<=n end
在命令窗口输入调用命令调用函数,元素个数n=10, 结果:(
)
(3)使用for循环实现,重新编制上述函数。 结果:(
15
f(i+1)=f(i-1)+f(i); i =i+1;
MATLAB语言上机练习 上机者班级学号: 上级者姓名:
)
(4)当Fibonacci 数列中某个元素大于50时,用“break”命令退出循环结构,修改程序如下: 结果:(
)
(5)将该.m文件生成P码文件: >>pcode shiyan0501
将 shiyan0501.m删除,重新调用函数文件,执行结果如下: 结果:(
)
2.使用函数调用
计算
arcsinx?x?2x24?3?4?3?2?x16?4?55???(2n)!x22n22n?1(n!)(2n?1),其中x?1。
x为输人参数,当x不满足条件时就不计算,并显示提示;当x2n?1前的系数<0.00001时,则循环结束。
使用主函数和子函数调用来实现各项系数的运算,主函数计算各项和;子函数cal计算系数
(2n)!22n12(n!)(2n?1);子函数 factorial求阶乘n!。主函数调用子函数cal,子函数cal再调用子函数
factorial,本程序是函数的嵌套调用。
(1)子函数 factorial计算n!,输入参数为 n,使用 for循环实现阶乘,输出参数为阶乘。 (2)子函数cal计算系数function f=cal(n)
f=factorial(2*n)/(2^(2*n)*(factorial(n))^2*(2*n+1)); 本函数中调用了求阶乘的子函数factorial。 练习:用for、while分别编写factorial子函数。 结果:(
16
(2n)!22n12(n!)(2n?1),输入参数是n,输出参数是计算结果。
MATLAB语言上机练习 上机者班级学号: 上级者姓名:
)
(3)主函数shiyan0502。主函数计算arcsin x,输入参数是x,输出参数是计算结果。 Function y=shiyan0502(n) % shiyan0502 arcsin x n=1; if abs(x)<1
y=x;
while cal(n)>0.00001 end
y=y+cal(n)*x^(2*n+1); n=n+1;
else end
当输入参数不满足条件时,退出程序。 结果:(
)
(4)程序的调试。当有多个函数调用时,由于函数变量的工作空间是独立的,被调用的函数执行结束后变量就消失,因此调试时要使用MATLAB调试器来查看运行过程中的变量值。
①设置断点。在需要查看程序的地方设置断点,使用选单“Breakpoints”→“Set/Clear Breakpoints”,或单击F12快捷键,或者单击工具栏的按钮实现,则在设置断点的程序行前出现大红圆点;然后选择“Run”选单,程序就会执行到设置断点的位置,暂住执行;这时将光标移到需要查看的变量上停留片刻,就可以看到该变量的当前值。在MATLAB命令窗口中显示提示符“k >>”,可以输入命令查看或修改变量。
②单步运行。调试中的单步运行很有用,当需要查看像循环过程中变量的变化时,可以使用单步运行来实现。单步运行使用选单“Debug”→“Step”,或单台F10快捷键,或者单击工具栏的按钮实现;
17
disp(‘输入出错’) y=0; return
MATLAB语言上机练习 上机者班级学号: 上级者姓名:
如果需要单步进入子函数,则可以使用“Step In”命令,或单击Fll快捷键,或单击工具栏的按钮。例如主函数shiyan0502可以单步运行,进入子函数cal。同样,在单步运行程序暂停时,将光标移到需要查看的变量上停留片刻,就可以看到该变量的当前值。 (5)使用函数句柄。在命令窗口使用函数句柄来调用函数: >>h_shiyan0502=@shiyan0502 >>y=feval(@shiyan0502,0.5) 结果:(
3.利用泛函命令实现数值分析 已知f(t)?(sin2t)eat?bt,a?0.1,b?0.5,利用范函命令求其过零点和极小值。(1) 创建函数shiyan0503实现上述表达式关系。
function y=shiyan0503(t)
% shiyan0503 y=(sin(t)).^2.*exp(a*t)-b*abs(t) a=0.1;b=0.5;
y=(sin(t)).^2.*exp(a*t)-b*abs(t); (2) 查看该函数的输出波形。
>>x=-10:0.1:10; 图形:( >>plot(x, shiyan0503(x)) >>set(gca,’ygrid’,’on’) (3) 利用函数名求过零点。
>>x1=fzero(‘shiyan0503’,0.5) %求在0.5附近处的过零点 结果:( )
>>x2=fzero(‘shiyan0503’,-0.5) %求在-0.5附近处的过零点 结果:( ) (4) 利用函数句柄求过零点。
>>x1=fzero(@shiyan0503,0.5)
结果:( )
>>x2=fzero(@shiyan0503,-0.5)
结果:( ) (5) 利用函数句柄求极小值。
>>x1=fminbnd(@shiyan0503,0.1,0.7) %求在0.1~0.7间的极小值 结果:( )
>>x2=fminbnd(@shiyan0503,2,5) %求在2~5间的极小值 结果:( )
18
)
)
正在阅读:
练习3 MATLAB程序设计05-03
《项羽之死》课本剧本09-20
中国特色社会主义文化建设研究03-08
石桥中心小学突发事件应急管理制度07-05
水环境学作业11-17
街道办“六一”活动总结02-26
- Win7 安装MySql图示
- 计算器课程设计报告
- 部编版八年下语文第三单元第六单元古诗文理解默写练习及答案
- 13质量通病防治方案和施工措施
- 土力学试题~~~~
- 公务员打印资料
- 传热膜系数测定实验报告 - 图文
- 新时期煤矿协管安全工作的创新与实践
- 第五章 习题及参考答案
- 220kV架空线路强条执行记录表
- 音乐欣赏读后感
- 高炉
- 劳动教育需要新的时代内涵
- 10建筑地面工程施工质量验收规范GB50209-20021
- 银行会计练习题2答案
- 2013年七年级地理上册知识点复习提纲湘教版
- 人教版三年级语文上册第四单元测试题(A卷)(有答案)
- 营养师第九章练习题
- 湖北省武汉市2018届高三毕业生二月调研 理综化学
- 行业分析2018-2023年中国男性护肤品行业市场发展分析及投资前景
- 程序设计
- 练习
- MATLAB
- 2017年春季学期新人教版七年级数学下册周周练(8.1~8.3)
- 试论中老年人的羽毛球运动
- 电院2014届本科毕业论文(设计)答辩工作方案--最终 - 图文
- 网络知识_选择题_答案
- 农村小学体育的现状与思考
- 李凭箜篌引课堂实录
- 网络传播与品牌网络传播文献综述
- 《地质学》野外实习指导书 - 内容
- 2011级网络工程 - 计算机网络综合实践 - 要求
- 上海交大16秋网络继续教育计算机文化基础第一次作业
- 我的固废课程设计之300万立方米垃圾填埋场设计
- 夜间施工许可证、噪声
- 结构力学实验报告模板1
- 青岛湛山宾馆改造(万邦中心)机电安装工程
- 通信阶段作业
- 肺移植进展
- 辽宁省东北育才学校2012届高考理综模拟考试新人教版
- 数据结构课件题目(附答案) - 图文
- 桂电电气专业暑假生产实习报告 - 图文
- 会计实习周记22篇