How do I plot in a for loop?
14 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Amy Jeffers
le 24 Jan 2018
Réponse apportée : Walter Roberson
le 24 Jan 2018
I am trying to plot y=A*(x+B)^n with constant A and B-values but I want to plot three different lines, each with a different n-value (n=1, 2, and 3). It keeps giving me a plot with one line and it also says there is an error using ".^". Can anybody tell me what's wrong with my code?
x = linspace(0, 2*pi, 100);
A = 1;
B = 1;
n = 1:3;
y = A*(x+B).^n;
for n = 1:3
plot(x,y); hold on
end
hold off
0 commentaires
Réponse acceptée
Star Strider
le 24 Jan 2018
Use the bsxfun function to automatically expand the vectors:
x = linspace(0, 2*pi, 100);
A = 1;
B = 1;
n = 1:3;
y = bsxfun(@power, A*(x+B), n');
for n = 1:3
plot(x,y); hold on
end
hold off
Note the transpose (') operator on ‘n’.
0 commentaires
Plus de réponses (1)
Voir également
Catégories
En savoir plus sur Scatter Plots 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!