私はmatlabで1つの質問を受けました:
他の関数から c の値を取得し、この微分方程式を解くために c 値 1 を dsolve に入れます。しかし、値を dsolve に入れることができません。値を転送するにはどうすればよいですか? 例えば:
c = 1;
u = dsolve('Du = 1+u^c','t') % c is c, but is not 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