Matlab自定义函数

来源:互联网 发布:seo外包公司 小周 编辑:程序博客网 时间:2024/04/29 03:23

Matlab提供了强大的函数库供用户调用,但也支持用户自己定义函数。本文使用了范德堡大学教授Akos Ledeczi授课中的例子来一步步说明如何在Matlab中自定义函数。


首先,在command window中输入edit命令,开始编辑函数。本函数实现的是随机生成一个3行4列的矩阵,该矩阵的元素取值范围在0-1之间。

function myRanda = rand(3,4)end
其中,function和end是关键字,function表示该文件是一个函数,end表示函数体的结束。在command window中执行myRand命令,得到的结果如下:

>> myRanda =    0.5688    0.3371    0.3112    0.6020    0.4694    0.1622    0.5285    0.2630    0.0119    0.7943    0.1656    0.6541


然后,为函数增加参数。本函数实现的是随机生成一个3行4列的矩阵,该矩阵的元素取值范围在low-high之间。

function a = myRand(low, high)a = low+rand(3,4)*(high - low);end
其中,low和high是函数体的两个输入参数,分别代表了矩阵元素取值范围的上限和下限;a是函数的范围值。在command window中执行myRand命令,得到的结果如下:
>> myRand(1,6)ans =    4.4461    1.4191    1.7619    5.9807    4.7408    2.1449    5.1291    1.3909    3.2527    5.5667    3.6917    3.2134



最后,为函数再增加一个返回参数。该函数将随机生成的矩阵中的每一个元素相加,返回其总和。

function [a, s] = myRand(low, high)a = low + rand(3,4)*(high-low);v = a(:);s = sum(v);end
其中,s是新增加的返回参数。在command window中执行myRand命令,得到的结果如下:

>> [x ss] = myRand(2,4)x =    3.1504    2.7063    2.0860    3.4634    2.1196    3.6424    2.3380    3.2955    2.4696    2.0308    3.2982    2.9018ss =   33.5021


到此为止,在Matlab中简单自定义函数的方法已经介绍完毕。Matlab还支持常见的for-loop和if-else等循环和判断结构,参见后续博客。



0 0