MatlabM文件编程-完整版.ppt

  1. 1、本文档共20页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

M文件及程序调试;

〔1〕指令驱动模式

即在MATLABM命令行窗口下用户输入单行指令时,MATLAB马上处理这条指令,并显示结果,这就是MATLAB命令行方式。

缺点:命令行方式程序可读性差,而且不能存储,当处理复杂问题和大量数据时很不方便。

〔2〕M文件模式

将MATLAB语句构成的程序存储成以m为扩展名的文件,然后再执行该程序文件,这种工作模式称为程序文件模式。;M语言文件可以分为主程序文件和函数文件

一个M语言文件就是由假设干MATLAB的命令组合在一

起构成的。

M语言文件是标准的纯文本格式的文件,其文件扩

展名为.m。

MATLAB提供了meditor编辑器编辑M文件

注意:

(1)不可用汉字命名〔假设用汉字命名虽然可以打开M文件,但是编译运行时会出错〕;

(2)文件名不可与MATLAB内置函数重名;

(3)文件名不可以以数字命名。

;主程序文件〔脚本文件〕;函数文件〔相当于C语言的子函数〕;functiony=mean(x)

%求平均值

〔3〕函数体:函数所用计算过程和输入输出参数赋值的MATLAB代码;

这里可以为调用函数、流程控制、交互式输入输出、计算、赋值等。

[m,n]=size(x);

ifm==1

y=sum(x)/n;

else

y=sum(x)/m;%把每一列做平均值运算

end

;主程序文件调用y=mean(x)的方法;函数文件例2:比较两个数大小;function[avg,stdev,r]=ourstats(x)

%ourstats多输入输出参数示例

%该函数计算处理矩阵,得到相应的均值、标准差和矩阵的秩

[m,n]=size(x);

ifm==1

m=n;

end

%Average

avg=sum(x)/m;

%Sandaddeviation

stdev=sqrt(sum(x.^2)/m-avg.^2);

%Rank

r=rank(x);

;运行

A=[123;456]

A=

123

456

[a,s,r]=ourstats(A)

a=

s=

r=

2

[a,s]=ourstats(A)

a=

s=

;子函数应用例1

function[avg,med]=newstats(u)%主函数

%NEWSTATS计算均值和中间值

n=length(u);

avg=mean(u,n);%调用子函数

med=median(u,n);%调用子函数

functiona=mean(v,n)%子函数

%计算平均值

a=sum(v)/n;

functionm=median(v,n)%子函数

%计算中间值

w=sort(v);%从小到大排序

ifrem(n,2)==1

m=w((n+1)/2);

else

m=(w(n/2)+w(n/2+1))/2;

end;使用global关键字创建全局变量时有三种状况

〔1〕假设声明为全局的变量在当前空间和全局空间都不存在,则创建一个新的变量,然后为这个变量赋值为空数组,该变量同时存在于局部工作空间和全局工作空间

〔2〕假设声明为全局的变量已经存在与全局空间中,则不会在全局工作空间创建新的变量,其数值同时赋值给局部工作空间中的变量

〔3〕假设声明为全局的变量存在于局部工作空间中,而全局工作空间不存在,则系统会提示一个警告信息,同时将局部的变量“挪〞到全局工作空间中;全局变量和局部变量实例;这类变量在MATLAB中被声明为persistent

这类变量在函数退出时不被释放,当函数再一次被调用时,变量保留上次退出时的值

保留变量的特征

〔1〕变量仅能在声明变量的函数内使用,其他函数不能直接使用保留变量

〔2〕函数执行退出后,MATLAB不清除保留变量占用的内存

〔3〕当函数被清除或者重新编辑后,保留的变量被清除;functiony=persistent_example(x)

%PERSISTENT_EXAMPLE保留变量使用示例

fori=1:x

y=myfun;

end

function

文档评论(0)

134****4355 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档