Finding the maximum time of ode45
3 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Collin Parker
am 30 Apr. 2021
Kommentiert: Collin Parker
am 30 Apr. 2021
I have a question about my code. I am supposed to find the time at which ymax occurs. I have no idea how to set this up. Thank you.
% Physical constants
m = 45; % kg
l = 10; % m
d = 3.3; % m
rg = 4; % m
I = m*rg^2; % kg.m^2
k = 100e3; % N.m/rad
% Derive the equations of motion and solve them below using ode45
Dz = @(t,z)[z(2);((10*sin(0.1*t)*cos(z(1)*d)-(k/100*(z(1))))/(I+(m*d^2)))];
[t,z] = ode45(Dz,(0:0.1:330),[0;0]);
% Compute the maximum deflection magnitude and the first time of occurence
y = tan(z(:,1)).*l;
ymax = max(abs(y))
tmax =
1 Kommentar
Akzeptierte Antwort
Benjamin Großmann
am 30 Apr. 2021
The max function is able to output the index of the max value:
[ymax, idx_max] = max(abs(y))
tmax = t(idx_max)
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Ordinary Differential Equations finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!