add and remove columns from a marix
Show older comments
I am writing a code , in fact I have a matrix and I select the fist column then I add next column and in each epoch one column will be adding to the previous for example first 1 , the second epoch 1 and 2 , the third epoch 1, 2 and 3 and so on .
I do that like this
for i = 1:size(Matrix,2) new matrix after each iteration = Matrix(:,1:i);
but now before i put end, I would like to evaluate this new matrix.
I would like to say if nnn> 0.5 then keep this and continue the loop otherwise remove this column from the Matrix and go for the next one and continue the loop
Do you have any idea?
Answers (1)
Fangjun Jiang
on 6 Sep 2011
n=rand(5,1);
Matrix=magic(5);
NewMatrix=[];
for k=1:size(Matrix,2)
if n(k)>0.5
NewMatrix(:,end+1)=Matrix(:,k);
end
end
12 Comments
Niki
on 6 Sep 2011
Niki
on 6 Sep 2011
Fangjun Jiang
on 6 Sep 2011
If you want to remove the column, do the follow. Notice the loop from 5 to 1. This is because if you remove the column, the size of the matrix is changed.
n=rand(5,1);
Matrix=magic(5);
for k=size(Matrix,2):-1:1
if n(k)>0.5
Matrix(:,k)=[];
end
end
Niki
on 7 Sep 2011
Fangjun Jiang
on 7 Sep 2011
Then it's the code in the answer.
Niki
on 7 Sep 2011
Fangjun Jiang
on 7 Sep 2011
I can't comment on your solution, because I don't have your plsregress() function. RMSECF is not used. Not sure if mse and MSE mean the same.
Niki
on 7 Sep 2011
Fangjun Jiang
on 7 Sep 2011
The function is in the Statistics Toolbox which I don't have.
Niki
on 7 Sep 2011
Fangjun Jiang
on 7 Sep 2011
Sorry, I won't do it. It seems to be a different topic. Ask a different question and someone with statistics expertise might be able to help you.
Niki
on 7 Sep 2011
Categories
Find more on Resampling Techniques in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!