I'm trying to get a vector from a loop without doing the linspace function

3 vues (au cours des 30 derniers jours)
Kelsey Pettrone
Kelsey Pettrone le 6 Sep 2020
Commenté : Matt J le 6 Sep 2020
in the command window I want it to look like this
The vector created using the for loop is:
0 1.2500 2.5000 3.7500 5.0000
here is my code
vector = zeros(1,5);
for i = 0:1.25:5;
vector = i
end
disp(vector)
this only shows the 5 but i want it to display all of them in a line

Réponses (2)

Matt J
Matt J le 6 Sep 2020
You must tell the code where in vector you want each value placed.

Asad (Mehrzad) Khoddam
Asad (Mehrzad) Khoddam le 6 Sep 2020
vector = zeros(1,5);
j = 1;
for i = 0:1.25:5;
vector(j) = i;
j = j+ 1;
end
disp(vector)
  3 commentaires
Asad (Mehrzad) Khoddam
Asad (Mehrzad) Khoddam le 6 Sep 2020
It works well for me.
you can use this code too:
vector = zeros(1,5);
for i = 1:5
vector(i) = 1.25*(i-1);
end
disp(vector)
Matt J
Matt J le 6 Sep 2020
This would be more numerically stable. Note that solutions based on a:b:c are susceptible to floating point errors, e.g.,
>> 0:1.25+1e-14:5
ans =
0 1.2500 2.5000 3.7500

Connectez-vous pour commenter.

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