龙格库塔法matlab实例
答:以下另存为文件 myrk4.mfunction [x,y]=myrk4(ufunc,y0,h,a,b)%参数: 函数名称,初始值向量,步长,时间起点,时间终点n=floor((b-a)/h);%求步数 x(1)=a;%时间起点 y(:,1)=y0;%赋初值%按龙格库塔方法进行求解 for ii=1:n x(ii+1)=x(ii)+h; k1=ufunc(x(ii),y...
答:用龙格库塔求解二阶微分方程组的实现方法:ⅹ0=[0.5 0];h=0.1;a=0;b=1;[t,x] = runge_kutta(@(t,x)func(t,x),x0,h,a,b);disp(' t x(t) x’(t)')A=[t',x'];disp(A)figure,plot(t,x,'.-'),grid on xlabel('t'),ylabel('x(t),x’(t)');title(...
答:微分方程的右边项 dx=0.5;x方向步长 xleft=0;区域的左边界 xright=10;区域的右边界 xx=xleft:dx:xright;一系列离散的点 n=length(xx);点的个数 y0=1;(1)欧拉法 Euler=y0;for i=2:n Euler(i)=Euler(i-1)+dx*f(xx(i-1),Euler(i-1));end (2)龙格库塔法 RK=y0;for i=2:n...
答:1、建立自定义函数func()function f = func(t,x)x''+0.7x'+0.8x'|x'|+25.6x-25.6x³=0 f(1)=x(2);f(2)=25.6*x(1)^3-25.6*x(1)-0.8*x(2)*abs(x(2))-0.7*x(2);f=f(:);2、建立龙格库塔算法函数runge_kutta()调用格式:[t,x]= runge_kutta(@(t,...
答:给一个程序,朋友试试看吧,呵呵!功能:用四阶Runge-Kutta 法求解常微分方程 --- function R=Rungkuta4(f, a, b, n, ya)f:微分方程右端函数句柄 a,b:自变量取值区间的两个端点 n:区间等分的个数 ya:函数初值y(a)R=[x',y']:自变量X 和解Y 所组成的矩阵 h=(b-a)/n;x=zeros(,n...
答:main.mclc,clear,close allt0 = 2;t1=200; h=0.02;x0=1;T = t0:h:t1;X = zeros(length(x0),length(T));X(:,1)=x0;for jj = 1:length(T) -1X(:,jj+1) =RK45(T(jj),X(:,jj),@(t,x) f(t,x),h);end%%figure,subplot(211),plot(T(1:100),X(1,1:100)),...
答:解方程很简单,调用ode45即可 关键是求运动时间,假设z方向坐标变为0即为落至地面运动结束,可求得运动时间的近似值及落地点坐标 代码如下:clear all clc c=0.07;u0=25;a=pi/6;f=@(t,x)([x(2);-c*sqrt(x(2)^2+(x(4)-7-.35*x(5))^2+x(6)^2)*x(2);x(4);-c*sqrt(x...
答:四阶龙格库塔法精度为4,属于单步递推法,单步递推法的基本思想是从(x(i),y(i))点出发,以某一斜率沿直线达到(x(i+1),y(i+1))点,从上述定义可以看出,龙格库塔实质上是求一阶微分方程,对其进行排列后就可以进入Matlab进行编程。但是如果将一阶导看作变量,则二阶导也不过是这个变量的...
答:在探索科学计算的迷宫中,龙格-库塔法(R-K法)犹如一座璀璨的灯塔,引领我们穿越常微分方程的海洋。作为数值解法的瑰宝,它的身影在求解复杂微分方程时熠熠生辉。今天,我们将一起揭示R-K法的奥秘,从泰勒级数的视角解读其显格式,以及它如何通过增加积分点提升精度,为微分方程求解画出精确的轨迹。想象...
答:再matlab命令窗口输入 doc ode45 可以查看龙格库塔算法的详细解释和用法 [T,Y] = ode45(@vdp1000,[0 3000],[2 0]); 这是龙格库塔4阶算法的示例,[2,0]为初值。
网友评论:
严纨19416045225:
Matlab用四阶龙格库塔法求解不可微分方程组的初值y1'=120 - 2*y1+2*y2 (0 -
8051应承
:[答案] %% function dx=aaa(t,x)%定义matlab函数来描述方程 dx=[120-2*x(1)+2*x(2);2*x(1)-5*x(2)] %% x0=[0;0] [t,y]=ode45('aaa',[0,1],x0); plot(t,y)
严纨19416045225:
在matlab中用四阶龙格 - 库塔法解二阶微分方程怎么做??最好有代码!! -
8051应承
: 例 y'= - y+x+1,y(0) = 1 首先建立M-文件 (weif.m) function f = weif(x,y) f=-y+x+1; 求解:[x,y]=ode45('weif',[0,1],1) 再如:建立文件:function dy = rigid(t,y) dy = zeros(3,1); % a column vector dy(1) = y(2) * y(3); dy(2) = -y(1) * y(3); dy(3) = -0.51 * y(1)...
严纨19416045225:
Matlab用四阶龙格库塔法求解不可微分方程组的初值u'=x+u+v u(0)=0 0 -
8051应承
:[答案] fun=@(x,uvw)([x+uvw(1)+uvw(2);-x+uvw(1);uvw(1)+uvw(3)]);[x,uvw]=ode45(fun,[0,1],[0 1 1]);plot(x,uvw)legend('u','v','w')%下面是相图figureplot3(uvw(:,1),uvw(:,2),uvw(:,3))
严纨19416045225:
跪求用龙格库塔求解微分方程的matlab程序 -
8051应承
: >> f=inline('1/6-y/30','t','y');>> [t,y]=ode45(f,[0,5],[0]);>> plot(t,y) 另外,由高数的知识,可以得到解析解为:y=5-5*e^(-t/30) 把上述的解析值也放到上图中.>> hold on>> plot(t,5-5*exp(-t/30),'r*') 可以看到二者相当吻合.
严纨19416045225:
龙格库塔法求解微分方程,matlab怎么编程 -
8051应承
: function [Y] = RK45(t,X,f,h) K1=f(t,X); K2=f(t+h/2,X+h/2*K1); K3=f(t+h/2,X+h/2*K2); K4=f(t+h,X+h*K3); Y=X+h/6*(K1+2*K2+2*K3+K4); end 以上是4阶龙格库塔法的代码: 自己写函数,存为f.m function dxdt = f (t,x) dxdt(1)=exp(x(1)*sin(t))+x(2); dxdt(2)...
严纨19416045225:
请教大神如何用龙格库塔法来编写如下方程,用MATLAB -
8051应承
: 1、建立求解方程的函数 T、D、m、g、ay、ap数值必须是已知的,这样才能建立求解方程的函数.function y = func(x) T=;D=;m=;g=;ay=;ap=; y(1,1) = x(4,1)*cos(x(6,1))*cos(x(5,1)); y(2,1) = x(4,1)*cos(x(6,1))*sin(x(5,1)); y(3,1) = x(4,1)*sin(x(5,1)); y(4,...
严纨19416045225:
龙格库塔法求解一阶常微分方程组 的Matlab代码 -
8051应承
: clc f=@(y,t)([1.65e-3*(14.93-y(1))-1.70e13*exp(-9064.23/y(2))*y(1);4.93-0.01655*y(2)+1.117e13*exp(-9064.23/y(2))*y(1)]); [Ca T]=ode45(f,[0 1],[.8 300])
严纨19416045225:
用龙格库塔法求非线性方程组matlab编写程序 -
8051应承
: 初值为[1 2] [T,x] = ode15s(@vdp1000,[0 10],[1 2]); plot(T,x(:,1),'-');hold on; plot(T,x(:,2),'-.');hold on; legend('x1','x2'); 子函数为: function dx = vdp1000(t,x) dx = zeros(2,1); dx(1) = -x(2); dx(2) = -0.2*(1 - x(1)^2)*x(2) + x(1); 图形为:相等的点自己可以估计下!采纳吧,做的很辛苦!
严纨19416045225:
急!!!求matlab 用四阶龙格 - 库塔法求解常微分方程 -
8051应承
: 建立.m文件 --------------------------------------------- function theta=danbai(t,X) x=X(1); dx=X(2); ddx=-sin(x); theta=[dx;ddx]; ---------------------------------------------- 命令窗口输入 >> [t,Y]=ode45(@danbai,[0 6],[pi/3 -1/2]); >> plot(t,Y(:,1),'ro-',t,Y(:,2),'bv-'); >> legend...
严纨19416045225:
急求MATLAB编程源代码用四阶龙格库塔法解如下微分方程 y'=y - 2x/y(0<x<1),y(0)=1,步长为h=0.2 -
8051应承
: % 以下另存为文件 myrk4.m function [x,y]=myrk4(ufunc,y0,h,a,b)%参数: 函数名称,初始值向量,步长,时间起点,时间终点 n=floor((b-a)/h);%求步数 x(1)=a;%时间起点 y(:,1)=y0;%赋初值%按龙格库塔方法进行求解 for ii=1:nx(ii+1)=x(ii)+h;...