I am trying to run a while loop which will give me a new Kx1 vector each time. Suppose the vector is stored in variable `a`

.I'm trying to create a matrix which will have this vector as column entities, the number of columns being equal to the number of loops.

```
fi={};
do while col<1000;
........
do while row<50;
fi[row,col]= a[row];
row=row+1;
endo;
col=col+1;
endo;
```

The fi matrix has only elements in the first column(that from the execution of final loop values).How can I get a matrix with columns containing the Kx1 vectors?

## 1 Answer

0

accepted

Here is a simple example program that will create a new vector `a`

on each loop iteration and assign it to a column of `fi`

. Each `a`

is just a vector of integers all equal to the loop iteration number to make the output easy to understand

```
nrows = 10;
ncols = 4;
//Pre-allocate size of final matrix
fi = zeros(nrows, ncols);
//Loop over each column
for i(1, ncols, 1);
//Get next 'a' vector
a = getvec(nrows, i);
//Assign the contents of 'a'
//to the ith column of 'fi'
fi[.,i] = a;
endfor;
//Return a vector of integers
//to simulate a process of creating a vector
proc (1) = getvec(nrows, i);
retp(ones(nrows,1) .* i);
endp;
```

## Your Answer

## 1 Answer

Here is a simple example program that will create a new vector `a`

on each loop iteration and assign it to a column of `fi`

. Each `a`

is just a vector of integers all equal to the loop iteration number to make the output easy to understand

```
nrows = 10;
ncols = 4;
//Pre-allocate size of final matrix
fi = zeros(nrows, ncols);
//Loop over each column
for i(1, ncols, 1);
//Get next 'a' vector
a = getvec(nrows, i);
//Assign the contents of 'a'
//to the ith column of 'fi'
fi[.,i] = a;
endfor;
//Return a vector of integers
//to simulate a process of creating a vector
proc (1) = getvec(nrows, i);
retp(ones(nrows,1) .* i);
endp;
```