matlab 编写M文件(函数)入门笔记
2013-07-12 00:30
309 查看
本文最开始出自misskissC博客(matlab M文件编写)由同一人编写。
matlab的命令编辑窗口(Command Window)界面主要是用来调用系统命令、调用自定义函数(m文件里定义的函数)或编写一些较小的代码。在遇到需要用到比较多的代码才能摆平的需求时,在命令编辑窗口每一行都有提示输入符号,用起来不是很方便(如前所述而且命令编辑窗口主要是用来调用命令之用),此时我们不得不求助于matlab的m文件来编写代码。所以,记录一下经自行探索其编写方式后的入门过程:
版本:MATLAB 7.9.0(R2009b)
1.新建m文件
打开matlab软件-->file-->new-->Function m-file
经过此步骤之后,matlab会弹出一个新的编辑窗口,并生成少许代码如下:
这些代码是一个m-函数的模板。
function:表示编写的是一个函数。
output_args: 表示编写此函数的返回值(不同于C语言的是需要被返回的值无需使用return语句,只要将outp_args相应的参数拿到代码中赋值即可,同一般变量的使用),各返回值间用逗号隔开。
input_args: 此函数的输入参数,各参数之间用逗号隔开。
Untitled: 这是您所编写函数时所定义的函数名。注意:函数名和m文件名需要保持一致。如刚所创建的m文件在工作空间时命名为“RungeKuttaCalculate.m”则相应的函数名也需要为“RungeKuttaCalculate”,否则会引起报错。
%: 是matlab的注释语句的注释符,相当于C语言中的行注释符"//",在这里你可以描述此函数的功能,参数含义和返回值含义,使其含义更加明确。
剩余空间:从%到最后面的end部分是编辑代码的空间。end表示此函数编辑完毕。
总结函数文件的基本结构:
function [ 输出形参表:output1, output1...outptn ]=函数名 [输出函数形参表:input1, input2..., inputn]
注释说明部分
函数体代码部分
end
说明:
在调用函数时要使用编写此函数的文件名,一般函数名和文件名保持一致。
函数中遇return语句时,此函数调用结束。
函数调用的一般格式是: [输出实参表]=函数名(输入实参表)
在调用函数时,MATLAB用两个永久变量nargin和nargout分别记录调用该函数时的输入实参和输出实参的个数。只要在函数文件中包含这两个变量,就可以准确地知道该函数文件被调用时的输入输出参数个数,从而决定函数如何进行处理。
附:2.编写代码
(1)matlab数据类型
Matlab中有15种基本数据类型,主要是整型、浮点、逻辑、字符、日期和时间、结构数组、单元格数组以及函数句柄等。(http://hi.baidu.com/yicomrdztxbeiwd/item/37b3f246de294596823ae16c)一般在简单应用中用到的整形(用作循环变量)、矩阵、数组较多。
(2)matlab的流程控制语句
matlab的流程控制语句跟C语言中的语句差不多,只是使用的形式有点不同。在C语言中if, for, while等是使用"}"或者“;”(其中只包含一条语句时)来结束。在matlab中他们使用的形式如下:
if语句
if 条件1
matlab语句1;
【 elseif 条件2
matlab语句2;
.......
else
matlab语句n;】
end
end来标识if语句内的matlab语句完结,如果其中有一个逻辑条件为真则执行相应的matlab语句,否则跳过整个if语句内容执行后继语句。
【】内容为可选内容,根据需求而定。但是if....elseif必须匹配。
switch语句
switch 表达式
case 表达式1
matlab语句1
case 表达式2
matlab语句2
....
case 表达式n
matlab语句n
otherwise
matlab语句n+1
end
跟if语句相似,用switch下面的表达式来匹配case表达式中的内容,匹配到哪一个case表达式,相应的matlab语句就会被执行。
try语句
try
matlab语句1
catch
matlab语句2
end
try语句先试探性执行语句组1,如果语句组1在执行过程中出现错误,则将错误信息赋给保留的lasterr变量,并转去执行语句组2。这种试探性执行语句是其他高级语言所没有的。
for语句
for 循环变量=初始值:步长:终值
循环体语句
end
如果初始值在付给循环变量后,循环变量的值介于初始值与终值之间则执行循环体语句,每次执行后循环变量增加步长值,再与终值比较是否小于终值,若还小于终值,则执行循环体语句,若非,则跳出for循环执行后继语句。如此循环直到跳出for循环为止。
while语句
while(条件)
循环体语句
end
其执行过程为:若条件成立,则执行循环体语句,执行后再判断条件是否成立,如果不成立则跳出循.
循环嵌套,个循环之间可以嵌套使用。
在m文件的函数编写中,撇开读取文件操作不谈使用基本的流程控制和matlab基本数据类型,再加上调用matlab强大的库函数已经可以做很多事情了,起码做作业没问题了撒,用龙格-库塔解线性方程组时用上面之所列举足矣(加点数组定义法)。
matlab的命令编辑窗口(Command Window)界面主要是用来调用系统命令、调用自定义函数(m文件里定义的函数)或编写一些较小的代码。在遇到需要用到比较多的代码才能摆平的需求时,在命令编辑窗口每一行都有提示输入符号,用起来不是很方便(如前所述而且命令编辑窗口主要是用来调用命令之用),此时我们不得不求助于matlab的m文件来编写代码。所以,记录一下经自行探索其编写方式后的入门过程:
版本:MATLAB 7.9.0(R2009b)
1.新建m文件
打开matlab软件-->file-->new-->Function m-file
经过此步骤之后,matlab会弹出一个新的编辑窗口,并生成少许代码如下:
function [ output_args ] = Untitled( input_args ) %UNTITLED Summary of this function goes here % Detailed explanation goes here end
这些代码是一个m-函数的模板。
function:表示编写的是一个函数。
output_args: 表示编写此函数的返回值(不同于C语言的是需要被返回的值无需使用return语句,只要将outp_args相应的参数拿到代码中赋值即可,同一般变量的使用),各返回值间用逗号隔开。
input_args: 此函数的输入参数,各参数之间用逗号隔开。
Untitled: 这是您所编写函数时所定义的函数名。注意:函数名和m文件名需要保持一致。如刚所创建的m文件在工作空间时命名为“RungeKuttaCalculate.m”则相应的函数名也需要为“RungeKuttaCalculate”,否则会引起报错。
%: 是matlab的注释语句的注释符,相当于C语言中的行注释符"//",在这里你可以描述此函数的功能,参数含义和返回值含义,使其含义更加明确。
剩余空间:从%到最后面的end部分是编辑代码的空间。end表示此函数编辑完毕。
总结函数文件的基本结构:
function [ 输出形参表:output1, output1...outptn ]=函数名 [输出函数形参表:input1, input2..., inputn]
注释说明部分
函数体代码部分
end
说明:
在调用函数时要使用编写此函数的文件名,一般函数名和文件名保持一致。
函数中遇return语句时,此函数调用结束。
函数调用的一般格式是: [输出实参表]=函数名(输入实参表)
在调用函数时,MATLAB用两个永久变量nargin和nargout分别记录调用该函数时的输入实参和输出实参的个数。只要在函数文件中包含这两个变量,就可以准确地知道该函数文件被调用时的输入输出参数个数,从而决定函数如何进行处理。
附:2.编写代码
(1)matlab数据类型
Matlab中有15种基本数据类型,主要是整型、浮点、逻辑、字符、日期和时间、结构数组、单元格数组以及函数句柄等。(http://hi.baidu.com/yicomrdztxbeiwd/item/37b3f246de294596823ae16c)一般在简单应用中用到的整形(用作循环变量)、矩阵、数组较多。
(2)matlab的流程控制语句
matlab的流程控制语句跟C语言中的语句差不多,只是使用的形式有点不同。在C语言中if, for, while等是使用"}"或者“;”(其中只包含一条语句时)来结束。在matlab中他们使用的形式如下:
if语句
if 条件1
matlab语句1;
【 elseif 条件2
matlab语句2;
.......
else
matlab语句n;】
end
end来标识if语句内的matlab语句完结,如果其中有一个逻辑条件为真则执行相应的matlab语句,否则跳过整个if语句内容执行后继语句。
【】内容为可选内容,根据需求而定。但是if....elseif必须匹配。
switch语句
switch 表达式
case 表达式1
matlab语句1
case 表达式2
matlab语句2
....
case 表达式n
matlab语句n
otherwise
matlab语句n+1
end
跟if语句相似,用switch下面的表达式来匹配case表达式中的内容,匹配到哪一个case表达式,相应的matlab语句就会被执行。
try语句
try
matlab语句1
catch
matlab语句2
end
try语句先试探性执行语句组1,如果语句组1在执行过程中出现错误,则将错误信息赋给保留的lasterr变量,并转去执行语句组2。这种试探性执行语句是其他高级语言所没有的。
for语句
for 循环变量=初始值:步长:终值
循环体语句
end
如果初始值在付给循环变量后,循环变量的值介于初始值与终值之间则执行循环体语句,每次执行后循环变量增加步长值,再与终值比较是否小于终值,若还小于终值,则执行循环体语句,若非,则跳出for循环执行后继语句。如此循环直到跳出for循环为止。
while语句
while(条件)
循环体语句
end
其执行过程为:若条件成立,则执行循环体语句,执行后再判断条件是否成立,如果不成立则跳出循.
循环嵌套,个循环之间可以嵌套使用。
在m文件的函数编写中,撇开读取文件操作不谈使用基本的流程控制和matlab基本数据类型,再加上调用matlab强大的库函数已经可以做很多事情了,起码做作业没问题了撒,用龙格-库塔解线性方程组时用上面之所列举足矣(加点数组定义法)。
相关文章推荐
- matlab 编写M文件(函数) [李园7舍_404]
- Matlab笔记:文件操作相关的常用函数说明
- matlab 编程入门(M文件函数)
- [初学笔记] matlab中 函数m文件创立,匿名函数的建立和调用
- matlab入门笔记(六):编程基础之M文件
- matlab入门笔记(七):数据文件I/O
- linux库文件编写入门(笔记)
- Maven学习笔记(八)Maven的入门使用—1.编写POM文件
- Python学习笔记(三):Time、函数、模块、文件I/O、异常处理(快速入门篇)
- matlab函数文件位置
- Delphi初浅入门笔记之二:Delphi文件组成
- 学习笔记-编写供Turbo C调用的函数
- 【机器学习入门】Andrew NG《Machine Learning》课程笔记之二 :基本概念、代价函数、梯度下降和线性回归
- matlab编写的.M文件用vc6.0(MFC(dll)工程转换为dll文件,并用vc6.0(MFC对话框工程调用dll)文件
- Linux入门笔记之文件权限(二)
- Linux/Unix C编程之系统函数文件读写 学习笔记
- 标C编程笔记day05 函数声明、文件读写、联合类型、枚举类型
- PHP文件读写操作相关函数学习资料笔记
- matlab与modelsim中的文件操作函数
- VC调用matlab中定义的.m文件中的函数的实例