资源描述:
《Matlab入门(3).ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、Matlab入门2010数学建模培训华侨大学数学学院二、MATLAB基本使用1、Matlab的进入与运行2、Matlab程序设计语言基础3、Matlab的基本数学运算4、Matlab的程序设计5、Matlab的绘图Matlab程序设计为了便于应用,MATLAB提供了一些流程控制的命令。这些命令对脚本编写带来了一些方便,但是需要注意的是,同样的功能如果可以用已有函数实现,就尽量不要使用这些流程控制命令,尤其是循环控制命令。但是在数学建模中,我们更多需要的是自编的函数Matlab程序设计for循环:允许一组命令以固定
2、的次数重复,它的一般形式是fori=V,循环结构体endV为一个向量,循环变量i每次从V中取一个数值,执行一次循环体的内容,直至执行完V中所有分量与for循环以固定的次数求一组指令相反,while循环以不定的次数求一组语句的值。While循环的一般形式为:while(条件式),循环结构体,end只要条件式的值为真,就自动执行循环体的结构。Matlab程序设计用循环结构求解>>s1=0;fori=1:100,s1=s1+i;end,s1s1=5050>>s2=0;i=1;while(i<=100),s2=s2+i;
3、i=i+1;end,s2s2=5050利用函数>>s3=sum(1:100)s3=5050例求解级数求和>>tic,s=0;fori=1:100000,s=s+1/2^i+1/3^i;end;tocelapsed_time=0.7030>>tic,i=1:100000;s=sum(1./2.^i+1./3.^i);tocelapsed_time=0.1880自写循环结构未优化,效率较差;if-else-end结构很多情况下,命令的序列必须根据关系的检验有条件的执行,它由if-else-end结构提供。它的结构如下
4、:ifexpression1commands1elseifexpression2commands2elseif……elsecommandsendMatlab的函数编写与调试例求满足的最小m值用while较为方便>>s=0;m=0;while(s<=10000),m=m+1;s=s+m;end,s,m上述问题可以求出和式大于10000的最小m,若想分别求出大于20000,40000,的最小m值,可以分别改变程序的限制值10000,但还是很繁杂。若能建立一个机制,即输入20000就返回满足它的m值?Matlab的函数
5、编写与调试函数M文件第一行必须是以一特殊字符function开始,格式为:function[返回变量列表]=函数名(输入变量列表)函数M文件的文件名必须与函数名完全一致例如定义函数myfun,则M文件的文件名为myfun.m。返回变量如果多于一个,用方括号括起来,否则可以省略方括号。多个输入变量和返回变量之间用逗号分隔。把一个比较大的任务分解为多个比较小的任务,它们之间通过调用实现参数传递,小任务可以是函数。1函数调用常见的函数调用形式为:[out1,out2,…]=function(in1,in2,…)一个函数
6、可以嵌套,也可以调用其它的函数,甚至调用自己(也就是递归调用)。函数文件,函数名称和文件名必须相同。如上述问题可以编写函数function[s,m]=findsum(k)s=0;m=0;while(s<=k),m=m+1;s=s+m;end将其保存为findsum.m调用:在提示符中输入>>[m1,s1]=findsum(145323)结果为m1=539,s1=145530这样的调用方式很灵活,无需修改程序就可以很容易的调用函数,得出结果。M-函数格式是Matlab程序设计的主流。例functionf=fun1(
7、x)ifx>1f=x^2+1;elsef=2*x;end保存为fun1.m在命令窗口键入>>fun1(3)结果为102参数传递MATLAB函数的输入输出数目都可以变化,通过这个特性,可以实现一些自定义的功能。函数的输入输出参数数目可以通过变量nargin和nargout获得。函数调用中可以使用少于规定的输入输出参数数目,但是不能更多。3函数注意函数可以按少于函数M文件中所规定的输入和输出变量进行调用,但不能用多于函数M文件中所规定的输入和输出变量数目。如果输入和输出变量数目多于函数M文件中function语句一开
8、始所规定的数目,则调用时自动返回一个错误。当调用一个函数时,所用的输入和输出的参量的数目,在函数内是规定好的。函数工作空间变量nargin包含输入参量个数;函数工作空间变量nargout包含输出参量个数。事实上,这些变量常用来设置缺省输入变量,并决定用户所希望的输出变量。在M文件函数里,变量nargout可用来检验输出参量的个数,并按要求修正输出变量的创建。例-假设想编写