Matlab提供了強大的函數庫供用戶調用,但也支持用戶自定義函數。本文使用了范德堡大學教授Akos Ledeczi授課中的樣例來一步步說明怎樣在Matlab中自定義函數。
首先,在command window中輸入edit命令。開始編輯函數。本函數實現的是隨機生成一個3行4列的矩陣。該矩陣的元素取值范圍在0-1之間。
function myRand a = rand(3,4) end當中,function和end是keyword,function表示該文件是一個函數,end表示函數體的結束。在command window中運行myRand命令,得到的結果例如以下:
>> myRand
a =
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.9018
ss =
33.5021到此為止。在Matlab中簡單自己定義函數的方法已經介紹完成。Matlab還支持常見的for-loop和if-else等循環和推斷結構。參見興許博客。
