1

私はmatlabで1つの質問を受けました:

他の関数から c の値を取得し、この微分方程式を解くために c 値 1 を dsolve に入れます。しかし、値を dsolve に入れることができません。値を転送するにはどうすればよいですか? 例えば:

c = 1; 
u = dsolve('Du = 1+u^c','t') % c is c, but is not 1!
4

1 に答える 1

1

エラーの理由は、を使用する'c'c、変数ではなく文字 (または文字列) として解釈されるためです。num2str次のように、文字列と変数を結合するために使用できます。

u = dsolve(['Du = 1+u^' num2str(c)],'t') % c is c, but is not 1!
u =
C16*exp(t) - 1

複数の変数がある場合は、次のようにすることができます。

u = dsolve(['Du = ' num2str(1/(m*n)) '*1 + u^' num2str(c)])
u =
C16*exp(t) - 1 
于 2014-06-13T19:39:26.140 に答える