-
功能?θ=丹白(t,X)
X = X(1);
dx = X(2);
ddx =-sin(x);
theta =【dx;ddx】;
-
命令窗口輸入
& gt& gt?【t,Y】= ode 45(@丹白,【0?6】,【pi/3?-1/2]);
& gt& gt?plot(t,Y(:,1),‘ro-‘,t,Y(:,2),‘bv-‘);
& gt& gt?圖例(“\theta-t“、“d\theta-t“)?
自編龍格庫塔
-
功能?【y,z】=龍格庫塔(a,b,y0,z0,h)
x = a:h:b;
y(1)= y0;
z(1)= z0;
n =(B- a)/h+1;
為了什麽?i=2:n
k(1,1)= f 1(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)= f 1(x(I-1)+h/2,y(I-1)+K(1,1)* h/2,z(I-1)+K(2,1)* h/2;
K(2,2)= F2(x(I-1)+h/2,y(I-1)+K(1,1)* h/2,z(I-1)+K(2,1)* h/2);
K(1,3)= f 1(x(I-1)+h/2,y(I-1)+K(1,2)* h/2,z(I-1)+K(2,2)* h/2);
K(2,3)= F2(x(I-1)+h/2,y(I-1)+K(1,2)* h/2,z(I-1)+K(2,2)* h/2);
K(1,4)= f 1(x(I-1)+h,y(I-1)+K(1,3)* h,z(I-1)+K(2,3)* h);
K(2,4)= F2(x(I-1)+h,y(I-1)+K(1,3)* h,z(I-1)+K(2,3)* h);
y(I)= y(I-1)+h/6 *(K(1,1)+2 * K(1,2)+2 * K(1,3)+K(1,4);
z(I)= z(I-1)+h/6 *(K(2,1)+2 * K(2,2)+2 * K(2,3)+K(2,4);
結束
y(2)
plot(y,‘r‘)?%θ-t圖
保持住。在
plot(f 1(x,y,z),‘g‘)?%?Dθ-t圖
保持住。在
plot(F2(x,y,z),‘b-‘)% D2θ-t圖
%f1.m
功能?f 1 = f 1(x,y,z)
f 1 = z;
%f2.m
功能?F2 = F2(x、y、z)
F2 =-sin(y);
-
龍格_庫塔(0,6,pi/3,-1/2,0.02)