How to add zeros diagonally in a matrix?
2 ビュー (過去 30 日間)
古いコメントを表示
I am trying to add zeros diagonally in this matrix so it should become 23*23 matrix. But with my program it becomes 24*22 matrix. Please help to resolve the code.
close all; clear all; clc;
A= [0 0 0 1 0 -1 0 -1 -1 0 1 -1 0 0 1 -1 0 1 0 1 -1 0
0 1 1 1 0 0 -1 0 0 0 1 -1 1 -1 -1 1 0 -1 0 -1 1 0
-1 -1 0 0 0 0 1 0 1 0 0 -1 1 1 -1 1 0 -1 1 -1 1 0
1 -1 0 -1 0 -1 -1 0 0 -1 1 0 0 0 -1 1 -1 0 -1 -1 0 1
0 1 -1 0 0 -1 1 -1 -1 -1 1 0 0 0 0 -1 0 0 -1 1 0 0
1 0 0 1 0 -1 -1 0 0 0 1 -1 0 0 -1 1 -1 0 -1 -1 1 1
-1 0 -1 0 1 0 1 0 1 0 -1 -1 1 1 0 0 0 0 1 1 0 0
0 0 -1 0 0 0 1 0 1 0 0 1 -1 0 1 0 -1 1 1 -1 1 -1
1 0 0 0 -1 0 0 1 1 -1 -1 -1 0 0 -1 -1 -1 0 0 -1 1 0
1 0 1 0 1 0 0 1 0 1 1 -1 1 0 -1 0 0 0 0 -1 -1 0
0 0 -1 -1 0 0 0 -1 0 -1 1 1 0 1 -1 1 -1 -1 -1 -1 0 0
0 -1 -1 -1 1 0 0 -1 0 0 0 1 1 0 -1 1 0 0 -1 -1 0 1
0 0 1 0 -1 0 -1 0 0 1 -1 -1 0 -1 0 -1 0 -1 1 1 1 1
-1 0 0 1 1 0 -1 -1 0 -1 -1 1 -1 -1 0 0 1 0 1 1 0 1
0 -1 -1 0 1 0 -1 -1 0 -1 0 0 -1 0 -1 1 0 0 1 0 0 -1
0 -1 0 -1 -1 0 0 -1 0 0 0 -1 1 1 0 1 0 0 -1 -1 0 0
-1 0 -1 -1 1 0 0 1 0 1 0 -1 1 1 1 -1 0 -1 0 0 -1 -1
-1 0 0 1 0 -1 -1 -1 0 -1 -1 1 -1 0 0 0 0 -1 1 1 1 1
0 -1 -1 0 1 0 -1 -1 0 -1 0 0 1 0 0 1 0 0 1 1 1 -1
1 1 -1 0 -1 0 -1 1 0 1 -1 -1 -1 0 1 0 -1 -1 0 1 0 -1
0 -1 1 1 0 0 -1 -1 1 1 0 -1 -1 1 0 -1 1 0 -1 0 1 0
0 -1 -1 0 1 0 0 1 0 1 0 0 -1 1 0 1 1 0 -1 0 -1 -1
1 1 -1 1 -1 0 0 0 -1 1 0 0 -1 0 -1 -1 -1 0 1 1 1 1];
S = size(A)+[1,0];
B = zeros(S);
B(~eye(S)) = A;
1 件のコメント
VBBV
2023 年 5 月 7 日
移動済み: VBBV
2023 年 5 月 9 日
close all; clear all; clc;
A= [0 0 0 1 0 -1 0 -1 -1 0 1 -1 0 0 1 -1 0 1 0 1 -1 0
0 1 1 1 0 0 -1 0 0 0 1 -1 1 -1 -1 1 0 -1 0 -1 1 0
-1 -1 0 0 0 0 1 0 1 0 0 -1 1 1 -1 1 0 -1 1 -1 1 0
1 -1 0 -1 0 -1 -1 0 0 -1 1 0 0 0 -1 1 -1 0 -1 -1 0 1
0 1 -1 0 0 -1 1 -1 -1 -1 1 0 0 0 0 -1 0 0 -1 1 0 0
1 0 0 1 0 -1 -1 0 0 0 1 -1 0 0 -1 1 -1 0 -1 -1 1 1
-1 0 -1 0 1 0 1 0 1 0 -1 -1 1 1 0 0 0 0 1 1 0 0
0 0 -1 0 0 0 1 0 1 0 0 1 -1 0 1 0 -1 1 1 -1 1 -1
1 0 0 0 -1 0 0 1 1 -1 -1 -1 0 0 -1 -1 -1 0 0 -1 1 0
1 0 1 0 1 0 0 1 0 1 1 -1 1 0 -1 0 0 0 0 -1 -1 0
0 0 -1 -1 0 0 0 -1 0 -1 1 1 0 1 -1 1 -1 -1 -1 -1 0 0
0 -1 -1 -1 1 0 0 -1 0 0 0 1 1 0 -1 1 0 0 -1 -1 0 1
0 0 1 0 -1 0 -1 0 0 1 -1 -1 0 -1 0 -1 0 -1 1 1 1 1
-1 0 0 1 1 0 -1 -1 0 -1 -1 1 -1 -1 0 0 1 0 1 1 0 1
0 -1 -1 0 1 0 -1 -1 0 -1 0 0 -1 0 -1 1 0 0 1 0 0 -1
0 -1 0 -1 -1 0 0 -1 0 0 0 -1 1 1 0 1 0 0 -1 -1 0 0
-1 0 -1 -1 1 0 0 1 0 1 0 -1 1 1 1 -1 0 -1 0 0 -1 -1
-1 0 0 1 0 -1 -1 -1 0 -1 -1 1 -1 0 0 0 0 -1 1 1 1 1
0 -1 -1 0 1 0 -1 -1 0 -1 0 0 1 0 0 1 0 0 1 1 1 -1
1 1 -1 0 -1 0 -1 1 0 1 -1 -1 -1 0 1 0 -1 -1 0 1 0 -1
0 -1 1 1 0 0 -1 -1 1 1 0 -1 -1 1 0 -1 1 0 -1 0 1 0
0 -1 -1 0 1 0 0 1 0 1 0 0 -1 1 0 1 1 0 -1 0 -1 -1
1 1 -1 1 -1 0 0 0 -1 1 0 0 -1 0 -1 -1 -1 0 1 1 1 1];
size(A)
S = size(A)+ [0 1]
B = zeros(S);
B(~eye(S)) = A
採用された回答
Walter Roberson
2023 年 5 月 7 日
Your A is 23 x 22. You add 1 row and 0 columns to that to get B of size 24 x 22.
A= [0 0 0 1 0 -1 0 -1 -1 0 1 -1 0 0 1 -1 0 1 0 1 -1 0
0 1 1 1 0 0 -1 0 0 0 1 -1 1 -1 -1 1 0 -1 0 -1 1 0
-1 -1 0 0 0 0 1 0 1 0 0 -1 1 1 -1 1 0 -1 1 -1 1 0
1 -1 0 -1 0 -1 -1 0 0 -1 1 0 0 0 -1 1 -1 0 -1 -1 0 1
0 1 -1 0 0 -1 1 -1 -1 -1 1 0 0 0 0 -1 0 0 -1 1 0 0
1 0 0 1 0 -1 -1 0 0 0 1 -1 0 0 -1 1 -1 0 -1 -1 1 1
-1 0 -1 0 1 0 1 0 1 0 -1 -1 1 1 0 0 0 0 1 1 0 0
0 0 -1 0 0 0 1 0 1 0 0 1 -1 0 1 0 -1 1 1 -1 1 -1
1 0 0 0 -1 0 0 1 1 -1 -1 -1 0 0 -1 -1 -1 0 0 -1 1 0
1 0 1 0 1 0 0 1 0 1 1 -1 1 0 -1 0 0 0 0 -1 -1 0
0 0 -1 -1 0 0 0 -1 0 -1 1 1 0 1 -1 1 -1 -1 -1 -1 0 0
0 -1 -1 -1 1 0 0 -1 0 0 0 1 1 0 -1 1 0 0 -1 -1 0 1
0 0 1 0 -1 0 -1 0 0 1 -1 -1 0 -1 0 -1 0 -1 1 1 1 1
-1 0 0 1 1 0 -1 -1 0 -1 -1 1 -1 -1 0 0 1 0 1 1 0 1
0 -1 -1 0 1 0 -1 -1 0 -1 0 0 -1 0 -1 1 0 0 1 0 0 -1
0 -1 0 -1 -1 0 0 -1 0 0 0 -1 1 1 0 1 0 0 -1 -1 0 0
-1 0 -1 -1 1 0 0 1 0 1 0 -1 1 1 1 -1 0 -1 0 0 -1 -1
-1 0 0 1 0 -1 -1 -1 0 -1 -1 1 -1 0 0 0 0 -1 1 1 1 1
0 -1 -1 0 1 0 -1 -1 0 -1 0 0 1 0 0 1 0 0 1 1 1 -1
1 1 -1 0 -1 0 -1 1 0 1 -1 -1 -1 0 1 0 -1 -1 0 1 0 -1
0 -1 1 1 0 0 -1 -1 1 1 0 -1 -1 1 0 -1 1 0 -1 0 1 0
0 -1 -1 0 1 0 0 1 0 1 0 0 -1 1 0 1 1 0 -1 0 -1 -1
1 1 -1 1 -1 0 0 0 -1 1 0 0 -1 0 -1 -1 -1 0 1 1 1 1];
S = size(A)+[0,1];
B = zeros(S);
B(~eye(S)) = A;
B
0 件のコメント
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Operating on Diagonal Matrices についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!