[Matlab] Différence entre deux courbes
malokox
-
khunlun -
khunlun -
Bonjour,
voici mon probleme :
avec matlab, j'ai tracé deux courbes en fonction du temps à partir de données.
Je voudrais avoir la différence entre ces deux courbes. J'utilise la fonction datenum pour l'echelle du temps.
Le problème est le suivant : l'une des courbes est définie a partir de 18000 données et quelques, l'autre à partir de seulement 1400.
J'aimerais obtenir une courbe approchée de la différence, mais pour faire la différence entre deux matrices, il faut que celles ci aient la meme taille. J'aimerais supprimer des données dans la matrice la plus grande, et l'adapter afin de pouvoir lui soustraire la premiere matrice.
Savez vous comment faire?
Une autre solution serait de récupérer des données approchées directement à partir de la courbe.
Merci
voici mon probleme :
avec matlab, j'ai tracé deux courbes en fonction du temps à partir de données.
Je voudrais avoir la différence entre ces deux courbes. J'utilise la fonction datenum pour l'echelle du temps.
Le problème est le suivant : l'une des courbes est définie a partir de 18000 données et quelques, l'autre à partir de seulement 1400.
J'aimerais obtenir une courbe approchée de la différence, mais pour faire la différence entre deux matrices, il faut que celles ci aient la meme taille. J'aimerais supprimer des données dans la matrice la plus grande, et l'adapter afin de pouvoir lui soustraire la premiere matrice.
Savez vous comment faire?
Une autre solution serait de récupérer des données approchées directement à partir de la courbe.
Merci
A voir également:
- [Matlab] Différence entre deux courbes
- Différence entre tcp et udp - Guide
- Nombre de jours entre deux dates excel - Guide
- Difference entre million et milliard - Accueil - Technologies
- Deux ecran pc - Guide
- Comment faire deux colonnes sur word - Guide
5 réponses
Bonjour,
J'arrive sûrement après la bataille et j'en suis désolé.
Pour ton problème, il y a quelque chose d'assez simple à faire.
Tu peux faire une intersection sur les temps des deux courbes.
Ensuite tu gardes les valeurs associées à ces temps-là.
Une fois ceci fait, tu peux faire la différence des deux courbes (tes deux vecteurs ont alors la même taille).
Et tu fais une interpolation du résultat pour avoir une approximation.
Bonne journée
J'arrive sûrement après la bataille et j'en suis désolé.
Pour ton problème, il y a quelque chose d'assez simple à faire.
Tu peux faire une intersection sur les temps des deux courbes.
Ensuite tu gardes les valeurs associées à ces temps-là.
Une fois ceci fait, tu peux faire la différence des deux courbes (tes deux vecteurs ont alors la même taille).
Et tu fais une interpolation du résultat pour avoir une approximation.
Bonne journée
il suffit que tu prennes un point sur (18000/1400) de ton premier vecteur. Tu peux faire cela assez facilement avec une boucle for.
C'est ce que j'ai essayé de faire, en utilisant data(1:18000/1400:16800,9) (ou data est le nom de ma variable), mais il y a un décalage, a cause des démarrages des courbes je pense. Meme en bidouillant, je n'ai pas pu l'enlever.
Je cherchais donc une fonction automatique.
Je cherchais donc une fonction automatique.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question