If I have three graphs and I want to place them over one another so that their mean values align, and then want to create a trend line among those graphs how would I do this?
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
Keon Walters
am 13 Jul. 2018
Kommentiert: Keon Walters
am 16 Jul. 2018
%example
x=[1:0.03:500];
y=x^4;
i=[100:0.01:600];
y2=x^2+30;
plot(x,y,i,y2);
1 Kommentar
Akzeptierte Antwort
Image Analyst
am 14 Jul. 2018
Try this:
x1=[1:0.03:500];
y1 = x1.^4;
x2 = [100:0.01:600];
y2 = x2.^2+30;
plot(x1,y1, 'r-', 'LineWidth', 2);
hold on;
plot(x2,y2, 'b-', 'LineWidth', 2);
grid on;
xAll = [x1, x2];
yAll = [y1, y2];
[coefficients, S, mu] = polyfit(xAll, yAll, 1)
numPoints = max([length(x1), length(x2)])
fittedX = linspace(min(xAll), max(xAll), numPoints);
fittedY = polyval(coefficients, fittedX, S, mu);
plot(fittedX, fittedY, 'g-', 'LineWidth', 2);
legend('y1', 'y2', 'linear fit y', 'location', 'north');

Is that what you're thinking of? Note that because you have more of the flatter curve points, it's pulling down the "average" line curve. If you don't want that you can use interp1 to resample to have them both have the same number of points and same starting and ending x values.
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Filter Banks finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!