不能将变量值转换为解析度



我在matlab中有一个问题:

我从另一个函数中得到c的值,然后我想把c的值1代入解来解这个微分方程。但是价值不能入账,我该怎么做才能转移价值呢?如:

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 

相关内容

  • 没有找到相关文章

最新更新