[Matlab] Croiser deux ensembles de valeur
Fermé
Helene
-
21 janv. 2016 à 12:34
Timmydu26 Messages postés 80 Date d'inscription mercredi 29 avril 2015 Statut Membre Dernière intervention 17 juin 2016 - 1 févr. 2016 à 11:36
Timmydu26 Messages postés 80 Date d'inscription mercredi 29 avril 2015 Statut Membre Dernière intervention 17 juin 2016 - 1 févr. 2016 à 11:36
A voir également:
- [Matlab] Croiser deux ensembles de valeur
- Deux ecran pc - Guide
- Deux comptes whatsapp - Guide
- Faire deux colonnes sur word - Guide
- Liste de valeur excel - Guide
- Impossible d'afficher le rapport de tableau croisé dynamique sur un rapport existant ✓ - Forum Excel
1 réponse
Timmydu26
Messages postés
80
Date d'inscription
mercredi 29 avril 2015
Statut
Membre
Dernière intervention
17 juin 2016
30
22 janv. 2016 à 11:57
22 janv. 2016 à 11:57
suffit d'une boucle for a mon avis...
% Initialisation des indices pour récuperer les valeurs des vecteurs A et B
indice_a =1;
indice_b =1;
% Creation du vecteur qui contiendras les valeurs fusionnés
resultat_fusion = zeros(size(A,1)+size(B,1))
% Attention avec le size, c'est peut etre un 2 a la place du 1, ça dépend si tu as déclarer tes vecteurs en ligne ou en colonne...
% Fusion des vecteurs
for i = 1:(size(A,1)+size(B,1))
if (indice_b > indice_a)
resultat_fusion(i) = B(indice_b);
indice_b = indice_b + 1;
else
resultat_fusion(i) = A(indice_a);
indice_a = indice_a + 1;
end
end
Apres je n'ai pas Matlab sous la main pour tester mais l'algo me plait.
tiens moi au courant si cela marche ou si tu as des questions.
Cordialement.
% Initialisation des indices pour récuperer les valeurs des vecteurs A et B
indice_a =1;
indice_b =1;
% Creation du vecteur qui contiendras les valeurs fusionnés
resultat_fusion = zeros(size(A,1)+size(B,1))
% Attention avec le size, c'est peut etre un 2 a la place du 1, ça dépend si tu as déclarer tes vecteurs en ligne ou en colonne...
% Fusion des vecteurs
for i = 1:(size(A,1)+size(B,1))
if (indice_b > indice_a)
resultat_fusion(i) = B(indice_b);
indice_b = indice_b + 1;
else
resultat_fusion(i) = A(indice_a);
indice_a = indice_a + 1;
end
end
Apres je n'ai pas Matlab sous la main pour tester mais l'algo me plait.
tiens moi au courant si cela marche ou si tu as des questions.
Cordialement.
22 janv. 2016 à 14:08
28 janv. 2016 à 16:08
Merci pour votre solution. Je n'ai pas eu l'occasion de la tester, j'ai fini par trouver une solution. Certes pas élégante, mais fonctionnelle :
k=1;
for i = 1:ndemarrage -1
trajet(k) = tdemarrage(i);
k = k +1;
trajet(k) = tpause(i);
k = k +1;
end
trajet(k) = tdemarrage(ndemarrage);
Je vais quand même essayé votre solution car elle ressemble à ce que j'avais en tête initialement.
Merci beaucoup
1 févr. 2016 à 11:36
Cordialement.