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等循環和推斷結構。參見興許博客。