我在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