- 1、本文档共43页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
3.1.1 M文件概述 3.1.2 M文件的建立与打开 3.2 程序控制结构 3.3 函数文件 3.3.2 函数调用 1、Matlab中调用函数的常用形式: [输出参数1,输出参数2,…]=函数名(输入参数1,输入参数2,…) 说明:函数调用过程中,输入输出参数的顺序和个数必须与函数定义中的一致,即要注意实际参数和形式参数的对应。 例:利用函数文件,实现直角坐标(x,y)到极坐标(r,θ)的转换。 function [r,theta]=tran(x,y) r=sqrt(x^2+y^2); theta=atan(y/x); 函数文件tran.m x=3; y=4; [r,theta]=tran(x,y)
r =
5
theta =
0.9273 函数调用 2、函数调用可以嵌套,即一个函数可以调用别的函数,还可以调用它自身(递归调用)。 function iforgot(n) if nargin==0 n=20; end if n1 disp(I will remember to do my homework.) iforgot(n-1) else disp(Maybe NOT!) end 一个函数递归调用的例子:iforgot。 iforgot(10) I will remember to do my homework. I will remember to do my homework. I will remember to do my homework. I will remember to do my homework. I will remember to do my homework. I will remember to do my homework. I will remember to do my homework. I will remember to do my homework. I will remember to do my homework. Maybe NOT! 函数调用 3.3.3 函数参数的可调性 调用一个函数时,所用输入输出参数的数目,在函数内是规定好的。函数工作空间变量nargin包含输入参数个数;函数工作空间变量nargout包含输出参数个数。常用这两个变量来设置缺省输入变量,并决定用户所希望的输出变量。 function y=linspace(d1,d2,n) if nargin==2 n=100; end y=[d1+(0:n-2)*(d2-d1)/(n-1)d2]; 函数参数的传递具有可调性,通过变量nargin和nargout来实现 3.3.4 全局变量与局部变量 函数内所创建的变量只驻留在函数的工作空间,而且只在函数执 行期间临时存在,以后就消失,称为局部变量。不能从其它函数 和Matlab工作空间访问这些变量,因此,从一个调用到下一个调 用,利用局部变量存储信息是不可能的。 如果变量说明是全局的,函数可以与其它函数、Matlab工作空间 和递归调用本身共享变量; 为了在函数内或Matlab工作空间中访问全局变量,在每一个所希 望的工作空间,变量必须申明是全局的: global 变量名1 变量名2 … 声明格式: 例3-18 全局变量应用示例。 先建立函数文件wadd.m,该函数将输入的参数加权相加。 function f=wadd(x,y) global ALPHA BETA f=ALPHA*x+BETA*y; 在命令窗口中输入: global ALPHA BETA ALPHA=1; BETA=2; s=wadd(1,2) s= 5 实际编程中,应尽量避免使用全局变量。要是用了全局变量,建 议全局变量名要长,能反映它本身的含义,并有选择地以首次出 现的M文件的名字开头。 因为全局变量的值一旦在一个地方被改变,在其它使用该变量的函数中都将改变,这样有可能会出现不可预见的情况。 3.4 程序举例(参见教材) 第三章 MATLAB程序设计 3.1 M文件 3.2 程序控制结构(本章重点) 3.3 函数文件(本章重点) 3.4 程序举例(参见教材) 3.5 程序调试 3.1 M文件 包含Matlab程序代码的文件称为M文件,其扩展名为m。 如想灵活应用Matlab去解决实际问题,充分调用Matlab的科学技术资源,就需要编辑m文件。 M文件不能在命令窗口建立,但可使用任何文
您可能关注的文档
- 信息融合技术.ppt
- 信息论与编码-第六章2.ppt
- 信息论与编码第5章-3.ppt
- 第一部分专题一第三讲形近字.ppt
- 第一部分政治文明史专题一第2讲中国封建社会政治制度的建立、演进与强化直到顶峰课件人民版.ppt
- 信息论与通信、密码、信息隐藏(一.ppt
- 第七八章系统频率响应及其仿真校正.ppt
- 专题一、如何检索图书.ppt
- 专题一一中国早期政治制度的特点.ppt
- 信息论第1章绪论1.ppt
- 九上历史期末目标检测【统编九上历史阶段测试】(原卷版).docx
- 九下历史第1-2单元目标检测【统编九上历史阶段测试】(解答版).docx
- 九下历史第1-2单元目标检测【统编九上历史阶段测试】(讲解ppt).pptx
- 第四单元 三国两晋南北朝时期:政权分立与民族交融课堂习题.pptx
- 第一单元 史前时期 原始社会与中华文明的起源课堂习题.pptx
- 九下历史阶段目标检测(九下1-12课)【统编九下历史阶段测试】(解答版).docx
- 八上历史期中考试测试卷04【统编八上历史精讲课堂(阶段测试)】(讲解ppt).pptx
- 第3课 “开元盛世”课堂习题课件.pptx
- 第4课 安史之乱与唐朝衰亡课堂习题课件.pptx
- 2025年甘肃省高三一诊思想政治试卷(含答案).pdf
文档评论(0)