问题解决微分方程组

3视图(30天)
大家好,
我一直在试图解决一个二阶微分方程组几天,但我不能解决他们在matlab使用任何功能。我试着使用解决,dsolve、fsolve vpasolve, bvp4c(这个给错误的答案)…
clc
清晰的所有
x1 = 2;
日元= 1;
r1 = 1;
m1 = 0.5;
%方程
信谊x (t) y (t);
p1 = 0.65;
eqn1 = diff (x, 2) - p1 * (sqrt (m1 + r1 ^ 2 + (y-y1) ^ 2)) = = 0;
eqn2 = diff (y, 2) - p1 * (sqrt (m1 + r1 ^ 2 + (x-x1) ^ 2)) = = 0;
气孔导度= [y (0) = = 0, x (0) = = 0, y (2) = = 5, x (2) = = 5);
命令= [eqn1, eqn2];
索尔= dsolve(方程式,气孔导度)
我新matlab和搜索很多但没有参与我的问题找到答案。任何帮助将不胜感激。
提前谢谢你。

答案(3)

弗里德哈特曼
弗里德哈特曼 2022年2月11日
我认为你的问题是二阶导数。Matlab只能解微分方程的主要术语(s)一阶…
检查文献或文档如何将你的两个方程转换成一个系统只包含四个微分方程的一阶导数。

弗里德哈特曼
弗里德哈特曼 2022年2月11日
%的例子:解决- u”(x) = sin (x)
信谊(x) u (x)
命令= [diff (x) = = sin (x), diff (u (x) = = 0);%,比' = sin (x) u ' =
S = dsolve(方程式,(1)= = 0,u (0) = = 0)
1评论
阿里·哈米迪
阿里·哈米迪 2022年2月12日
谢谢你的回答,但不幸的是,这样做没有任何改变,我仍然不能得到一个答案。这是我的代码尝试:
clc
清晰的所有
x1 = 2;
日元= 1;
r1 = 1;
m1 = 0.5;
p1 = 0.65;
%方程
信谊x (t) y (t) xt (t)欧美(t);
% xt欧美' = y = x””
eqn1 = diff (xt, t) - p1 * (sqrt (m1 + r1 ^ 2 + (y-y1) ^ 2)) = = 0;
eqn2 = diff (x, t) = = xt;
eqn3 = diff(欧美,t) - p1 * (sqrt (m1 + r1 ^ 2 + (x-x1) ^ 2)) = = 0;
eqn4 = diff (y, t) = =欧美;
气孔导度= [y (0) = = 0, x (0) = = 0, y (2) = = 5, x (2) = = 5);
命令= [eqn1 eqn2、eqn3 eqn4);
索尔= dsolve(方程式,气孔导度)
% V = odeToVectorField(命令)

登录置评。


艾伦·韦斯
艾伦·韦斯 2022年2月14日
如果你愿意有一个数值解,而不是一个象征性的解决方案,然后使用 fsolve 随着 数值 可以工作。技术是解决ODE从最初想使用 数值 ,然后改变最初的猜测 fsolve 满足边界条件。这里是一些代码我撞在一起。我假设ODE的形式给出 [x xdot y ydot] 。初始条件是x (0) = 0, y (0) = 0。最后一个条件是x (2) = 5, y (2) = 5。
myx = fsolve (@myval [1; 1])%获得解决方案
方程解决。fsolve完成因为函数值接近于零的向量的值函数的宽容,问题出现普通的梯度。
myx = 2×1
1.4648 - 1.3795
%检查终点
y0 = [0; myx (1); 0; myx (2)];%初始poiint方程
索尔=数值(@odefn [0 2],₀);
yend =德瓦尔(溶胶,2)
yend = 4×1
5.0000 4.1178 5.0000 3.7295
函数dydt = odefn (~, y)
% y (t) = [x y dx, dy]
x1 = 2;
日元= 1;
r1 = 1;
m1 = 0.5;
p1 = 0.65;
dydt = 0 (4,1);y %分配
dydt (1) = y (2);
dydt (3) = y (4);
dydt (2) = p1 * (sqrt (m1 + r1 ^ 2 + (y (3) y1) ^ 2));
dydt (4) = p1 * (sqrt (m1 + r1 ^ 2 + (y (1) x1) ^ 2));
结束
函数城市= myval (x)
y0 = [0, x (1); 0; x (2)];%初始poiint方程
索尔=数值(@odefn [0 2],₀);
yend =德瓦尔(溶胶,2);
城市= [yend (1) - 5; yend (3) - 5);
结束
艾伦·韦斯
MATLAB数学工具箱文档

s manbetx 845


释放

R2021b

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!