Finding the maximum time of ode45

조회 수: 4 (최근 30일)
Collin Parker
Collin Parker 2021년 4월 30일
댓글: Collin Parker 2021년 4월 30일
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
VBBV
VBBV 2021년 4월 30일
편집: VBBV 2021년 4월 30일
Use the index of the matrix y where the max selection occurs

댓글을 달려면 로그인하십시오.

채택된 답변

Benjamin Großmann
Benjamin Großmann 2021년 4월 30일
The max function is able to output the index of the max value:
[ymax, idx_max] = max(abs(y))
tmax = t(idx_max)

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Ordinary Differential Equations에 대해 자세히 알아보기

태그

Community Treasure Hunt

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

Start Hunting!

Translated by