1

我在matlab中有一个问题:

我从其他函数中得到一个 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 回答