I want to create a sparse matrix (121 by 121) with A repeating in the main diagonal.
I wrote a code below to create my 11 by 11 matrix A but how do i get a 121 by 121 sparse matrix with A repeating in the main diagonal.
n = 11;
D = sparse(1:n,1:n,-4*ones(1,n),n,n);
full(D);
E = sparse(2:n,1:n-1,ones(1,n-1),n,n);
E(11,10)=2;
full(E);
F = sparse(1:n-1,2:n,ones(1,n-1),n,n);
F(1,2)=2;
full(F);
S = E+D+F;
A=full(S)

 Akzeptierte Antwort

Walter Roberson
Walter Roberson am 23 Apr. 2019

0 Stimmen

temp = repmat({S}, 1, 11);
result = blkdiag(temp{:});

1 Kommentar

SA
SA am 23 Apr. 2019
It worked perfectly. Thanks a million

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Sparse Matrices finden Sie in Hilfe-Center und File Exchange

Tags

Noch keine Tags eingegeben.

Gefragt:

SA
am 23 Apr. 2019

Kommentiert:

SA
am 23 Apr. 2019

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by