2017-05-04 34 views
-2

我利用Matlab軟件某些用戶生成的函數。它會更快,如果我沒有在這裏發佈我的實際代碼,所以我來總結一下。Matlab的功能,而不是「過賬」變量工作區

我有兩個功能。它們中的每一個存在於它們自己的以其專有名稱保存的文件中。他們可以被調用並正常工作。可以說,功能1是:

function [Output1] function1=(a,b) 

Output1=a+b 

end 

function [Output2] function2=(a,Output1) 

Output2=a+Output1 

end 

新的腳本文件

a=2; 
b=3; 

function1(a,b); 
function2(a,Output1); 

這是不行的,因爲功能1不發佈到輸出1工作區。我該如何做到這一點?

+0

[爲什麼接受答案?](https://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work)。接受答案可以幫助其他有相同問題的人。 – Masoud

回答

0

檢查這個tutorial。這就是你應該寫一個函數的方式。

function Output1 = function1(a, b) 

Output1 = a + b; 

end 

然後你的第二個函數將得到輸入。但是,如果你不一樣改變它的上面,這時候你就不必在工作空間輸出2。如下所示;

function Output2 = function2(a, Output1) 

Output2 = a + Output1; 

end 

當然,你需要存儲函數的回答,讓他們在工作區中。

aa=2; 
bb=3; 

Output11 = function1(aa,bb); 
Output22 = function2(aa,Output11); 

如果你不使用Output11Output22,功能將其結果存儲到工作區ans變量。顯然,除了不能將變量傳遞給第二個函數外,假設您使用可用變量作爲其輸入,第二個函數將覆蓋ans

+0

這當然是問題的一部分(儘管最好明確指出'='在錯誤的地方),但是你的回答忽略了'function1'的返回值沒有存儲在變量,因此不能用作'function2'的輸入參數。 – beaker

相關問題