Bonjour à tous !

Alors voila, j'ai un petit souci dans mon code matlab pour stocker une matrice sous forme d'un tableau particulier.

Je m'explique : Voici la matrice , j'aimerais stocker les termes qui sont au dessus de la diagonale (les termes diagonaux n'étant pas compris) dans un tableau que j'ai appelé Tab_col (voir code ci dessous), seulement je veux stocker les termes qui sont sous les lignes vertes (donc éviter les deux 0 qui sont en haut)

Voici le code :
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
n=6;
A=[2 0 1 0 -1 6; 0 1 4 2 1 4; -1 2 3 0 3 1; 0 1 0 -1 0 2; 5 -1 2 0 4 3; -2 4 -3 1 -2 1]
 
tic
 
k=1;
Tab_col=zeros(1,13);
for j=2:n
    for i=1:n
       if (j>i & A(1,j)~=0)
            Tab_col(1,k)=A(i,j);
            k=k+1;
        end
    end
end
 
Tab_col
disp('Tableau Tab_col enregistré')
Le souci c'est que lorsque j'affiche Tab_col voici le résultat :
Tab_col= 1 4 -1 1 3 0 6 4 1 2 3 0 0

Alors que j'aimerais avoir :
Tab_col= 1 4 2 0 -1 1 3 0 6 4 1 2 3

En fait mon programme si il voit le 0 tout en haut il passe directement au stockage de la colonne d'après et je ne sais pas d'ou ca vient!

Votre aide m'est précieuse !!

Merci



PS : Autre question, savez vous quelle taille max peut on donner à une matrice sous matlab?


Merci