1

関数を呼び出すときに変化する入力を使用するにはどうすればよいですか? 私が抱えている問題は、放物型偏微分方程式の明示的な方法のためにMatlabでコードを書く必要があり、初期条件がu(x,0) =sin(pi*x)

私が書く関数を呼び出すとき

explicit( 0,0,sin(pi*x),0,0,1,0,1,3,2,0.25,0.25)

残りの入力関数は、さまざまな値と境界条件を参照します。

wheresin(pi*x)は、コードの問題領域を指します。コード自己では、この境界条件について記述します

for j = 1:(n+2)
i = (n+2)
 x = (a -h) + h*j
 u(i,j) = Y_below
end

Y_belowを指すu(x,0) = sin(pi*x)

Y_below これは、境界条件が任意の数に等しい場合に、まさに私が望むように機能します。関数を呼び出すときに x を変更する方法がわかりません

Google を試してみましたが、これに最も近いのは varargin ですが、使い方がわかりません。私はMatlabを初めて使用し、これは私が割り当てのために書かなければならなかった最初のプログラムです. どんな助けでも大歓迎です!

4

1 に答える 1

0

これがあなたが探しているものかどうかはわかりませんが
、関数を次のように定義すると:

function output = myfunction(input1, input2, varargin)

thenvararginは、input1、input2 から離れた他のすべての引数を収集する関数内引数です
。これは、
この関数を次のように呼び出すと、次のようになることを意味します。

outp = myfunction(inp1, inp2, inp3, inp4, inp5);

次に、この関数内で次が保持されます。

input1 = inp1;
input2 = inp2;
varargin{1} = inp3;
varargin{2} = inp4;
varargin{3} = inp5;

で(関数内で)渡された引数の数を確認できますnargin

于 2013-05-06T04:16:28.237 に答える