Divide y values of two graph?
3 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Muhammad Rizki Nasution
le 20 Juin 2018
Commenté : Alireza Qaderi
le 3 Fév 2021
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/191376/image.png)
i want to divide y values of the orange line by the blue line with the same x value, but x values have different point so they have different matrix size, i'm a noob, could you help me?
1 commentaire
Réponse acceptée
Sayyed Ahmad
le 20 Juin 2018
what about htis?
x=1:20;
x2=1:5:20;
y1=x.^2;
y2=x2.^3-x2.^2+0.5*x2;
plot(x,y1,'b-',x2,y2,'g.-')
y3=interp1(x2,y2,x);
hold on;
plot(x,y1,'b-',x,y3,'r*')
2 commentaires
Plus de réponses (1)
Steven Yeh
le 20 Juin 2018
You could create a new time series, and use linear interpolation to find corresponding values.
For example:
ax = linspace(0, 10, 20);
ay = ax;
bx = linspace(0, 10, 30);
by = bx/2;
timeSeriesWanted = linspace(0, 10, 1000);
ay_interpolated = interp1(ax, ay, timeSeriesWanted);
by_interpolated = interp1(bx, by, timeSeriesWanted);
ay_dividedBy_by = ay_interpolated ./ by_interpolated;
plot(ax, ay,'*-')
hold on
plot(bx, by,'*-')
plot(timeSeriesWanted, ay_dividedBy_by, '-');
legend('a', 'b', 'a/b with interpolation')
Assuming your original data series are (ax, ay) and (bx, by), you can create new series by calling interp1.
Voir également
Catégories
En savoir plus sur Interpolation dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!