create a matrix from matrix with zeros elements
8 次查看(过去 30 天)
显示 更早的评论
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 个评论
Sindar
2020-1-24
what is the logic of which elements are zero, and what value the non-zero ones take?
回答(2 个)
Spencer Chen
2020-1-24
You can create a new matrix of the same size:
B = zeros(size(A));
Then assign non-zero data in B.
Blessings,
Spencer
Sindar
2020-1-29
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 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Resizing and Reshaping Matrices 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!