Следующий код Matlab генерирует график зависимости угла от положения x, но вместо этого я хочу, чтобы он генерировал график зависимости положения x от времени (в функции x (3) - это положение x). Есть ли способ изменить код, чтобы сделать это вместо этого?
ode = @fun;
x = [0 10]; %interval ranges from 0 to 10 m
ic = [pi/3; 0; 0; 0]; % initial conditions = [θ θ' x x']
[t,x] = ode45(ode, t, ic);
plot(t,x(:,1), 'o')
xlabel('x(m)');
ylabel('θ(rad)');
function dydx = fun(t,x) %t is the time; x(1), x(2), x(3), x(4) are indepedent variables
%[x(1) x(2) x(3) x(4)] = [angle angular velocity x position x velocity]
L = 0.5; g = 9.81;
dydx = zeros(4,1);
dydx(1) = x(2);
dydx(2) = (4*sin(x(1))*(5*L*cos(x(1))*x(2)^2 + 6*g))/(L*(20*cos(x(1))^2 - 23));
dydx(3) = x(4);
dydx(4) = -(5*sin(x(1))*(23*L*x(2)^2 + 24*g*cos(x(1))))/(6*(20*cos(x(1))^2 - 23));
end