bonjour,
je cherche, après calculs, à remplacer une ligne dans une matrice par une ou plusieurs lignes
exple:
1 2 3
4 2 7
5 9 1
peut devenir
1 2 3
2 3 5
1 5 4
5 9 1
comment faire ?
merci
bonjour,
je cherche, après calculs, à remplacer une ligne dans une matrice par une ou plusieurs lignes
exple:
1 2 3
4 2 7
5 9 1
peut devenir
1 2 3
2 3 5
1 5 4
5 9 1
comment faire ?
merci
Bonjour,
Une solution :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 M=[1 2 3 4 2 7 5 9 1]; R=2;% LIgne à remplacer L=[2 3 5 1 5 4]; [m,n]=size(L) cat(1,cat(1,M(R-1,:),L),M(n,:))
bonjour,
j'ai mal choisi mon exemple
dans mon probleme, les lignes à ajouter ne sont pas connues avant de faire des calculs (elements et nombre)
elles doivent résulter d'une ligne de la matrice de départ
je m'explique :
- on choisi une ligne (selon une certaine condition)
- on retranche une valeur au dernier element de la ligne choisie
- on ajoute (selon un certaine condition) cette valeur au autres elmts de la ligne choisie (un elmt à la fois)
ainsi, chaque ajout me crée une nouvelle ligne (<=n-1)- les lignes obtenues remplace celle de départ
on obtient alors, exmple:
1 2 3
4 5 6
7 8 9
donne
1 2 3
4+2 5 6-2
4 5+2 6-2
7 8 9
Bonjour,
Peut-être :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 M=[1 2 3 4 5 6 7 8 9]; R=2;% LIgne à remplacer V=2;% Valeur L(1,:)=[M(R,1)+V M(R,2) M(R,3)-V] L(2,:)=[M(R,1) M(R,2)+V M(R,3)-V] [m,n]=size(L) cat(1,cat(1,M(R-1,:),L),M(n,:))
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 L(1,:)=[M(R,1)+V M(R,2) M(R,3)-V] L(2,:)=[M(R,1) M(R,2)+V M(R,3)-V]
dans le cas d'une matrice plus gde (n x n), doit-on passer par une boucle (for ou autre)
ou peut-on faire plus simple
Bonjour,
On peut faire pareil avec une boucle pour les calculs de L.
As-tu un exemple ?
Partager