J'ai 2 matrices:
- M1, correspond à une matrice TIME complète [nx4] c'est à dire AAAA MM DD HH (Année mois jours heure) sans "trous"
- M2, correspond à mes valeurs où ils manque des heures parfois des jours ... du type [mx5] c'est à dire AAAA MM DD HH VV (Année mois jours heure valeur)
Pour chaque ligne (AAAA MM DD HH), si la ligne M1 est égale à la ligne M2 (sur les 4 première colonne) alors mettre VV dans M1 , sinon mettre un NaN dans M1.
Je sais faire cette manip en utilisant ismember mais pour des vecteurs.
Le code que j'effectue avec des vecteurs est le suivant (En considérant M1 un vecteur et M2 une matrice (nx2)):
Comment faire la même chose pour des matrices ? lorsque je fais Vec_Nan(M)=M2(:,5) cela ne marche pas. Je sais que mon erreur provient de [M,N]=ismember(M1, M2), cette commande appliquée aux matrices compare chaque valeurs mais pas chaque ligne.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 Vec_Nan = NaN(length(M1(:,1)),1) % Création d'un vecteur NaN de la taille de M1 (Vecteur time complet) [M,N]=ismember(M1, M2) Vec_Nan(M)=M2(:,2)
Merci
Partager