How to make a curve fill the whole plotspace
2 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Arne
le 21 Mar 2025
Modifié(e) : Walter Roberson
le 21 Mar 2025
Vb0_vec = [10 1000];
mb_vec = (20*10^-3)*(36*pi*Vb0_vec.^2).^(1/3);
rhog0 = 0.169;
lambda = 0.0173;
y = linspace(0, 120000, 50000);
% plot 3: beperkende factor voor capaciteit
W_10 = Capaciteit(y, Vb0_vec(1), lambda, mb_vec(1), rhog0);
W_1000 = Capaciteit(y, Vb0_vec(2), lambda, mb_vec(2), rhog0);
figure(3)
loglog(y, W_10)
hold on
loglog(y, W_1000)
hold off
The output looks like this:

How can i make the curves cover the whole plot (touching both axes)?
0 commentaires
Réponse acceptée
Walter Roberson
le 21 Mar 2025
Modifié(e) : Walter Roberson
le 21 Mar 2025
You have the same y each time, but the visible coverage is different. For log plots the implication is that the data either becomes non-finite or becomes negative.
[min10, max10] = bounds(y(isfinite(W_10) & (W_10>0)));
[min1000, max1000] = bounds(y(isfinite(W_1000) & (W_1000>0)));
minb = min(min10, min1000);
maxb = max(max10, max1000);
xlim([minb, maxb]);
0 commentaires
Plus de réponses (1)
Mathieu NOE
le 21 Mar 2025
hello
try this :
have log spaced x vector (with power of 10 limits) should do the job (fastest fix)
and 500 to 1000 points should be enough to get a good quality plot
Vb0_vec = [10 1000];
mb_vec = (20*10^-3)*(36*pi*Vb0_vec.^2).^(1/3);
rhog0 = 0.169;
lambda = 0.0173;
% y = linspace(0, 120000, 50000);
y = logspace(1, 5, 1000);
% plot 3: beperkende factor voor capaciteit
W_10 = Capaciteit(y, Vb0_vec(1), lambda, mb_vec(1), rhog0);
W_1000 = Capaciteit(y, Vb0_vec(2), lambda, mb_vec(2), rhog0);
figure(3)
loglog(y, W_10)
hold on
loglog(y, W_1000)
hold off
2 commentaires
Voir également
Catégories
En savoir plus sur Repeated Measures and MANOVA dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!