Изменение зависимой переменной на графике от расстояния до времени для системы дифференциальных уравнений в Matlab - PullRequest
0 голосов
/ 03 апреля 2020

Следующий код 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...