select one element in each row but not the same column

Hi everyone I have matrices 3*3 A= [1 2 3; 4 5 6; 7 8 9] and B=zeros(3,3) I want to choose one element in each row, for example if i choose A(1,1), the matrice of B(1,1) change its value to 1,

2 Comments

Give an example of your expected result.
[1 0 0
0 1 0
0 0 1]
or [ 1 0 0
0 0 1
0 1 0]
somthing like the above

Sign in to comment.

 Accepted Answer

A= [1 2 3; 4 5 6; 7 8 9]
ix = logical(eye(size(A))) % one element per row
ix = ix(:,randperm(size(ix,2))) % randomize accross columns
% this ix matrix is now already your B, I think
B = zeros(size(A)) ; % create B
B(ix) = 1 ;

More Answers (0)

Categories

Find more on Vehicle Dynamics Blockset in Help Center and File Exchange

Tags

No tags entered yet.

Community Treasure Hunt

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

Start Hunting!