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

1 view (last 30 days)
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

Answers (2)

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

Asad (Mehrzad) Khoddam
Asad (Mehrzad) Khoddam on 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 Comments
Asad (Mehrzad) Khoddam
Asad (Mehrzad) Khoddam on 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 on 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

Sign in to comment.

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!