作业帮 > 数学 > 作业

求解常微分方程Dy=1/(x*y+x^3*y^3),如果可以的话也请告诉我为何matlab无法算出,

来源:学生作业帮 编辑:作业帮 分类:数学作业 时间:2024/10/05 21:30:31
求解常微分方程Dy=1/(x*y+x^3*y^3),如果可以的话也请告诉我为何matlab无法算出,
这是《常微分方程》习题2.2的15题,请写出必要过程.
解如图2
另外,我试过用matlab解
>> dsolve('Dy=1/(x*y+x^3*y^3)','x')
输出结果:
Warning:Explicit solution could not be found.
> In dsolve at 120
ans =
[ empty sym ]
首先告诉你这样一个事实:matlab符号求解功能的工作核心是maple.但,在符号求解方面要比它的核心(maple)弱很多的.这样,当一些复杂的方程能够用maple解出时,但matlab却无能为力了.matlab只能进行一些比较(相对于maple)简单的符号计算;结合此题,是非线性常微分方程,比较复杂,因此,一般地,不能够给出显示解.输出结果中的“Explicit solution”是显示解的意思.但,我经过maple(版本14)求解之后,是可以给出结果的,但,是隐式解(“Implicit solution”),且用了maple自身内定义的函数(LambertW函数),要给出具体的解,还必须有初值条件的.
maple命令如下:
dsolve(diff(y(x),x) = 1/(x*y(x)+x^3*y(x)^3),y(x))
积分结果如下:
y(x) = sqrt(LambertW(exp(1/x^2)*exp(-1)*_C1)*x^2-1+x^2)/x,y(x) = -sqrt(LambertW(exp(1/x^2)*exp(-1)*_C1)*x^2-1+x^2)/x
由结果可以看出,积分结果有两个.
且建议你:如果想学好数学的话,还是学maple比较好,它的符号运算能力很强.matlab在数值计算方面很好.两者可以结合起来.但,如果你既想学好符号计算(数学分析)和数值计算(数值分析),但,又想只学一门数学软件的话,可以考虑mathematica,它两者兼具,且均非常优秀.