《实验5MATLAB程序设计》由会员分享,可在线阅读,更多相关《实验5MATLAB程序设计(7页珍藏版)》请在金锄头文库上搜索。
1、实验5 MATLAB程序设计目的和要求(1) 熟练掌握MATLAB的程序流程控制结构。(2) 熟练掌握M文件的结构。(3) 熟练掌握函数调用和参数传递。(4) 掌握内联函数的使用。(5) 了解程序性能剖析窗口。(6) 掌握利用函数句柄进行数值计算。内容和步骤MATLAB 的语法规则简单,编程效率高。作为1个完整的程序语言,MATLAB也有其各种程序流程控制、文件格式和函数调用的规则,通过函数的调用就能够组成庞大的程序,完成复杂的功能。1、 使用程序流程控制Fibonacci数列的各元素为:1、1、2、3、5、8、,满足以下关系:用M函数文件实现,数列的元素个数为输入变量。打开M文件编辑器窗口的
2、方法有以下几种。(1) 按M函数文件格式创建文件开头。(2) 用while循环实现程序功能。在命令窗口输入调用命令,调用函数结果如下。(3) 使用for循环实现。(4) 当某个元素大于50时,退出循环结构,程序修改如下。(5) 将该.m文件生成P码文件。 将shiyan0501.m删除,重新运行该文件,结果如下。 2、 使用调用函数 计算,其中。 为输入参数,当不满足条件就不计算,并显示提示;当前的系数则循环结束。使用主函数和子函数调用来实现各项系数的运算,主函数为计算各项和;系数作为1个子函数cal;其中求阶乘作为1个子函数factorial。cal函数调用子函数factorial,主函数则
3、要调用子函数cal。本程序是函数的嵌套调用。(1) 子函数factorial计算,输入参数为n,使用for循环实现的阶乘,输出参数为阶乘。 (2) 子函数cal。子函数cal是计算系数,输入参数是n,输出参数是计算的结果。本函数中调用了求阶乘的子函数factorial。(3) 主函数shiyan0502。求主函数计算,输入参数为,输出参数为的计算结果。当输入参数不满足条件时,退出程序。(4) 使用函数句柄。在命令窗口使用函数句柄来调用函数。(5) 使用全局变量。MATLAB的编程不提倡使用全局变量,此程序主要是为了查看全局变量的概念。将n作为全局变量,子函数factorial不修改,子函数ca
4、l程序和主函数shiyan0502修改如下。子函数cal没有输入变量,而用全局变量n传递。3、 利用泛函命令实现数值分析 注:以函数为输入变量的命令,称为泛函命令 已知,利用泛函命令求其过零点和极小值。(1) 使用函数调用的方法。 创建函数shiyan0503实现上述表达式关系。 查看该函数的输出波形,如图S5.3所示。图S5.3 输出波形 利用函数名求过零点,在图S5.3中可以看出在0的附近有2个过零点。 利用函数句柄求过零点。 利用函数句柄求极小值,由图S5.3可知,极小值有多个,查找其中2个。(2) 使用内联函数。 创建内联函数。 画曲线图。 求过零点。 求极小值。练习:1、 编写M脚本文件,分别使用for和while循环语句计算的程序。2、 编写M函数文件,将某班学生某门课的成绩为:60、75、85、96、52、36、86、56、94、84、77,用switch结构统计各分段的人数,并将各人的成绩变为用优、良、中、及格和不及格表示,统计人数和成绩变换都用子函数实现。