Matlab Simulink - How to simulation this math?

2 Ansichten (letzte 30 Tage)
Minh Danl
Minh Danl am 6 Nov. 2020
Bearbeitet: Ameer Hamza am 6 Nov. 2020

Antworten (1)

Ameer Hamza
Ameer Hamza am 6 Nov. 2020
Bearbeitet: Ameer Hamza am 6 Nov. 2020
You need to use ode45(): https://www.mathworks.com/help/matlab/ref/ode45.html . Convert your 2nd order ODE into a system of 2 first-order ODEs. The following code assumes F(t)=1.
tspan = [0 10];
IC = [0; 0]; % initial condition
[t, X] = ode45(@odeFun, tspan, IC);
plot(t, X, '-o')
legend({'$x$', '$\dot{x}$'}, 'FontSize', 16, 'Interpreter', 'latex', 'Location', 'best')
function dxdt = odeFun(t, x)
c = 2;
k = 1;
m = 5;
F = 1;
dxdt = zeros(2,1);
dxdt(1) = x(2);
dxdt(2) = (F - c*x(2) - k*x(1))/m;
end

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by