I want to make an identity matrix
3 ビュー (過去 30 日間)
古いコメントを表示
i want to make a matrix that look like this

How could i achieve this efficiently .Thanks in advace
0 件のコメント
回答 (2 件)
the cyclist
2023 年 3 月 5 日
I've made some assumptions about the pattern, but I expect it is what you want.
This should be highly efficient. The algorithm is a bit obfuscated.
% Input
N = 4;
% Start with all 0s
M = zeros(N,N*(N+1));
% Fill in the 1s
M(1:N*N+1:end-N*N) = 1;
% Fill in the -1s
M(:,N*N+1) = -1;
% Display the result
disp(M)
0 件のコメント
John D'Errico
2023 年 3 月 5 日
編集済み: John D'Errico
2023 年 3 月 5 日
These are starting to look like homework questions.
Did you not read the answer to the last question you asked? You could not use that idea to build this matrix?
A = kron([eye(4),zeros(4,1)],[1 0 0 0])
That gets you almost there, with the first 16 columns correct, and a total of 20 columns. Then it would be simple enough to stuff in the -1 elements in column 17.
A(:,17) = -1
spy(A)
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!