matlab 使用.m文件,matlab 编写M文件(函数)

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数据类型

(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强大的库函数已经可以做很多事情了,起码做作业没问题了撒,用龙格-库塔解线性方程组时用上面之所列举足矣(加点数组定义法)。

此次笔记记录完毕。

  • 2
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值