matlab龙格库塔例子
答:该二阶微分方程用龙格库塔法可以这样来求解。第一步,根据该二阶微分方程,自定义微分方程函数,func(t,y)第二步,根据初始条件,确定y和y'的初值,即y0=[0,0]第三步,使用ode45函数求解【t,y】的数值解,即 [t,y] = ode45(@func,[0 0.0005],y0);第四步,根据t、y、y'值,绘制t—y...
答:求解二阶微分方程,初始条件还需要给出y1'(0)和y2'(0)。这里暂时按照0处理。function zd530003514 a=0.1;b=0.1;Y0 = [b-1; 0; b; 0];解方程 [t,Y]= ode45(@ode,[0 10],Y0);y1=Y(:,1);y2=Y(:,3);绘图 subplot 211 plot(t,y1);subplot 212 plot(t,y2);微分方程定义...
答:三阶龙格—库塔法的计算公式为:三阶龙格—库塔公式的Matlab程序代码:functiony=DELGKT3_kuta(f,h,a,b,y0,varvec)formatlong;N=(b-a)/h;y=zeros(N+1,1);y(1)=y0;x=a:h:b;var=findsym(f);fori=2:N+1K1=Funval(f,varvec,[x(i-1)y(i-1)]);K2=Funval(f,varvec,[x(i-...
答:以dy/dx=y-2x/y,其中初始条件y(0)=1为例,通过MATLAB编程实现四阶龙格-库塔算法,并将结果与改进的欧拉算法进行对比。这种算法保持了四阶龙格-库塔法精度高的优点,而且数值积分程序计算量小,仿真速度较之一般实时四阶龙格-库塔法可提高约3. 5位。
答:自编龙格库塔 --- function [y,z]=Runge_kutta(a,b,y0,z0,h) x=a:h:b; y(1)=y0; z(1)=z0; n=(b-a)/h+1; for i=2:n K(1,1)=f1(x(i-1),y(i-1),z(i-1)); K(2,1)=f2(x(i-1),y(i-1),z(i-1)); K(1,2)=f1(x(i-1)+h/2,y(i-1)+K(1,1)*h/2,z(...
答:用Matlab四阶龙格库塔法求常微分方程可以按照以下方法去实现。1、首先建立自定义微分方程函数 function f = ode_fun(x,y)f=y+2*x/y^2;end 2、然后用四阶龙格库塔法求其数值解 figure(2)y0=[1]; %初值y(0)=1 h=0.1;a=0;b=5;[x,y] = runge_kutta(@(x,y)ode_fun(x,y),y0...
答:现在,让我们通过一个实例来直观感受这些算法的威力。在MATLAB中,我们定义一个微分方程,如f(x,y) = cos(x).*y.^2,然后利用R-K4方法,如隐式欧拉法或梯形法,一步步逼近精确解。在每一个积分点上,我们不仅能看到R-K4算法如何预估并校正,还能够看到它如何在方向场中描绘出优雅的轨迹。完整...
答:f = @(t,y)[1.107*y(1)*(1-y(1)-y(2))-0.518*y(1);0.518*y(1)];x0 = [1;-1];%由于没有给初值,我随便设的,不同初值不同结果 tspan = [0,20];[t,y] = ode45(f,tspan,x0);plot(t,y(:,1),'r--',t,y(:,2),'b-')legend('x','y')
答:以下另存为文件 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...
答:matlab 四阶龙格库塔算法 我该怎么修改 %各种参数输入M=3000;hg=1;r=0.25;L=3.95;b=2.1;a=1.85;I=2.11;E=0.5;C=1.50;g=9.8;kp1=26;kp2=28;k=2000;G=M*g;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%初始值h=0... %各种参数输入M=3000;hg=1;r=0.25;L=...
网友评论:
孟怡15847165294:
Matlab用四阶龙格库塔法求解不可微分方程组的初值y1'=120 - 2*y1+2*y2 (0 -
57120鲜花
:[答案] %% 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)
孟怡15847165294:
Matlab用四阶龙格库塔法求解不可微分方程组的初值u'=x+u+v u(0)=0 0 -
57120鲜花
:[答案] 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))
孟怡15847165294:
急!!!求matlab 用四阶龙格 - 库塔法求解常微分方程 -
57120鲜花
: 建立.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...
孟怡15847165294:
急求MATLAB编程源代码用四阶龙格库塔法解如下微分方程 y'=y - 2x/y(0<x<1),y(0)=1,步长为h=0.2 -
57120鲜花
: % 以下另存为文件 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;...
孟怡15847165294:
跪求用龙格库塔求解微分方程的matlab程序 -
57120鲜花
: >> 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*') 可以看到二者相当吻合.
孟怡15847165294:
龙格库塔法求解一阶常微分方程组 的Matlab代码 -
57120鲜花
: 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])
孟怡15847165294:
用MATLAB龙格库塔法解决二阶微分方程y''+ay=0,a为常数,可以随便设,初值为y0=0,程序怎么写啊?? -
57120鲜花
: 再matlab命令窗口输入 doc ode45 可以查看龙格库塔算法的详细解释和用法 [T,Y] = ode45(@vdp1000,[0 3000],[2 0]); 这是龙格库塔4阶算法的示例,[2,0]为初值.
孟怡15847165294:
急求用MATLAB用龙格库塔和外推法解一阶微分方程用4阶龙格库塔和外推法(欧拉法)解一阶微分方程dy|dx= - y+x+1 初值y(0)=1 -
57120鲜花
:[答案] f=inline('-y+x+1','x','y'); %微分方程的右边项 dx=0.05; %x方向步长 xleft=0; %区域的左边界 xright=10; %区域的右边界 xx=... end %%(2)龙格库塔法 RK=y0; for i=2:n k1=f(xx(i-1),RK(i-1)); k2=f(xx(i-1)+dx/2,RK(i-1)+k1*dx/2); k3=f(xx(i-1)+dx/2,RK(i-1)+k2*...
孟怡15847165294:
在matlab中用四阶龙格 - 库塔法解二阶微分方程怎么做??最好有代码!! -
57120鲜花
: 例 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)...
孟怡15847165294:
请教大神如何用龙格库塔法来编写如下方程,用MATLAB -
57120鲜花
: 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,...