2015-05-22 65 views
0

我有這個功能的問題(我對Matlab有很少的經驗)。該函數應該返回3個不同的參數,但始終只返回一個。我的意思是,爲了讓Y出來,我必須從輸出參數中刪除Tot和Z!因爲它現在只有Tot被返回。功能在時間只返回一個輸出

function [Tot, Z, Y] = something(A) 

%A = [1 2 3; 4 5 6; 7 8 9; 10 11 12]; 

Z=cumsum(A);    %cumulative sum of columns 
Y=cumsum(A,2);    %cumulative sum of rows 
Tot = sum(Z(:))+sum(Y(:)); %Total sum of Z+Y 

end 

爲什麼要這樣做?我做錯了什麼,我需要所有3個參數。

+3

你是怎麼調用這個函數的?接收所有三個參數的正確調用是:[A,B,C] = something(X)',其中Tot被放入A,Z int B,Y被放入C.如果你只是想要Y,可以使用代字符運算符來忽略其他輸出:'[〜,〜,C] = something(X)''。 – Tony

+0

就是這樣!非常感謝您的建議。請將其發佈爲答案我會很樂意接受它。正如我所說,我是一個在Matlab的noob。 – FeliceM

回答

4

正確的調用接收所有三個參數是:[A, B, C] = something (X),其中Tot將被放置到AZB,並YC。如果您只想要Y,則可以使用「代字號」運算符忽略其他輸出:[~,~,C] = something(X)