create a matrix from matrix with zeros elements
1 view (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,
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 Operators and Elementary Operations 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!