For loop and adding elements to an array. How to?

2 vues (au cours des 30 derniers jours)
Solarmew
Solarmew le 21 Mai 2015
Modifié(e) : Stephen23 le 21 Mai 2015
I have some function y(x). I would like to generate a list of y values for x between -10^-3 and 10^-3 in 10^-4 intervals and plot y vs x. I'm trying to do something simpler and less messy first for practice:
function test
global x
for n = -5; n < 5; n+1;
x(end+1)=2*n;
end
end
but this leaves me with x = -10. Why? What am I doing wrong and how could I fix it? Also, is there a way to make an array of x AND their corresponding y values simultaneously and then just plot that one thing? Like list = {{1,1},{2,4},{3,6},{4,8}} and plot this as pairs of coordinates.
  5 commentaires
Solarmew
Solarmew le 21 Mai 2015
Yep. Watched a similar example of YouTube. Just realized that the help file I was looking at was for C ... why is there help for C in MatLab? +.+ ... that's the third time already that I try to use some syntax from the help file only to realize that it's not for MatLab ... dafuq ...
Walter Roberson
Walter Roberson le 21 Mai 2015
Where did you find that help file?

Connectez-vous pour commenter.

Réponse acceptée

Stephen23
Stephen23 le 21 Mai 2015
Modifié(e) : Stephen23 le 21 Mai 2015
MATLAB is not C or any other low-level programming language that requires loops to solve everything. In MATLAB the standard method is to generate the whole vector at once using the colon operator:
>> x = -10^-3:10^-4:10^-3
x = -0.001 -0.0009 -0.0008 -0.0007 -0.0006 -0.0005 -0.0004 -0.0003 -0.0002 -0.0001 0 0.0001 0.0002 0.0003 0.0004 0.0005 0.0006 0.0007 0.0008 0.0009 0.001
This is faster and neater than using loops: knowing how to write vectorized code makes using MATLAB a lot faster, productive and enjoyable!

Plus de réponses (0)

Catégories

En savoir plus sur Loops and Conditional Statements 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!

Translated by