How to find the x and y values at the max of a curve?
3 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Will Jeter
le 27 Oct 2020
Réponse apportée : Walter Roberson
le 27 Oct 2020
Im trying to find the max Concentration for the curve R and its corresponding time. The max function doesn't seem to work when I tried it.
function CBE350HW10PT1
tspan = [0,2000];
conc = [0.02,0,0];
[t, c] = ode45(@odefun3,tspan,conc);
figure
plot(t,c)
xlabel('Time')
ylabel('Concentration')
legend('A','R','S')
end
function dCdt = odefun3(t,c)
k1 = 0.00108;
k2 = 0.00119;
k3 = 0.00159;
CA = c(1);
CR = c(2);
CS = c(3);
dCdt = zeros(3,1);
dCdt(1) = -k1*CA;
dCdt(2) = (k1*CA)-(k2*CR)-(k3*CR*CS);
dCdt(3) = (k2*CR)-(k3*CR*CS);
end
0 commentaires
Réponse acceptée
Walter Roberson
le 27 Oct 2020
CBE350HW10PT1 %invoke the function
function CBE350HW10PT1
tspan = [0,2000];
conc = [0.02,0,0];
[t, c] = ode45(@odefun3,tspan,conc);
figure
plot(t,c)
xlabel('Time')
ylabel('Concentration')
legend('A','R','S')
[maxr, maxridx] = max(c(:,2));
maxr_t = t(maxridx);
hold on
plot(maxr_t, maxr, 'r*');
hold off
fprintf('Maximum concentration R was %g at time = %g\n', maxr, maxr_t);
end
function dCdt = odefun3(t,c)
k1 = 0.00108;
k2 = 0.00119;
k3 = 0.00159;
CA = c(1);
CR = c(2);
CS = c(3);
dCdt = zeros(3,1);
dCdt(1) = -k1*CA;
dCdt(2) = (k1*CA)-(k2*CR)-(k3*CR*CS);
dCdt(3) = (k2*CR)-(k3*CR*CS);
end
0 commentaires
Plus de réponses (0)
Voir également
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!