首页 > 解决方案 > 使用 dsolve 绘制解曲线时遇到问题

问题描述

我正在尝试完成我的作业,即绘制一个方向场和一条通过给定点的解曲线,并且在执行这个特定的微分方程时遇到了麻烦:y'=1-x*y, y(0)=0.

我的代码是:

syms x y;
y1=dsolve('Dy=1-x*y','y(0)=0','x');
y1=expand(y1);
ezplot(y1,[-10 10 -10 10]);

我相信它的输入有一些错误,它说:

使用 inlineeval 时出错和表达式中的错误,输入必须是真实的和完整的等等......

我在其他微分方程上取得了成功,但这个仍然很糟糕。

标签: matlab

解决方案


我几乎可以肯定这是一条评论,但由于我仍然没有足够的声誉,所以我在这里回答:P

显然y1,您的方程式的解决方案类似于

y1 = -(2^(1/2)*pi^(1/2)*exp(-x^2/2)*erf((2^(1/2)*x*1i)/2)*1i)/2

erf函数需要一个真实的输入,但在这种情况下,您有一个1i导致问题的复杂术语。


推荐阅读