Clear Filters
Clear Filters

Large Matrices for solving linear systems

3 views (last 30 days)
Can someone help me, I need to create the pentagonal matrix associated with the Laplace equation.. So -4 along the diagonal and 4 diagonals with 1’s. I want to be able to change the size, initially I was wanting N=33, hence 1024 x 1024.
Also an array with different values, I know I can do b=(ones(N-1)*(N-1),1) with ones or zeros, but is there a way to create a large array with different values.
I have codes for all my methods of solving linear systems, just cant create a matrix A
  1 Comment
Torsten
Torsten on 3 Dec 2018
You should think about whether it is necessary to form the matrix explicitly. If N gets larger, this may cause problems with available workspace.

Sign in to comment.

Accepted Answer

Steven Lord
Steven Lord on 3 Dec 2018
I think you may find this documentation example useful.

More Answers (3)

KSSV
KSSV on 3 Dec 2018
N = 10 ;
A = diag(ones(N-2,1),-2)+diag(ones(N-1,1),-1)+4*diag(ones(N,1))+........
diag(ones(N-1,1),1)+diag(ones(N-2,1),2) ;
  1 Comment
JJ
JJ on 3 Dec 2018
thanks thins is similar to what I want but I need the specific pentagonal matrix associated with the discrete Laplace equation

Sign in to comment.


Walter Roberson
Walter Roberson on 3 Dec 2018
spdiags() to create the A matrix .
There is no special way to create large dense matrices.

Matt J
Matt J on 3 Dec 2018
Edited: Matt J on 3 Dec 2018
values=[-4,1,1,1,1];
A=toeplitz([values(:), zeros(N-numel(values),1) ]);

Categories

Find more on Operating on Diagonal Matrices in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!