Extending regression lines beyond data span
Show older comments
Hi everyone,
I'm working on a code that would predict Arctic ice coverage during the rest of the 21st century, like so:
%load ice coverage data
data = load('Ice_North.txt');
%define variables
year = data(:,1);
data_month(:,1:12) = data(:,2:13); %a new matrix with monthly values only
%calculate the yearly average time series
yearData = nanmean(data_month,2);
%plot yearly averaged time series
figure(1)
plot(year, yearData, 'LineWidth',2,'Color','b')
xlabel('Year')
ylabel('Sea ice coverage (milions of km^2)')
grid on
title('Annual average Arctic sea ice coverage')
%regression analysis
%linear
coeff1 = polyfit(year,yearData,1);
f1 = polyval(coeff1,year);
hold on
plot(year,f1,'LineWidth',1.5,'Color','r')
%quadratic
coeff2 = polyfit(year,yearData,2);
f2 = polyval(coeff2,year);
hold on
plot(year,f2,'LineWidth',1.5,'Color','g')
legend('Data','Linear interpolation','Quadratic interpolation')
I would like to extend both linear and quadratic interpolations, so that they reach up to, for example 2100. Any advice on how to do that?
All the best,
Maja
5 Comments
Jonas
on 27 Apr 2021
just add the numbers you asked for to the year variable in the polyval function, it evaluates the regression model at the point you enter there
Maja Zdulska
on 27 Apr 2021
Scott MacKenzie
on 8 May 2021
Edited: Scott MacKenzie
on 8 May 2021
I made the modification Jona suggested. Seems the model predicts 2066 as the year all the sea ice is gone.
Maja, may I ask: Where did you get this data?
Maja Zdulska
on 8 May 2021
Scott MacKenzie
on 8 May 2021
Great. Thanks very much. Very nice work.
Answers (0)
Categories
Find more on Multiple Linear Regression in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!