Determinate the maximum
Afficher commentaires plus anciens
I have two functions in the same graphic. I need to calculate each maximum. Can somebody help me with the code that I need to put in the EDITOR?
I send a reduce EDITOR:
M=0.577;
mv=1000;
A=1.157*10^-5;
xg0=0.05;
w0=5.17;
wf=5.17;
beta=2/100;
alfa=0.7;
L=0.734;
g=9.81;
delta=0.5;
%Equation 1
r=@(t,y) [y(3); y(4); -xg0*w0^2*sin(wf*t)-w0^2*y(1)-2*w0*beta*y(3); 0];
[Tr,Yr]= ode45(r,[0 50],[0 0 0 0]);
%System of equations
s=@(t,y) [y(3); y(4); (-(M+mv*A*L)*xg0*w0^2*sin(wf*t)-M*w0^2*y(1)-2*M*w0*beta*y(3)-mv*A*alfa*L*((mv*A*alfa*L*((M+mv*A*L)*xg0*w0^2*sin(wf*t)+M*w0^2*y(1)+2*M*w0*beta*y(3))+(M+mv*A*L)*(-mv*A*alfa*L*xg0*w0^2*sin(wf*t)-2*mv*A*g*y(2)-(1/2)*mv*A*delta*abs(y(4))*y(4)))/(mv*A*L*(M+mv*A*L)-(mv*A*L)^2)))/(M+mv*A*L);(mv*A*alfa*L*((M+mv*A*L)*xg0*w0^2*sin(wf*t)+M*w0^2*y(1)+2*M*w0*beta*y(3))+(M+mv*A*L)*(-mv*A*alfa*L*xg0*w0^2*sin(wf*t)-2*mv*A*g*y(2)-(1/2)*mv*A*delta*abs(y(4))*y(4)))/(mv*A*L*(M+mv*A*L)-(mv*A*L)^2)];
[Ts,Ys]= ode45(s,[0 50],[0 0 0 0]);
%Graphic
plot(Ts,Ys(:,1),Tr,Yr(:,1))
% Effectiveness of the system ????
Tank's.
Réponses (1)
Hello Igor,
To find the maximum values of the functions, you can use 'max' function as shown:
M = 0.577;
mv = 1000;
A = 1.157*10^-5;
xg0 = 0.05;
w0 = 5.17;
wf = 5.17;
beta = 2/100;
alfa = 0.7;
L = 0.734;
g = 9.81;
delta = 0.5;
% Equation 1
r = @(t,y) [y(3); y(4); -xg0*w0^2*sin(wf*t)-w0^2*y(1)-2*w0*beta*y(3); 0];
[Tr, Yr] = ode45(r, [0 50], [0 0 0 0]);
% System of equations
s = @(t,y) [
y(3);
y(4);
(-(M+mv*A*L)*xg0*w0^2*sin(wf*t)-M*w0^2*y(1)-2*M*w0*beta*y(3)-mv*A*alfa*L*((mv*A*alfa*L*((M+mv*A*L)*xg0*w0^2*sin(wf*t)+M*w0^2*y(1)+2*M*w0*beta*y(3))+(M+mv*A*L)*(-mv*A*alfa*L*xg0*w0^2*sin(wf*t)-2*mv*A*g*y(2)-(1/2)*mv*A*delta*abs(y(4))*y(4)))/(mv*A*L*(M+mv*A*L)-(mv*A*L)^2)))/(M+mv*A*L);
(mv*A*alfa*L*((M+mv*A*L)*xg0*w0^2*sin(wf*t)+M*w0^2*y(1)+2*M*w0*beta*y(3))+(M+mv*A*L)*(-mv*A*alfa*L*xg0*w0^2*sin(wf*t)-2*mv*A*g*y(2)-(1/2)*mv*A*delta*abs(y(4))*y(4)))/(mv*A*L*(M+mv*A*L)-(mv*A*L)^2)
];
[Ts, Ys] = ode45(s, [0 50], [0 0 0 0]);
% Plot the results
figure;
plot(Ts, Ys(:,1), 'b', Tr, Yr(:,1), 'r');
xlabel('Time');
ylabel('Response');
legend('System of Equations', 'Equation 1');
title('Comparison of Two Systems');
grid on;
% Calculate and display the maximum values
[max_Ys, idx_Ys] = max(Ys(:,1));
[max_Yr, idx_Yr] = max(Yr(:,1));
fprintf('Maximum of System of Equations: %.4f at time %.4f\n', max_Ys, Ts(idx_Ys));
fprintf('Maximum of Equation 1: %.4f at time %.4f\n', max_Yr, Tr(idx_Yr));
Kindly refer to the documentation by executing the following command in MATLAB Command Window to know more about 'max' function:
doc max
Catégories
En savoir plus sur Ordinary Differential Equations dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
