2 回答

TA貢獻2051條經驗 獲得超10個贊
對于返回一個參數的函數fun(...)
直接在命令行輸入
fun(...)
那么其返回參數就會自動存放到變量ans里面
對于有兩個返回參數以上的函數
直接在命令行輸入
fun(...)
那么其第一個返回參數會自動存放到變量ans里面,而后面其他的返回參數就會被忽略
如果想得到多返回參數函數的所有返回參數,必須將返回參數賦值給足夠的變量儲存起來
就像你的函數sss(x),
你必須在命令行輸入
[a b]=sss(x)
那么sss的第一個返回參數賦值給a,第二個返回參數賦值給b
當然a,b變量名你是可以隨意改的,但是必須要兩個不同的變量來儲存這兩個返回參數
像你所說的情況,如果只返回一個值的話,應該返回第一個hehe才對

TA貢獻1806條經驗 獲得超5個贊
使用MATLAB函數時,例如inv, abs, angle和sqrt,MATLAB獲取傳遞給它的變量,利用所給的輸入,計算所要求的結果。然后,把這些結果返回。由函數執行的命令,以及由這些命令所創建的中間變量,都是隱含的。所有可見的東西是輸入和輸出,也就是說函數是一個黑箱。
這些屬性使得函數成為強有力的工具,用以計算命令。這些命令包括在求解一些大的問題時,經常出現的有用的數學函數或命令序列。由于這個強大的功能,MATLAB提供了一個創建用戶函數的結構,并以M文件的文本形式存儲在計算機上。MATLAB函數fliplr是一個M文件函數良好的例子。
function y = fliplr(x)
% FLIPLR Flip matrix in the left/right direction.
% FLIPLR(X) returns X with row preserved and columns flipped
% in the left/right direction.
%
% X = 1 2 3 becomes 3 2 1
% 4 5 6 6 5 4
%
% See also FLIPUD, ROT90.
% Copyright (c) 1984-94 by The MathWorks, Inc.
[m, n] = size(x);
y = x(: , n : -1 : 1);
添加回答
舉報