MATLAB Answers

# replacing matrix rows in a loop

31 views (last 30 days)
Fred on 11 Feb 2013
Hi,
I am trying to build a n*k matrix but each row are produced by a function which has a 1*k output. How can I build that? I tried to build a n*k matrix of zeros and replace rows in a loop but since the dimensions are not same, I can't replace rows!
Thanks

#### 2 Comments

Azzi Abdelmalek on 11 Feb 2013
Provide a short example
Fred on 11 Feb 2013
This is my function which is a polynomial with k outputs for each X(i) i=1:n and my matrix will be n*k
This is a row for a X(i): [P(1), P(2), ...P(k)]=he_polynomial(1, k, X(i))

Sign in to comment.

### Accepted Answer

Sean de Wolski on 11 Feb 2013
X = zeros(100,10); %preallocate
for ii = 1:size(X,1) %loop over 100 rows
X(ii,:) = rand(1,10); %insert 10 random numbers
end

#### 0 Comments

Sign in to comment.

### More Answers (1)

Azzi Abdelmalek on 11 Feb 2013
k=10;
n=20;
X=rand(1,n)
out=cell2mat(arrayfun(@(y) he_polynomial(1,k,X(y)),(1:n)','un',0))

#### 0 Comments

Sign in to comment.

Sign in to answer this question.

Translated by