问题如下:
x_1=x,x_2=x’,
相应初始条件为:x_1 (0)=1,x_2 (0)=0
求:
突加载荷时,也就是P(t)=p时
(1) t-x曲线;
(2) 不同P/T/U下的x-x’曲线;
(3) 不同U/T下P-Xmax曲线
程序如下:
主程序:
function [x,y]=runge_kutta1(ufunc,y0,h2,a,b) %参数表顺序依次是微分方程组的函数名称,初始值向量,步长,时间起点,时间终点(参数形式参考了ode45函数)
n=floor((b-a)/h2); %求步数
x(1)=a; %时间起点
y(:,1)=y0; %赋初值,可以是向量,但是要注意维数
for ii=1:n
x(ii+1)=x(ii)+h2;
k1=ufunc(x(ii),y(:,ii));
k2=ufunc(x(ii)+h2/2,y(:,ii)+h2k1/2);
k3=ufunc(x(ii)+h2/2,y(:,ii)+h2k2/2);
k4=ufunc(x(ii)+h2,y(:,ii)+h2k3);
y(:,ii+1)=y(:,i