# Using loops to populate a vector

23 Ansichten (letzte 30 Tage)
lauuser1 am 16 Feb. 2016
Kommentiert: Image Analyst am 16 Feb. 2016
Say I have a 3x2 matrix (A) that ranges from the numbers 1 through 5. The 3 rows equals 3 different sets of numbers. I have to use a loop to populate a vector (B) that is the size 3x1 (3 for each set). This vector will populate with the first number in each set (every number in the first column).
So if the matrix A =
2 3
1 1
5 4
the vector B should be
2
1
5
How would you use the loop function to do that?
##### 0 Kommentare-2 ältere Kommentare anzeigen-2 ältere Kommentare ausblenden

Melden Sie sich an, um zu kommentieren.

### Akzeptierte Antwort

Moe_2015 am 16 Feb. 2016
Bearbeitet: Moe_2015 am 16 Feb. 2016
If you really need to use a for loop, this is how you could do it.
for i=1:size(A,1)
B(i,1)=A(i,1);
end
However, a more efficient way would be:
B=A(:,1)
##### 4 Kommentare2 ältere Kommentare anzeigen2 ältere Kommentare ausblenden
lauuser1 am 16 Feb. 2016
What I am trying to fix is that I just want the final result of B rather than it echoing. I would like to see B in my command window as just one single fully populated 3x1 vector with no values of 0.
Image Analyst am 16 Feb. 2016
Put B by itself after the loop to have it echo only the final B
for i=1:size(A,1)
B(i,1)=A(i,1); % Semicolon to suppress echo to command window.
end
% Print B to command window:
B

Melden Sie sich an, um zu kommentieren.

### Kategorien

Mehr zu Loops and Conditional Statements finden Sie in Help Center und File Exchange

### Community Treasure Hunt

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

Start Hunting!

Translated by