您所在位置: 网站首页 / 程序设计M文件知识分享.ppt / 文档详情
程序设计M文件知识分享.ppt 立即下载
2024-12-03
约3.5千字
约28页
0
222KB
举报 版权申诉
预览加载中,请您耐心等待几秒...

程序设计M文件知识分享.ppt

程序设计M文件知识分享.ppt

预览

免费试读已结束,剩余 23 页请下载文档后查看

10 金币

下载文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

M文件M文件就是由matlab语言编写的可在matlab语言环境下运行的程序源代码文件。Matlab语言中的M文件可分为命令式(script)和函数式(function)两种形式。M文件可在matlab的程序编辑器中编写,也可在其他的文本编辑器中编写,并以“.m”为扩展名加以保存,这类文件的第一行必须是一特殊字符function开始,格式为:
function[y1,y2,…]=fun(x1,x2,…)
fun是函数名,x1,x2,…是输入变量,y1,y2,…是输出变量。第一行:函数声明行函数变量及变量作用域
M文件的变量主要有输入变量、输出变量及函数内部变量。输入变量相当于函数的入口数据,是一个函数操作的主要对象。函数的作用就是对输入变量进行加工以实现一定的功能。函数的输入变量为形式参数,即只是传递变量的值而不是变量的地址,函数对输入变量的一切的操作和修改如果不依靠输出变量传出的话,将不会影响工作空间中该变量的值。
matlab语言提供了函数nargin来控制输入变量的个数,即可以实现不定参数输入的操作。
例如:在函数test1中,如果调用过程时只提供一个输入变量,则求该输入变量的模;如果是两个输入变量,则求两个输入变量的和
%如果调用过程时只提供一个输入变量,则求该输入变量%的模;如果是两个输入变量,则求两个输入变量的和
functionc=test1(a,b)
ifnargin==1
c=norm(a);
elseifnargin==2
c=a+b;
end
在工作窗口调用:
>>a=[234]
a=
234
>>test1(a)
ans=
5.3852
>>b=3;
>>test1(a,b)
ans=
567同时,matlab语言还提供了另一个针对输入变量的函数varargin。该函数可以实现不定数目输入变量的函数的程序设计。此时,对函数的一切输入变量均将存储在以varargin命名的单元型数组中。
例:在函数test2中,实现如下功能:
通过使用函数varargin,用户可以输入任意多个学生的数学、英语及语文的成绩,然后求各科目的平均值。
程序如下:
function[mathavg,englishavg,chineseavg]=test2(varargin)
s=length(varargin);%求数组的长度
mathsum=0;
englishsum=0;
chinesesum=0;
forj=1:s
mathsum=mathsum+varargin{j}(1);
englishsum=+varargin{j}(2);
chinesesum=+varargin{j}(3);
end
mathavg=mathsum/s;
englishavg=englishsum/s;
chineseavg=chinesesum/s;

思考:此函数如何调用。
与输入变量相对应,matlab语言对输出变量也提供了相应的函数,如nargout、varargout等。具体的使用与函数nargin和varargin相似。
下面给出一个综合应用示例。
示例函数test3中,综合使用了函数nargin、nargout、narargin、narargout等,函数目的是求各学生(总数不确定)的个人平均成绩,以及指定科目的平均成绩等。

在matlab中,函数内部定义的变量除特殊声明外均为局部变量。如果需要使用全局变量,则应当使用命令global定义,而且在任何使用该全局变量的函数中都应加以定义,在命令窗口中也不例外。
注意:变量之间必须以空格分隔,而不能用逗号分隔。
示例:子函数与局部函数
Matlab中也可以定义子函数,用来扩充函数的功能。在函数文件中题头定义的函数为主函数,而在函数体内定义的其他函数均被视为子函数。子函数只能为主函数或同一主函数下的其他的子函数所调用。
示例:局部函数与子函数的区别是:局部函数可以被其父目录下的所有函数所调用,而子函数则只能被其所在M文件的主函数所调用;在函数编辑的结构上,局部函数与一般的函数文件的编辑相同,而子函数则只能在主函数文件中编辑。程序设计的辅助函数
用户交互函数
键盘输入函数包括函数input及keyboard。
函数input用于提示用户输入指定参数的值,调用格式:
var=input(‘提示性语句’)
其中,“提示性语句”将给出相应的提示信息以告知用户输入的对象,在这种调用过程中,用户可以有键盘输入任何的可计算的表达式或已赋值的当前工作空间中的变量名,而且返回至变量var中的值也是数值型,所有的输入以回车键加以确认。
第一种调用格式:
>>a=input('inputexample\n')
inputexample
1+4
a=
5
>>ischar(a)
ans=
0另一种输入函数为ke
查看更多
单篇购买
VIP会员(1亿+VIP文档免费下)

扫码即表示接受《下载须知》

程序设计M文件知识分享

文档大小:222KB

限时特价:扫码查看

• 请登录后再进行扫码购买
• 使用微信/支付宝扫码注册及付费下载,详阅 用户协议 隐私政策
• 如已在其他页面进行付款,请刷新当前页面重试
• 付费购买成功后,此文档可永久免费下载
全场最划算
12个月
199.0
¥360.0
限时特惠
3个月
69.9
¥90.0
新人专享
1个月
19.9
¥30.0
24个月
398.0
¥720.0
6个月会员
139.9
¥180.0

6亿VIP文档任选,共次下载特权。

已优惠

微信/支付宝扫码完成支付,可开具发票

VIP尽享专属权益

VIP文档免费下载

赠送VIP文档免费下载次数

阅读免打扰

去除文档详情页间广告

专属身份标识

尊贵的VIP专属身份标识

高级客服

一对一高级客服服务

多端互通

电脑端/手机端权益通用