dx/dt=y,dy/dt=-sinx,求大神帮忙编一个MATLAB的程序,用龙格库塔法解这个方程组,求关于x,y的数值
来源:学生作业帮 编辑:百度作业网作业帮 分类:综合作业 时间:2024/07/08 07:11:36
dx/dt=y,dy/dt=-sinx,求大神帮忙编一个MATLAB的程序,用龙格库塔法解这个方程组,求关于x,y的数值解
这个方程组的初值可令x=1,y=0,最后需要画出图,也就是plot(y,x)
这个方程组的初值可令x=1,y=0,最后需要画出图,也就是plot(y,x)
![dx/dt=y,dy/dt=-sinx,求大神帮忙编一个MATLAB的程序,用龙格库塔法解这个方程组,求关于x,y的数值](/uploads/image/z/220355-35-5.jpg?t=dx%2Fdt%3Dy%2Cdy%2Fdt%3D-sinx%2C%E6%B1%82%E5%A4%A7%E7%A5%9E%E5%B8%AE%E5%BF%99%E7%BC%96%E4%B8%80%E4%B8%AAMATLAB%E7%9A%84%E7%A8%8B%E5%BA%8F%2C%E7%94%A8%E9%BE%99%E6%A0%BC%E5%BA%93%E5%A1%94%E6%B3%95%E8%A7%A3%E8%BF%99%E4%B8%AA%E6%96%B9%E7%A8%8B%E7%BB%84%2C%E6%B1%82%E5%85%B3%E4%BA%8Ex%2Cy%E7%9A%84%E6%95%B0%E5%80%BC)
建立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
![](http://img.wesiedu.com/upload/c/ca/ccac09f15522348b6d3abdaeaa808817.jpg)
但以上并非曲线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
![](http://img.wesiedu.com/upload/f/21/f2159d1f5244f3d3282390a16a23127f.jpg)
另外,改变初值将得到不同的图形(为什么?请思考),例如
初值改为:x=1,y=√[2*(cos(1)+1)]-10^(-5)
![](http://img.wesiedu.com/upload/5/ab/5ab568426c4eb65da2a1aa0118a5f12f.jpg)
初值改为:x=1,y=√[2*(cos(1)+1)]+10^(-5)
![](http://img.wesiedu.com/upload/c/39/c39150ca84ae94faf8fc136cd5e27bfa.jpg)
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
![](http://img.wesiedu.com/upload/c/ca/ccac09f15522348b6d3abdaeaa808817.jpg)
但以上并非曲线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
![](http://img.wesiedu.com/upload/f/21/f2159d1f5244f3d3282390a16a23127f.jpg)
另外,改变初值将得到不同的图形(为什么?请思考),例如
初值改为:x=1,y=√[2*(cos(1)+1)]-10^(-5)
![](http://img.wesiedu.com/upload/5/ab/5ab568426c4eb65da2a1aa0118a5f12f.jpg)
初值改为:x=1,y=√[2*(cos(1)+1)]+10^(-5)
![](http://img.wesiedu.com/upload/c/39/c39150ca84ae94faf8fc136cd5e27bfa.jpg)
dx/dt=y,dy/dt=-sinx,求大神帮忙编一个MATLAB的程序,用龙格库塔法解这个方程组,求关于x,y的数值
求方程组dx/dt=-y dy/dt=2x=3y的通解
求方程组的通解:dx/dt=y,dy/dt=2x+y
求方程组dx/dt=2x-y+z ,dy/dt=x+2y-z ,dz/dt=x-y+2z的通解
matlab 解微分方程组 dx/dt=x+y dy/dt=x-y
用matlab ode45求微分方程组 dx/dt+x+y=0 dy/dt+x-y=0 x(0)=0 y(0)=1 t=
求下列微分方程组(1)Dx/Dt=2*x-0.01*x*y(2)Dy/Dt=-y+0.01*x*y如果可以用MATLAB
用Mathematica求常微分方程组的解 dx/dt +y=cost dy/dt+x=sint 求命令与结果T-T
matlab 求程序 已知阿波罗飞船的运动轨迹(x,y)满足一下方程:d^2x/dt^2 = 2*dy/dt + x -
(1)dx/dt=x;dy/dt=y; (2)dN/dt=r1N-r2N^1/2 用matlab软件分别画出他们的变化曲
微积分参数方程的题一个点在圆x^2+y^2=25上移动,这个点到达(3,4)时dx/dt=4.求在这个点时dy/dt=?
dx/dt=x+t,dy/dt=-y+t,求x,y(t为常数).