Bonjour,
Merci de regarder comment peut on introduire cette matrice, en utilisant toeplitz matrix ou sparse matrix. je souhaite après augmenter la taille de cette matrice en conservant la meme structure sparse.
Bonjour,
Merci de regarder comment peut on introduire cette matrice, en utilisant toeplitz matrix ou sparse matrix. je souhaite après augmenter la taille de cette matrice en conservant la meme structure sparse.
Je ne pense pas que toeplitz fonctionne ici.
Sans tenir compte de la nécessité de générer des matrices de tailles plus grandes, la matrice A peut être créée comme ceci (sans le facteur 1/h²) :
Une autre version qui prend partiellement en compte la taille des matrices :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 A = [-49/9 3/2 -3/20 ; 3/2 -49/9 3/2 ; -3/20 3/2 -49/9]; B = diag([3/2 3/2 3/2]); C = diag([-3/20 -3/20 -3/20]); A = [A B C ; B A B ; C B A];
Bref tout ceci ne répond sans doute pas parfaitement à la question. Il nous faudrait plus de précision que :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28 M = [-49/9 3/2 -3/20 ; 3/2 -49/9 3/2 ; -3/20 3/2 -49/9]; sizeM = 3; numBlocks = 3; A = zeros(sizeM*numBlocks, sizeM*numBlocks); for n = 1: numBlocks idx = (n-1)*sizeM+1:n*sizeM; A(idx,idx) = M; end k = sizeM:sizeM:(numBlocks*sizeM)-1; for n = 1:numel(k) v = diag(A,k(n)); if k(n)==3 v(:) = 3/2; else v(:) = -3/20; end A = A+diag(v,k(n))+diag(v,-k(n)); end
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager