Matrices sur Matlab
cycy
-
cycy -
cycy -
Bonjour,
je travaille en ce moment sur Matlab et je cherche à créer une matrice S carrée n*n de la forme suivante:
Par exemple pour n=4,
S=[K 1 0 0;1 K 1 0;0 0 1 K];
j'aimerais écrire cette matrice pour des nombres n élevés (>7).
En fait, j'ai écrit :
S=zeros(n);
pour i=j,
S(i,i)=K;
pour i>j,
S(i,j)=triu(eye(n));
pour i<j
S(i,j)=tril(eye(n));
Mais ce n'est pas bon car en utilisant les fonctions triu et tril je remplace ma grande diagonale définie pour i=j à chaque fois par la grande diagonale de la matrice identité alors que je veux que la grande diagonale reste S(i,i)=K. Je ne sais pas si c'est très clair ce que j'ai dit mais j'espère que vous pourrez m'aider à en voir plus clair.
P.S: je ne suis pas très douée en Matlab!!
Merci d'avance.
je travaille en ce moment sur Matlab et je cherche à créer une matrice S carrée n*n de la forme suivante:
Par exemple pour n=4,
S=[K 1 0 0;1 K 1 0;0 0 1 K];
j'aimerais écrire cette matrice pour des nombres n élevés (>7).
En fait, j'ai écrit :
S=zeros(n);
pour i=j,
S(i,i)=K;
pour i>j,
S(i,j)=triu(eye(n));
pour i<j
S(i,j)=tril(eye(n));
Mais ce n'est pas bon car en utilisant les fonctions triu et tril je remplace ma grande diagonale définie pour i=j à chaque fois par la grande diagonale de la matrice identité alors que je veux que la grande diagonale reste S(i,i)=K. Je ne sais pas si c'est très clair ce que j'ai dit mais j'espère que vous pourrez m'aider à en voir plus clair.
P.S: je ne suis pas très douée en Matlab!!
Merci d'avance.
A voir également:
- Matrices sur Matlab
- Matrice sous matlab, aidez moi vite svp. - Forum Matlab
- Intervalle sur matlab ✓ - Forum Matlab
- Gnu octave matlab - Télécharger - Édition & Programmation
- [C] structures matrices - Forum C
- Multiplication de matrices ✓ - Forum Python
1 réponse
Salut,
Je sais pas si j'ai bien compris la forme de ta matrice mais essaye ce simple bout de code.
S = K*eye(n)
for i=1:n-1
S(i,i+1) =1;
S(i+1,i) =1;
end
T'obtiens pour n =5 : S=
|K 1 0 0 0|
|1 K 1 0 0|
|0 1 K 1 0|
|0 0 1 K 1|
|0 0 0 1 K|
C'est bien ça la forme de la matrice?
A+
Je sais pas si j'ai bien compris la forme de ta matrice mais essaye ce simple bout de code.
S = K*eye(n)
for i=1:n-1
S(i,i+1) =1;
S(i+1,i) =1;
end
T'obtiens pour n =5 : S=
|K 1 0 0 0|
|1 K 1 0 0|
|0 1 K 1 0|
|0 0 1 K 1|
|0 0 0 1 K|
C'est bien ça la forme de la matrice?
A+
cycy
oui c'est bien ca. Merci beaucoup pour ton aide!