how to replace a column in a matrix

185 views (last 30 days)
ZHEN XU
ZHEN XU on 15 May 2019
Commented: ZHEN XU on 15 May 2019
I wanna know how to replace a column in below condition:
Assmuing I had a 5*5 matrix, I wanna replace each column by zeros(5,1) for 5 times. I don't mean to get a 5*5 all 0 element matrix eventually. I want to get 5 matrix with their 1st,2nd,3rd,4th,5th column be replaced individually. How could I code for this? Thanks.
  2 Comments
James Tursa
James Tursa on 15 May 2019
What have you done so far? What specific problems are you having with your code? Can you write a loop and put the results into a cell array?
ZHEN XU
ZHEN XU on 15 May 2019
Edited: ZHEN XU on 15 May 2019
A = rand(5,5);
B = zeros(5,1);
m = 5;
for i = 1:m
A(:,i) = B;
end
This is what I wrote, but It gave me a matrix with all column got replaced... I wanna 5 matrix outcome, only one colume got replaced at a time

Sign in to comment.

Accepted Answer

James Tursa
James Tursa on 15 May 2019
Edited: James Tursa on 15 May 2019
Instead of replacing all of the columns of A, use a different variable for the result. E.g., a cell array named C. So instead of this:
A(:,i) = B;
you could have this
C{i} = A;
C{i}(:,i) = B;
Then each of C{1}, C{2}, etc contain your matrices

More Answers (0)

Community Treasure Hunt

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

Start Hunting!