change size of matrix without changing number of row and column
2 次查看(过去 30 天)
显示 更早的评论
Hi I have 4 matrices (A, B, C and D)like my figure:
The first row and column in matrix B, C and D show number of original row and column.
I want to convert matrix B to matrix B' and matrix C to matrix C' and matrix E to matrix E' like following figure:
is there any clue please?
0 个评论
采纳的回答
Andrei Bobrov
2014-12-23
B = [0 6 7;6 1 0;7 0 1];
C = [0 1 3 5:7;2 0 0 1 0 0; 3 1 0 0 1 0; 8 0 1 0 0 1; 9 0 0 0 0 1];
E = [0 3:7; 8 0 0 1 0 0;9 1 1 0 1 0; 10 0 1 1 1 0; 11 0 1 1 1 1];
[ib,jb] = find(B(2:end,2:end))
[ic,jc] = find(C(2:end,2:end))
[ie,je] = find(E(2:end,2:end))
s = size(A);
P = [(0:11)',[1:7;zeros(s-1)]];
Bt = P;
Bt(sub2ind(s,B(ib+1,1)+1,B(1,jb+1)'+1)) = 1
Ct = P;
Ct(sub2ind(s,C(ic+1,1)+1,C(1,jc+1)'+1)) = 1
Et = P;
Et(sub2ind(s,E(ie+1,1)+1,E(1,je+1)'+1)) = 1
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Numeric Types 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!