- 1、本文档共6页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
MATLAB学习及实验材料入门5:M文件.doc
§5 程序设计续
5.4 脚本M-文件
到现在为止我们都是在MATLAB工作区中输入数据和命令,进行计算的,这种方法在处理比较复杂的问题和大量的数据时相当困难。MATLAB提供的解决办法是,先在一个以 m 为扩展名的M-文件中输入数据和命令,然后再让MATLAB执行这些命令。M-文件有两种类型:脚本M-文件和函数M-文件。
脚本M-文件不输出任何计算结果(但可能会输出图形),建立的变量保存在内存中,可以在命令窗口中察看和使用(除非用清除命令清除)。一个比较复杂的程序常常要作反复的调试,这时你不妨建立一个文本文件并把它储存起来,可以随时调用进行计算。建立文本文件可以在File菜单中选择New,再选择M-file,这时MATLAB将打开一个文本编辑和调试窗口,在这里输入命令和数据。储存时文件名遵循MATLAB变量命名的原则,但必须以 m 为扩展名,其一般形式为
M-文件名.m
如 hilb1.m, pp.m 等。
M-文件中的变量都是全局变量,在执行过程中, 脚本M-文件中的命令可以使
用目前工作区中的变量,它所产生的变量也将成为工作区的一部分。比如生成Hilbert矩阵的程序可以写成如下的脚本M-文件:
for i=1:m
for j=1:n
a(i,j)=1/(i+j-1);
end
end
a=rats(a);
命名为 hilb1.m 储存起来,那么当需要一个2×3 Hilbert矩阵时,可以在MATLAB工作区中进行:
》m=2,n=3,a ↙
m =
2
n =
3
a =
1 1/2 1/3
1/2 1/3 1/4
5.5 函数M-文件
函数M-文件是另一类M-文件,我们可以根据需要建立自己的函数文件,它们能够像库函数一样方便地调用,从而极大地扩展MATLAB的能力。如果对于一类特殊的问题,建立起许多函数M-文件,就能最终形成独立的工具箱。
函数M-文件的基本用法
函数M-文件的第一行有特殊的要求,其形式必须为
function 因变量= 函数名(自变量)
其他各行为从自变量计算因变量的语句,并最终将结果赋予因变量。这个M-文件的文件名必须是函数名.m(matlab6.5.1对此已经有所放松,即当函数名与文件名不同时,忽略文件中定义的函数名;但建议还是保持两者名称一致为好)。下面给出函数文件的一个简单例子。
如果我们经常要调用这样的随机矩阵,其每个元素等概率地取从0到9的整数值,就不妨建立如下的函数M-文件。
function a=randint(m,n)
% RANDINT Randomly generated integral matrix.
% randint(m,n) returns an m-by-n such matrix with entries between 0 and 9.
a = floor(10*rand(m,n));
当需要一个这样的2×3随机矩阵时,只需
》x=randint(2,3) ↙
x =
9 6 8
2 4 7
MATLABM-文件中%后面是注释部分,MATLAB执行时忽略这些内容。函数M-文件中紧跟在函数名后的注释语句给出了这个函数的在线帮助内容,实际上MATLAB的所有库函数都有这样一段注释。
函数M-文件有多个因变量时,要用[]将它们括起来,请看下例:
function [mean, stdev] = stat(x)
% STAT Mean and standard deviation
% For a vector x, stat(x) returns the mean and standard deviation of x.
% For a matrix x, stat(x) returns two row vectors containing, respectively,
% the mean and standard deviation of each column.
[m n] = size(x);
if m == 1
m = n; % handle case of a row vector
end
mean = sum(x)/m;
stdev = sqrt(sum(x.^2)/m - mean.^2);
其用途不难从注释行知道。当求一个数组x的平均值和均方差时,只需:
》x=[2 4 -7 0 5 -1];[xm,xd]=stat(x) ↙
xm =
5.0000e-001
xd =
3.9476e+000
M-文件中的变量一般是局部变
文档评论(0)