dx/dt=y,dy/dt=-sinx,求大神帮忙编一个MATLAB的程序,用龙格库塔法解这个方程组,求关于x,y的数值解

作者&投稿:军饺 (若有异议请与网页底部的电邮联系)
用MATLAB按二阶龙格库塔法求解微分方程组,大神速来,急急急~

ode45的帮助 例子那里有一阶常方程组的求解方法


你可以把上面的方程组改写成一阶常方程组
令x1=x
x2=dx1/dt
x3=dx2/dt

y1=y
y2=dy1/dt
y3=dy2/dt

x3=-u*x1/r3
y3=-u*y1/r3

z类似

[t,x]=rk4(@(t,x)[-x(1),-x(3),x(2)],0,2,[1,-1 0], 0.01)


%函数文件

function [t,x]=rk4(funname,t0,t1,x0,dt)
t=[];
x=[];
while t0<t1
t=[t;t0];
x=[x;x0];
k1=funname(t0,x0);
t0=t0+dt/2;
k2=funname(t0,x0+dt*k1/2);
k3=funname(t0,x0+dt*k2/2);
t0=t0+dt/2;
k4=funname(t0,x0+dt*k3);
x0=x0+dt/6*(k1+2*k2+2*k3+k4);
t=[t;t0];
x=[x;x0];
end

建立m文件:

function dx=dfun(t,x)        %函数名为dfun,参数为t与x
dx=[x(2);-sin(x(1))];          %以向量形式表示方程


输入:

clear
ts=-15:0.05:15;                                               %步长取0.05
x0=[1,0];                                                         %设定参数初值
options=odeset('reltol',1e-6,'abstol',1e-9);     %提高精度
[t,x]=ode45(@dfun,ts,x0,options);                  %调用ode45计算
plot(x(:,1),x(:,2)),grid                                      %作出y(x)图形
axis equal
gtext('\fontsize{12}x'),gtext('\fontsize{12}y')    %标记字体x

 

但以上并非曲线y=f(x)的完整形状(调整ts的范围也无济于事),原因是y为x的周期函数,而数值解只能求出初值附近的解

 

本题可以求出y=f(x)的解析表达式

由dx/dt=y,dy/dt=-sinx,得

dy/dx=(dy/dt)*1/(dx/dt)=-sinx/y

分离变量,积分得

y^2=2*cos(x)+C,其中C为常数

代入初始条件y(1)=0,可求得C=-2*cos(1)

∴y^2=2*cos(x)-2*cos(1),此式为原方程组的解析解

 

利用ezplot命令可绘制出完整图像

clear
syms x y
ezplot(y^2-2*cos(x)+2*cos(1),[-8,8,-3,3])
axis equal
axis([-8,8,-3,3])
grid on

 

另外,改变初值将得到不同的图形(为什么?请思考),例如

初值改为:x=1,y=√[2*(cos(1)+1)]-10^(-5)

 

初值改为:x=1,y=√[2*(cos(1)+1)]+10^(-5)




“X”字怎么读?
“X”英语字母排列中第24个字母。读作 \/eks\/。“X”在单词中一般出现“ex”中。“ex”发音看之后跟的是清辅音时,发\/eks\/跟浊辅音,发\/igz\/。发 “X” 时,舌面前部抬起靠近硬腭,形成一条狭缝,让气流从中摩擦而出,声带不颤动。“X”是英语字母中开头单词最少的字母。X 表示未知、无限,X...

x念什么拼音?
“X”读音 \/eks\/,它是英语字母中开头单词最少的字母,在英语字母排列中第24个字母。X 表示未知、无限,X 还有“目标”和“希望” ,还有一些文字意义隐晦,不易直译而用“XXX”表达,等等意思。X 在社会学界表示“完美”,千言万语都可以用 X 来传递,数学中 X 在方程中通常表示未知数的值。...

x是什么梗
答案:x是近期网络流行梗,表示未知的事物或者状态,具体含义要根据语境来判断。由于其多样性和不明确性,常常引发网友们的热议和广泛传播。解释:1. x的起源:x作为一个梗的流行,源于网络社交媒体的普及和快速发展。在聊天、评论或者社交媒体帖子中,人们经常遇到一些不熟悉或者难以描述的事物或情境,为了...

x是什么意思
在社会学中,x是“完美”的意思,千言万语可以通过x来传递。在数学中,x通常表示方程中未知数的值。x代表一个未知数,字母代表一个数。它的大小未知。可能是2或5。除x以外的字母也可以使用,如a、b等。在罗马数字中,X表示十。X也用来表达“亲吻”,“深爱”,“心有所属”,“一心一意”,...

x的正确写法是什么?
大写x的正确写法:第一笔是右斜,第二笔左斜,占据四线三格的上面两格。小写x的正确写法:第一笔是左弯,第二笔是右弯,占据四线三格的中间格。X:英语字母排列中第24个字母。读音/eks\/,是英语字母中开头单词最少的字母。X表示未知、无限,X还有“目标”和“希望”,还有一些文字意义隐晦。方...

x是什么意思男女?
在汉语中,“X”通常被用作一个代词,用来指代一个人的性别。这个代词是通用性的,因此它既可以用来指代男性,也可以用来指代女性。举个例子,当我们不确定一个人是男是女时,我们就可以用“X”来代替他\/她。X是什么意思男女之不分男女 在现代社会,有一些人认为性别不应该成为社会角色划分的标准。

x字怎么写
x字是一种字母,通常用于代表未知数、乘法符号等。它的写法比较简单,只需要按照一定的笔画顺序即可完成。首先,从左向右画一条横线,这是x字的第一条笔画。接着,从横线的右端向左下方斜着画一条直线,这是x字的第二条笔画。需要注意的是,这条直线应该与横线相交于一点。然后,从这条斜线的左端...

x的写法是什么呢?
x的写法:第一笔右斜;第二笔左斜。也就是:先“\\”再“\/”。左斜右斜叉中间,上下紧挨二三线。x代表未知数,代表任何数字。未知数(unknown number)是在解方程中有待确定的值,也用来比喻还不知道的事情。在数学中,常常用符号x或者y来标记未知数,并且可以将它们用在等式或者不等式关系中来...

X字的正确笔顺
“x”的笔画顺序:第一笔右斜;第二笔左斜。也就是:先“\\”再“\/”。左斜右斜叉中间,上下紧挨二三线。写法如图:X:英语字母排列中第24个字母。读音 \/eks\/,是英语字母中开头单词最少的字母。X 表示未知、无限,X 还有“目标”和“希望” 。还有一些文字意义隐晦,不易直译而用“XXX”表...

网络中的X是什么意思
网络中的X是指任意待解的变量,通常用于描述一些未知或不确定的情况。在网络用语中,“X”常常用于表达猜测、推测或反讽等语气,有时也可以用于表示某个事物的真实含义未知。除此之外,“X”在网络中也常用于表示“删除”的意思。例如,在网上论坛发帖时,若要删除自己的帖子,就会看到一个“X”按钮,...

金秀瑶族自治县13398453985: 高数:微分方程组{dx/dt=x+7y怎么解?答案要详细点哦!小女在此先谢谢各位大神了! {dy/dt=4x - 2y -
仇由灵嗜酸: 刚刚看漏了后面那个方程,不好意思.dx/dt=x+7y① dy/dt=4x-2y② ②÷①得dy/dx=(4x-2y)/(x+7y)=[4-2(y/x)]/[1+7(y/x)] ③ 方程③这是个齐次方程.解法如下:令u=y/x 则y=ux,dy/dx=u+x*du/dx 于是方程③变为:u+x*du/dx=(4-2u)/(1+7u) 分离变量得到:[(1+7u)/(-7u²-3u+4)]du=(1/x)dx 两边同时积分得:(-5/11)ln|-7u+4|-(6/11)ln|u+1|+c=ln|x| ④ 然后将u=y/x代入④式即可得到答案:(-5/11)ln|7(y/x)-4|-(6/11)ln|(y/x)+1|+c=ln|x|

金秀瑶族自治县13398453985: 求微分方程dy/dx=y/(x+y^4)的通解 -
仇由灵嗜酸: 解:∵令t=lny,则y=e^t,dy=e^tdt∴代入原方程得dy/dx=y/(x+y^4)==>ydx/dy=(x+y^4)==>e^tdx/(e^tdt)=(x+e^(4t))==>dx/dt=x+e^(4t)..........(1)∵很容易求出齐次方程dx/dt=x的通解是x=Ce^t (C是积分常数)∴根据常数变易法,设方程(1)的解...

金秀瑶族自治县13398453985: 常微分方程组求解 dx/t=x^4 - 2xy^3 dy/t=2yx^3 - y^4 discover what you can about the system of ODEs -
仇由灵嗜酸: 解:∵dx/t=x^4-2xy^3 dy/t=2yx^3-y^4 (此题好像有错,应该是dx/dt=x^4-2xy^3 dy/dt=2yx^3-y^4.但无论怎样解法都一样. ) ∴dy/dx=(2yx^3-y^4 )/(x^4-2xy^3) ==>dy/dx=(2(y/x)-(y/x)^4)/(1-2(y/x)^3).........(1) 设t=y/x,则dy/dx=xdt/dx+t 代入(1)得...

金秀瑶族自治县13398453985: 求方程组dx/dt= - y dy/dt=2x=3y的通解 -
仇由灵嗜酸: 题目中后面那个方程可能有误,似应为 dy/dt=2x+3y,如此则可消去dt得到 dy/dx=-3-(2x/y);以 1/u=x/y 代换,则 dy=udx-xdu;微分方程化为,(udx-xdu)/dx=-3-(2/u),即 dx/x=du/[3+u+(2/u)];两端积分:lnx=∫udu/(u²+3u+2)=∫du/(u+2)-∫du/[(u+1)(u+2)]=ln(u+2)-ln[(u+1)/(u+2)]+C=ln[(u+2)²/(u+1)]+C;重新换为原未知数:2ln(y+2x)-ln(y+x)-2lnx+C=0;

金秀瑶族自治县13398453985: 求不定积分(dx)/(dt)=yt, (dy)/(dt)=xt,求x,y的表达式,要有详细过程!!! -
仇由灵嗜酸: dy/dx=(dy/dt)*(dt/dx)=xt/yt=x/y,即ydy=xdx,两边积分得y^2/2+c1=x^2/2+c2,即x^2-y^2=c(c为任意常数)

金秀瑶族自治县13398453985: 数学dx/dy问题 -
仇由灵嗜酸: 解析:dx/dy = h(x)*g(y)这是一个微分方程的一般形式,你如果书写无误的话,这样也可以.一般来说, 微分方程的一般形式常写为dy/dx = h(x)*g(y)dx/dy = h(x)*g(y),这样来写,说明这是一个可分离积分变量的微分方程(其中h(x)为x的一个函数,g(y)为y的一个函数),可以写成dx/h(x) = g(y)dy,然后,通过两边积分可以解出这个微分方程.当h(x)等于y,g(y)等于k,k为常数时.这个方程即为dx/dy =ky,分离变量为,kydy =dx,两边分别积分,可以求出函数y的通解.希望能解答你的疑问,如有疑问,你可以参考微分方程有关的知识.

金秀瑶族自治县13398453985: 求通解dy/dx=y/x+y^4 -
仇由灵嗜酸: 方程两边除以y^4,整理得 y^(-4)*dy/dx-1/x*y^(-3)=1① 令z=y^(-3),则dz/dx=dz/dy*dy/dx=-3y^(-4)*dy/dx ∴①*(-3)得 dz/dx+3z/x=-3,这就是dy/dx+P(x)y=Q(x)的形式了,你自己解出z 再把z=y^(-3)代入得y

金秀瑶族自治县13398453985: matlab 解微分方程组 dx/dt=x+y dy/dt=x - y -
仇由灵嗜酸: 不知道解得对不对 程序: dsolve('Dx=x+y','Dy=x-y','t') 解得:x=C1*exp(2^(1/2)*t)+C2*exp(-2^(1/2)*t) y=C1*2^(1/2)*exp(2^(1/2)*t)-C2*2^(1/2)*exp(-2^(1/2)*t)-C1*exp(2^(1/2)*t)-C2*exp(-2^(1/2)*t)

金秀瑶族自治县13398453985: dx/dt=y+z,dy/dt=x+z,dz/dt=x+y.求解方程组,要过程,谢啦 -
仇由灵嗜酸: dx/dt=y+z,dy/dt=x+z,dz/dt=x+y.求解方程组 这里x, y, z是对称的,d(x+y+z)/dt = 2*(x+y+z), x+y+z = C*(e^(2t)) 故x=y=z = C*(e^(2t)).

金秀瑶族自治县13398453985: dx/dt=x+2y , dy/dt=2x+y -
仇由灵嗜酸: dx/dt=x+2y dy/dt=2x+y两式相加 得 d(x+y)/dt=3(x+y)故 x+y=C1 e^(3t) (3)两式相减 得 d(x-y)/dt=-(x-y)故 x-y=C2 e^(-t) (4)由(3)(4)得 x(t)=[C1 e^(3t)+C2 e^(-t)]/2y(t)=[C1 e^(3t)-C2 e^(-t)]/2代入初值,知道C1=C2=2所以x(t)= e^(3t) + e^(-t)y(t)= e^(3t) - e^(-t)

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网