當使用多輸出matlab函數時,我是否需要回調所有變量?或者我可以只取前兩個變量? (如果so..is它不建議?)當使用多輸出matlab函數時,是否需要回調所有變量?
讓在function.m
[a, b, c] = function()
在main.m文件
[var1, var2] = function;
當使用多輸出matlab函數時,我是否需要回調所有變量?或者我可以只取前兩個變量? (如果so..is它不建議?)當使用多輸出matlab函數時,是否需要回調所有變量?
讓在function.m
[a, b, c] = function()
在main.m文件
[var1, var2] = function;
致電時(幾乎)所有功能說在matlab中,您可以請求比指定更少的輸出。所以,是的,你給的例子應該工作得很好。
有一些聰明的事情可以做到這一點,比如在函數中使用nargout來查看請求了多少個輸出參數,並且只計算被請求的值作爲優化技巧。
它取決於函數的定義,以及您想要獲得哪個輸出。
並非所有的功能都可以這樣做,您可以在幫助文檔的特定功能開頭找到每個功能的所有選項。
如果你只想要2,或3輸出,並且希望還能節省一點不有趣的結果計算時,你可以使用~
選項,像這樣(爲版本2009年b及更高版本):
[~, var1, var2]=function
許多函數允許傳遞選項以更改函數的行爲方式。我用/寫了各種數值求解函數一點,一個很好的選項,例如是LSMR function(s)。否則,如果您可以操縱原件,請在輸入之前或結束時使用內聯子例程來生成所需的輸出。
或者,如果你不能它將返回單元陣列或矢量,你可以通過anonymous function這樣產生所需的輸出。
真的,可以做很多方法。非常有關聯性。
但請注意 - 如果您請求的輸出數量少於他們可以提供的數量,一些(IMNSHO稍有可疑的)功能將改變行爲並返回不同的東西。 – Edric