Matlab自己定義函數


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




免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM