matlab:求解 dy/dx-x*sin(x+y)=0;y(1)=0
2个回答
展开全部
因为当你输入
dsolve('Dy=x*sin(x+y)','y(1)=0')时,注意,没有指明自变量,matlab默认自变量是t,因此x被看作了常数,此时y(1)=0可能是个有问题的初值,所以不行。这也就是楼上的结果为什么会出现t的原因。
本题正解:
>> syms x y;
>> dsolve('Dy=x*sin(x+y)','x')
Warning: Explicit solution could not be found.
> In dsolve at 330
ans =
[ empty sym ]
说明matlab解不出来,变一下形。
令z=x+y,则dy/dx=dz/dx-1,原方程化为dz/dx-1-xsinz=0, z(1)=1
>> dsolve('Dz=x*sinz+1','z(1)=1','x')
ans =
1/2*x^2*sinz+x-1/2*sinz
然后将z换回x+y就行了。
dsolve('Dy=x*sin(x+y)','y(1)=0')时,注意,没有指明自变量,matlab默认自变量是t,因此x被看作了常数,此时y(1)=0可能是个有问题的初值,所以不行。这也就是楼上的结果为什么会出现t的原因。
本题正解:
>> syms x y;
>> dsolve('Dy=x*sin(x+y)','x')
Warning: Explicit solution could not be found.
> In dsolve at 330
ans =
[ empty sym ]
说明matlab解不出来,变一下形。
令z=x+y,则dy/dx=dz/dx-1,原方程化为dz/dx-1-xsinz=0, z(1)=1
>> dsolve('Dz=x*sinz+1','z(1)=1','x')
ans =
1/2*x^2*sinz+x-1/2*sinz
然后将z换回x+y就行了。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
syms x y;
dsolve('Dy=x*sin(x+y)','y(1)=0')
ans=
2*atan(exp(log(tan(x/2)) - x + t*x)) - x
dsolve('Dy=x*sin(x+y)','y(1)=0')
ans=
2*atan(exp(log(tan(x/2)) - x + t*x)) - x
更多追问追答
追问
你的是怎么解出来的;为什么我的出现:
??? Error using ==> dsolve
Error, (in dsolve/IC) The 'implicit' option is not available when giving Initial Conditions.
还有那个t是什么呀
追答
应该就是这样解啊
t是一个常数吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询