2017-05-04 23 views
-2

私はMatLabでいくつかのユーザ生成関数を使用しています。ここで実際のコードを投稿しないと、より速くなりますので、まとめておきます。Matlabは変数をワークスペースに 'ポスト'していません

私には2つの機能があります。それぞれのファイルは固有の名前で保存されています。彼らは正しく呼び出され、正しく働くことができます。

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に掲載されていないので:はfunction1があると言うことができますワークスペースそれをどうすればいいのですか?

+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番目の関数が入力を取得します。しかし、あなたが上記と同じように変更しなければ、今度は仕事場にアウトプット2はありません。以下のように。

function Output2 = function2(a, Output1) 

Output2 = a + Output1; 

end 

もちろん、関数の回答をワークスペースに保存する必要があります。

aa=2; 
bb=3; 

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

あなたはOutput11Output22を使用しない場合、関数は、ワークスペース内ans変数にその結果を格納します。そして明らかに、変数を2番目の関数に渡すことはできませんが、2番目の関数はansを上書きします。入力として利用可能な変数を使用すると仮定します。

+0

これは確かに問題の一部です(ただし、 '= 'が間違った場所にあることを明示する方が良いでしょう)。しかし、あなたの答えは' function1'の戻り値がaに格納されていないという事実を無視します。変数であるため、 'function2'への入力パラメータとして使用することはできません。 – beaker

関連する問題