无法将变量值传输到dsolve中?

时间:2014-06-13 17:01:34

标签: matlab dsolve

我在matlab中遇到了一个问题:

我从其他函数得到c的值,然后我想将c值1放入dsolve来解决这个微分方程。但是价值不能放入dsolve,我该怎么做才能转移价值? 例如:

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

1 个答案:

答案 0 :(得分:1)

您的错误原因是当您使用'c'时,c被解释为char(或字符串)而不是变量。您可以做的是使用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