- 1、本文档共85页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
MATLAB4_1第3章程序设计初步
第3章 matlab的程序设计初步;OUTLINE;什么是m文件;2. m文件
m文件的语法类似于c语言,但又有其自身特点。它只是一个简单的ASCII码文本文件,执行程序时逐行解释运行程序,matlab是解释性的编程语言。
m文件有两类
?独立的m文件 — 称命令文件,脚本(script)
?可调用m文件 — 称函数文件 Functions
;表3-1脚本文件与函数文件的区别;Review: matlab的工作模式;例如:
x1=0:10
x1 =
0 1 2 3 4 5 6 7 8 9 10
x2=0:3:11
x2 =
0 3 6 9
x3=11.5:-3:0
x3 =
11.5000 8.5000 5.5000 2.5000
;x1=0:10,x2=0:3:11,x3=11.5:-3:0
x1 =
0 1 2 3 4 5 6 7 8 9 10
x2 =
0 3 6 9
x3 =
11.5000 8.5000 5.5000 2.5000
命令行方式程序可读性差,而且不能存储,对于处理复杂问题和大量数据时是不方便的,应编写成能存储的程序文件。
;m文件模式
将matlab语句构成的程序存储成以m为扩展名的文件,然后再执行该程序文件,这种工作模式称为程序文件模式。
程序文件不能在指令窗口下建立,因为指令窗口只允许一次执行一行上的一个或几个语句。;M 文件的创建和编辑 ;2. 点击file — Save Workspace As;m文件编辑器缺省设置是 matlab editor
还可设成:其他的Text Editor
从“file” – “preference” – editor/debugger设置
注意:所创建的m文件必须纳入matlab搜索路
径后,才能在matlab命令窗口运行。
;matlab搜索路径的设置
matlab 缺省路径是c:\matlab\bin
. 用pathtool路径浏览器设定当前目录
“file” - “set path” 方法设定当前目录;matlab文件的数据文件类型mat;M文件结构;脚本(命令)文件(Script);M函数文件( Function);函数文件的特点:;函数m文件的格式:
function 返回变量=函数名(输入变量)
注释说明语句段
程序语句段
特定规则:
函数m文件第一行必须以单词function作为引导词,必须遵循如下形式:
function <因变量>=<函数名>(<自变量>)
m文件的文件名必须是<函数名> .m。
程序中的变量均为局部变量,不保存在工作空间中。其变量只在函数运行期间有效。;M函数文件示例;函数申明(定义)行(Function declaration line):;H1行(The first help text line):;在线帮助文本(Help text)区:;编写和修改记录:;函数体(Function body):;function r = rank(A,tol)
%RANK Matrix rank.
% RANK(A) provides an estimate of the number of linearly
% independent rows or columns of a matrix A.
% RANK(A,tol) is the number of singular values of A
% that are larger than tol.
% RANK(A) uses the default tol = max(size(A)) * norm(A) * eps.
%
% Class support for input A:
% float: double, single
% Copyright 1984-2004 The MathWorks, Inc.
% $Revision: 5.11.4.2 $ $Date: 2004/04/10 23:30:08 $
s = svd(A);
if nargin==1
tol = max(size(A)') * eps(max(s));
end
r = sum(s > tol);.
文档评论(0)