Matlab Simulink - How to simulation this math?

2 visualizzazioni (ultimi 30 giorni)
Minh Danl
Minh Danl il 6 Nov 2020
Modificato: Ameer Hamza il 6 Nov 2020

Risposte (1)

Ameer Hamza
Ameer Hamza il 6 Nov 2020
Modificato: Ameer Hamza il 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

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by