Bonjour !!!
je voudrais savoir comment concatener des valeurs dans un vecteur et comment je peux déclarer celui-ci.
merci![]()
Bonjour !!!
je voudrais savoir comment concatener des valeurs dans un vecteur et comment je peux déclarer celui-ci.
merci![]()
Bonjour,
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 a=1; b=[2 3 4]; c=5; d=[6 7]; vect=[a b c d]
merci
mais en fait je concatene des valeurs au fur et à mesure que je les calcule :/
ca marche bien ça?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 elt_recu = x; vect=[vect elt_recu];
tapes le mot concatenate dans le Help de MATLAB et tu trouveras pleins de fonctions:
cat, vertcat, horzcat, ...
A noter que cela devient très gourmand en ressources si n est grand.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 M=[]; for n=1:7 M=[M n]; end M
On préferera (si possible) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 M=zeros(1,7); for n=1:7 M(n)=n; end M
j'ai pas MATLAB pour le moment je me debrouille avec des tutos/FAQ/cours pour l'instant :-( dc la méthode que j'ai donné marcherai...
arf je vois pas trop comment insérer vos exemples dans mon 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
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58 function[vect] = zigzag(matrice) %recuperation des dimensions de la matrice (hauteur, largeur) ligne=size(matrice,1); colonne=size(matrice,2); elt_matrice =0; i=0; j=0; vect=[]; croiss=0; while i <= ligne & j <= colonne %on recupere l'element positionne en matrice(ligne,colonne) elt_matrice = matrice(ligne,colonne); %on l'ajoute dans le vecteur vect=[vect elt_matrice]; if i == 0 | i == ligne if j == colonne j = j -1; i = i + 1; end j = j + 1; %on recupere l'element positionne en matrice(ligne,colonne) elt_matrice = matrice(ligne,colonne); %on l'ajoute dans le vecteur vect=[vect elt_matrice]; else if j == 0 | j == colonne if i == ligne i = i + 1; j = j + 1; end i = i + 1; %on recupere l'element positionne en matrice(ligne,colonne) elt_matrice = matrice(ligne,colonne); %on l'ajoute dans le vecteur vect=[vect elt_matrice]; end end if i == 0 | j == colonne croiss = 0; end if j == 0 | i == ligne croiss = 1; end if croiss == 1 i = i - 1; j = j + 1; else i = i + 1; j = j + 1; end end
Que voulez vous faire exactement ??
par exemple on a la matrice :
vect= ??
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 1 2 3 4 5 6
je veux faire un scan en zig-zag sur une matrice et concatener le resultat de la lecture dans un vecteur.
donc vect = 1 2 4 5 3 6
voila:
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
29
30
31
32 function vect=zigzag(m) [ligne,colonne]=size(m); vect=[];flag=0; i=1;j=1; while i < ligne | j < colonne i=i+flag; j=j-flag; vect=[vect m(i,j)]; if i==1 | j==colonne if j==colonne i=i+1; else j=j+1; end flag=1; vect=[vect m(i,j)]; else if j==1 | i==ligne if i==ligne j=j+1; else i=i+1; end flag=-1; vect=[vect m(i,j)]; end end 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