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

조회 수: 3 (최근 30일)
Kelsey Pettrone
Kelsey Pettrone 2020년 9월 6일
댓글: Matt J 2020년 9월 6일
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

답변 (2개)

Matt J
Matt J 2020년 9월 6일
You must tell the code where in vector you want each value placed.

Asad (Mehrzad) Khoddam
Asad (Mehrzad) Khoddam 2020년 9월 6일
vector = zeros(1,5);
j = 1;
for i = 0:1.25:5;
vector(j) = i;
j = j+ 1;
end
disp(vector)
  댓글 수: 3
Asad (Mehrzad) Khoddam
Asad (Mehrzad) Khoddam 2020년 9월 6일
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 2020년 9월 6일
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

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Loops and Conditional Statements에 대해 자세히 알아보기

태그

Community Treasure Hunt

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

Start Hunting!

Translated by