微分方程组matlab

m*y''=a+b*f*x'+c*sqrt(x'^2+y'^2)*y'm*x''=b*f*y'+c*sqrt(x'^2+y'^2)*x'怎么解?(符号表示不规范,sqrt... m*y''=a+b*f*x'+c*sqrt(x'^2+y'^2)*y'
m*x''=b*f*y'+c*sqrt(x'^2+y'^2)*x'
怎么解?(符号表示不规范,sqrt(x'^2+y'^2)表示x,y的平方开根号)
展开
nextpilot
2009-01-31 · TA获得超过6654个赞
知道小有建树答主
回答量:1146
采纳率:100%
帮助的人:1710万
展开全部
dsolve('m*D2y-a-b*f*Dx-sqrt(Dx*Dx+Dy*Dy)*Dy','m*D2x-b*f*Dy-c*sqrt(Dx*Dx+Dy*Dy)*Dx')

正常情况使用上面的命令就可以解决问题
但是很惋惜的时,该题Matalb无能为力

那只能使用数值解法了,建议你看看这个帖子【微分方程Matlab求解方法详解和汇总 】http://www.matlabsky.com/thread-526-1-1.html

下面时该题的数值解法代码,有很详细的注释,并且运行通过

%取a=1;b=1;f=1;c=1;
%假设初值条件都为0
%取状态变量x1=x,x2=x',x3=y,x4=y'
% x1'=x2
% x2'=(b*f*x4+c*sqrt(x2^2+y'^2)*x2)/m
% x3'=x4
% x4'=(a+b*f*x2+c*sqrt(x2^2+y'^2)*x4)/m
%by dynamic
%see also http://www.mathsky.cn
%2009.1.31

a=1;b=1;f=1;c=1;m=1;
odefun=@(t,x)[x(2)
(b*f*x(4)+c*sqrt(x(2)^2+x(4)^2)*x(2))/m
x(4)
(a+b*f*x(2)+c*sqrt(x(2)^2+x(4)^2)*x(4))/m]
[t,y]=ode45(odefun,[0 10],[0 0 0 0])
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式