create a matrix from matrix with zeros elements
    19 views (last 30 days)
  
       Show older comments
    
I have a matrix obtained 
A=[ 1 2 3 4;5 6 7 8;9 10 11 12; 13 14 15 16];
So I just would like to obtain another matrix but with some indexs (or elements ) and the rest is zeros
So I need the output matrix to be 
O=[ 1 2 0 0 ;2 1 0 0 ;0 0 6 8;0 0 8 16]
So can anyone advise me with the best way ?
Thanks, 
2 Comments
  Sindar
      
 on 24 Jan 2020
				what is the logic of which elements are zero, and what value the non-zero ones take?
Answers (2)
  Spencer Chen
      
 on 24 Jan 2020
        You can create a new matrix of the same size:
B = zeros(size(A));
Then assign non-zero data in B.
Blessings,
Spencer
  Sindar
      
 on 29 Jan 2020
        I still don't quite see the pattern, but you can insert elements manually:
x=[1 2 3 4 5 6 ;
      7 8 9 10 11 12;
     13 14 15 16 17 18;
     19 20 21 22 23 24;
    25 26 27 28 29 30;
    31 32 33 34 35 36];
Y = zeros(4);
Y(1,1) = x(1,1);
Y(1,2) = x(1,4);
Y(2,1) = x(1,4);
Y(2,2) = x(4,4);
Y(3,3) = x(3,3);
Y(3,4) = x(6,3);
Y(4,3) = x(6,3);
Y(4,4) = x(6,6);
% or
Y = zeros(4);
Y(1:2,1:2) = [x(1,1) x(1,4) ; x(1,4) x(4,4)];
Y(3:4,3:4) = [x(3,3) x(6,3) ; x(6,3) x(6,6)];
0 Comments
See Also
Categories
				Find more on Creating and Concatenating Matrices 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!

