How can I insert two quadratic trendlines for two datatsets (one each) on the same figure?

8 ビュー (過去 30 日間)
I would like to inert two quadratic trendlines for two datasets (y1 and y2) on the same figure.
Basic fitting only allows the addition of one trendline at a time. I can get two trendlines on excel but I tend to avoid excel for imagery.
Please see code attached below:
%HELP WITH ADDING TWO TRENDLINES FOR TWO DATASETS ON ONE FIGURE
clc, clear
x = [0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0]; % x plot
y1 = [1660.383 1665.397 1671.268 1678.238 1686.645 1696.986 1710.013 1726.927 1749.767 1782.294 1838.604]; %y var 1
y2 = [1872.307 1877.526 1883.631 1890.871 1899.593 1910.305 1923.771 1942.211 1964.68 1997.947 2059.053]; %y var 2
% Figure 1 to contain AFTs for PZ with inlet temps of 20degC and 300degC
figure
scatter(x,y1,'k^') %plot x vs y1
hold on %introduce second plot onto the same figure
scatter(x,y2,'ko') %plot x vs y2
title('TITLE') %Figure title
hold off % end holding for additional plots on figure
ylabel('Y var') %label axis
xlabel('X var')
Many thanks, Jim.

採用された回答

Serhii Tetora
Serhii Tetora 2020 年 7 月 20 日
clc; close all; clear;
x = [0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0]; % x plot
y1 = [1660.383 1665.397 1671.268 1678.238 1686.645 1696.986 1710.013 1726.927 1749.767 1782.294 1838.604]; %y var 1
y2 = [1872.307 1877.526 1883.631 1890.871 1899.593 1910.305 1923.771 1942.211 1964.68 1997.947 2059.053]; %y var 2
% Figure 1 to contain AFTs for PZ with inlet temps of 20degC and 300degC
figure
scatter(x,y1,'k^') %plot x vs y1
hold on %introduce second plot onto the same figure
plot(trendline(x,y1))
scatter(x,y2,'ko') %plot x vs y2
plot(trendline(x,y2))
hold off % end holding for additional plots on figure
ylabel('Y var') %label axis
xlabel('X var')
title('TITLE') %Figure title
legend({'data set 1','trend line 1','data set 2','trend line 2'},'location','northwest')
function fitresult = trendline(x,y)
[xData, yData] = prepareCurveData( x, y );
ft = fittype( 'poly2' );
opts = fitoptions( 'Method', 'LinearLeastSquares' );
[fitresult, ~] = fit( xData, yData, ft, opts );
end

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeInterpolation についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by