Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Matlab 微分方程初值问题的符号解法_Matlab - Fatal编程技术网

Matlab 微分方程初值问题的符号解法

Matlab 微分方程初值问题的符号解法,matlab,Matlab,我需要评估一下 dsolve('Dy = 1 + exp(y)', 'y(0) = 1', 't') 象征性地得出结论 t* >= log(exp(1) + 1) - 1. 然而,当我运行它时,我收到一条警告,说它无法显式解决,并抛出一个[empty sym] 类似的方程式似乎没有这个问题。有人知道为什么不进行评估吗?以下是Wolfram Alpha提供的解决方案: 用它来校准你的期望值。非常不稳定的方程。。。。作为替代方案,您可以执行以下操作: e = exp(1); yfun =

我需要评估一下

dsolve('Dy = 1 + exp(y)', 'y(0) = 1', 't')
象征性地得出结论

t* >= log(exp(1) + 1) - 1.
然而,当我运行它时,我收到一条警告,说它无法显式解决,并抛出一个[empty sym]


类似的方程式似乎没有这个问题。有人知道为什么不进行评估吗?

以下是Wolfram Alpha提供的解决方案:


用它来校准你的期望值。

非常不稳定的方程。。。。作为替代方案,您可以执行以下操作:

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

你从哪里得到这个“结论”?你凭什么认为这是正确的?也许警告告诉你要检查你的假设。不幸的是,我也遇到了同样的问题。你使用的是哪个版本的Matlab?哦,好吧,一旦你改变了第一行,它就起作用了,但是你知道有没有办法将exp(1)替换回e,这样它就会用无关的术语取消?这是我的结果:
log(-e^(t+log(e/(e+1))/log(e))/(e^(t+log(e/(e+1))/log(e))-1))/log(e)
在如上所示定义t后使用eval或符号。。。就像我说的。。。非常不稳定。。。它爆炸时t>0.31