我使用matlab解决了ODE一阶方程。等式是$$ y'= t ^ 2 $$。现在我想用相同的代码解决二阶微分方程。 y''(x)= -y,其中$ y(0)= 1 $和$ y'(x = 0)= 0 $。
如何更改以下代码,以便找到y的值?我试过的是,我把它变成了一阶微分方程,但我很困惑如何改变代码。
clc; % Clears the screen
clear all;
h=0.2; % step size
x = 0:h:1; % Calculates upto y(3)
y = zeros(1,length(x));
y(1) = 1; % initial condition
F_x = @(t) t.^2; % change the function as you desire
for i=1:(length(x)-1) % calculation loop
k_1 = F_x(x(i));
k_2 = F_x(x(i)+0.5*h);
k_3 = F_x((x(i)+0.5*h));
k_4 = F_x((x(i)+h));
y(i+1) = y(i) + (1/6)*(k_1+2*k_2+2*k_3+k_4)*h; % main equation
end