2011-08-01 113 views
0

我需要评估问题求解微分方程初值问题的象征

dsolve('Dy = 1 + exp(y)', 'y(0) = 1', 't') 

象征性地得出这样的结论

t* >= log(exp(1) + 1) - 1. 

然而,当我运行它,我得到一个警告说,它不能是明确解决并抛出一个[空的sym]。

类似的方程似乎没有这个问题。任何人有任何想法,为什么它不评估?

+0

你在哪里买的“结论”?是什么让你认为它是正确的?也许警告告诉你检查你的假设。 – duffymo

回答

0

下面是Wolfram Alpha的gives解决方案:

使用校准你的期望。

0

很不稳定方程....作为替代,你可以这样做:

e = exp(1); 
yfun = dsolve('Dy = 1 + e^y', 'y(0) = 1', 't'); 
t = 0:0.01:0.3; 
eval(yfun); 
+0

不幸的是,我得到这个相同的问题。 – Koof

+0

您正在使用哪个版本的Matlab? – Rasman

+0

噢好吧,一旦你改变了它的第一行,但是你知道是否有办法将exp(1)替换回e,所以它会被无关的条件取消吗?这里是我的结果:log(-e ^(t + log(e /(e + 1))/ log(e))/(e ^(t + log(e /(e + 1))/ log e)) - 1))/ log(e)' – Koof