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;