Octave adition de deux matrice sans boucle

bonjour
je désire faire l’addition de deux matrices sans utiliser de boucle for
alors j’ai essayé d’utiliser les fonctions reshape et repmat mais sans succé
voici mes deux matrice :
m1=[1 2 3 ; 4 5 6 ; 7 8 9];
m2=[4 6 7 ; 4 8 6]
en sorti je dois avoir une matrice de 6x3

Comment veux tu faire l’addition d’une matrice 3x3 et d’une matrice 2x3 ça n’a pas de sens?? Quant à obtenir une matrice 6x3???

bonjour
voici la boucle que je veux éliminé 'car octave est très gourmand quand on utilise des boucles’
for j=1:3
for i=1:2
m3[i*j,:] = m1 ( j , : ) + m2 ( i , : ) ;
endfor
endfor

en sortie j’aurai une matrice 6x3

Ça n’a rien à voir avec l’addition de matrices ton histoire et c’est un peu n’importe quoi… Par exemple, ta 5ième ligne sera toujours nulle???

[code]octave:14> for j=1:3; for i=1:2;m3(i*j,:slight_smile: = m1 ( j , : ) + m2 ( i , : ) ;endfor
;endfor
octave:16> m3
m3 =

5    8   10
8   11   13

11 14 16
8 13 12
0 0 0
11 16 15
[/code]

Quelle est l’opération méthématique que tu veux faire? Obtenir la matrice contenant toutes les sommes des vecteurs lignes? Ce serait

[code]octave:23> for j=1:3; for i=1:2;m3((i-1)*3+j,:slight_smile: = m1 ( j , : ) + m2 ( i , : ) ;
endfor
;endfor
octave:25> m3
m3 =

5    8   10
8   11   13

11 14 16
5 10 9
8 13 12
11 16 15

octave:27>[/code]ou alors

[code]octave:31> for j=1:3; for i=1:2;m3((j-1)*2+i,:slight_smile: = m1 ( j , : ) + m2 ( i , : ) ;
endfor
;endfor
octave:33> m3
m3 =

5    8   10
5   10    9
8   11   13
8   13   12

11 14 16
11 16 15
[/code]

voici le code corriger

k=1;
for j=1:3
for i=1:2
m3[k,:] = m1 ( j , : ) + m2 ( i , : ) ;
k=k+1;
endfor
endfor

je désire faire se calcule en utilisant reshape et repmat

Bon, donc c’est

for j=1:3; for i=1:2;m3((j-1)*2+i,:) = m1 ( j , : ) + m2 ( i , : ); endfor; endfor
(l’introduction de k n’apporte rien).

L’utilisation de reshap et autre ne changera strictement rien sur la complexité de ton code et sur le temps d’éxécution, pire ces deux fonctions reconstruisent des matrices donc réorganisent les deux matrices données. Tu y perdras sur tous les plans (il faut y rajouter l’appel des fonctions).

PS: Où te sers tu de cette opération curieuse?

merci pour ta réponse
mais je désire faire le calcule de deux manière :
la première avec les boucles et la deuxième avec reshap et repmat

repmat(m1,2,1)+repmat(m2,3,1)