Salut !
j'ai comme données :
x1(t) et y1(t)
x2(t) et y2(t)
J'aimerais plotter, ou calculer, la différence : y2(x2)-y1(x1)
Comme les données "brutes" sont en fonction du temps je ne vois pas comment faire
Merci d'avance
Salut !
j'ai comme données :
x1(t) et y1(t)
x2(t) et y2(t)
J'aimerais plotter, ou calculer, la différence : y2(x2)-y1(x1)
Comme les données "brutes" sont en fonction du temps je ne vois pas comment faire
Merci d'avance
Bonjour,
Avec une interpolation çà doit être faisable comme çà:
Bon c'est un exemple vite fait, il doit rester quelques coquilles mais je pense que ca doit faire ce que tu veux...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 data1 = [x1, y1]; data2 = x1; data2(:,2) = interp1(x2, y2, x1, 'linear'); ecart = data2(:,2)-data1(:,2); plot(x1, ecart);
Bonne journée,
Duf
Merci pour ta réponse, je vois ce que tu veux faire... j'ai cependant cette erreur :
==> il y a une partie circulaire sur ma courbe... donc plusieurs abscisses identiques. Ce que je dois plotter est en fait y2(x2(t)) - y1(x1(t))
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 ??? Error using ==> interp1 The values of X should be distinct.
Arf, c'est la partie la plus sympathique de l'utilisation de de INTERP1
La pour régler le problème, dans ton cas tu peux peut-être séparer tes données en 2 (ou 3) pour calculer les points avec des X différents...
Oui il faut que je sépare les différentes zones ou les x se croisent... merci pour l'info en tout cas![]()
Voici :
derrière la courbe bleue il a une courbe noire, et idem, derrière la courbe verte il y a une rouge.
J'aimerais donc plotter la différence entre la courbe noire et bleue, et la différence entre la courbe verte et rouge
Le plot est en pièce jointe
bon, très dur de le décomposer en plusieurs zones.
Je me suis rendu compte que je n'ai pas de "retour" des X nets. C'est à dire, j'arrive, à un moment, à une droite verticale avant que les X ne régressent... la décomposition est encore plus compliquée
Partager