How to find the x value at the maximum?

5 vues (au cours des 30 derniers jours)
sophp
sophp le 7 Fév 2018
Modifié(e) : Jan le 7 Fév 2018
Here is a MATLAB code to find the maximum of the Y_B (which is a function of
T and t) against t.
t = 0.2:0.1:20;
T = 600:2:850;
for i = 1:numel(T)
k1 = 1e7 .* exp(-12700 ./ T(i));
k2 = 5e4 .* exp(-10800 ./ T(i));
k3 = 7e7 .* exp(-15000 ./ T(i));
for j = 1:numel(t)
Y_B(i,j) = (k1/(k2-k1-k3))*(exp(-(k1+k3)*t(j))-exp(-k2*t(j)));
end
end
plot(t, max(Y_B, [], 1));
How do I find the corresponding value of T at the Y_Bmax and plot it against t?
  1 commentaire
Jan
Jan le 7 Fév 2018
Modifié(e) : Jan le 7 Fév 2018
As mentioned in your other thread, this is more efficient and nicer without a loop:
t = 0.2:0.1:20;
T = (600:50:850).';
k1 = 1e7 .* exp(-12700 ./ T);
k2 = 5e4 .* exp(-10800 ./ T);
k3 = 7e7 .* exp(-15000 ./ T);
Y_B = (k1 ./ (k2-k1-k3)) .* (exp(-(k1+k3) * t) - exp(-k2*t)); % >= R2016

Connectez-vous pour commenter.

Réponse acceptée

Birdman
Birdman le 7 Fév 2018
Modifié(e) : Birdman le 7 Fév 2018
t = 0.2:0.1:20;
T = 600:2:850;
for i = 1:numel(T)
k1 = 1e7 .* exp(-12700 ./ T(i));
k2 = 5e4 .* exp(-10800 ./ T(i));
k3 = 7e7 .* exp(-15000 ./ T(i));
for j = 1:numel(t)
Y_B(i,j) = (k1/(k2-k1-k3))*(exp(-(k1+k3)*t(j))-exp(-k2*t(j)));
end
end
[val,idx]=max(Y_B);
plot(T(idx), val,'-o');

Plus de réponses (0)

Catégories

En savoir plus sur Data Type Identification dans Help Center et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by