Finding the maximum time of ode45

16 visualizaciones (últimos 30 días)
Collin Parker
Collin Parker el 30 de Abr. de 2021
Comentada: Collin Parker el 30 de Abr. de 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 comentario
VBBV
VBBV el 30 de Abr. de 2021
Editada: VBBV el 30 de Abr. de 2021
Use the index of the matrix y where the max selection occurs

Iniciar sesión para comentar.

Respuesta aceptada

Benjamin Großmann
Benjamin Großmann el 30 de Abr. de 2021
The max function is able to output the index of the max value:
[ymax, idx_max] = max(abs(y))
tmax = t(idx_max)

Más respuestas (0)

Categorías

Más información sobre Ordinary Differential Equations en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by