clc
clear all
close all
b1 = [10; 20 ; 30 ; 40];
A = [0 20 0 10 ; 20 0 30 0 ; 0 30 0 10 ; 20 0 10 0];
s = size(b1);
x = randi([0 1],s)
G = [];
[ n m ] = size(x);
for i = 1 : n
for j = 1 : m
G(:,i) = x(:,j)
a = find(G(: , i) == 0 , 1 , 'first')
[x y] = size(G(:,i))
for k = 1:y
G(: , k) = 0;
G(a , k) = 1
end
end
i = i + 1;
j = j + 1;
end
This prob wil work only the first time. I want the matrix to take a column, find where the first 0 is and change it to 1. Then proceed to the next line and do the same but keep the first column and not change it to 0s. Final solution must look like
(x changes randomly with 0 and 1 )
G =
1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1
I would appreciate any answer :)
5 Comments
Chinmay Anand (view profile)
Direct link to this comment
https://ch.mathworks.com/matlabcentral/answers/468230-how-to-change-0-to-1-and-update-a-matrix#comment_716889
Antonio Grivas (view profile)
Direct link to this comment
https://ch.mathworks.com/matlabcentral/answers/468230-how-to-change-0-to-1-and-update-a-matrix#comment_716896
Antonio Grivas (view profile)
Direct link to this comment
https://ch.mathworks.com/matlabcentral/answers/468230-how-to-change-0-to-1-and-update-a-matrix#comment_716899
Stephen Cobeldick (view profile)
Direct link to this comment
https://ch.mathworks.com/matlabcentral/answers/468230-how-to-change-0-to-1-and-update-a-matrix#comment_716902
Antonio Grivas (view profile)
Direct link to this comment
https://ch.mathworks.com/matlabcentral/answers/468230-how-to-change-0-to-1-and-update-a-matrix#comment_716991
Sign in to comment.