Extending regression lines beyond data span

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 件のコメント

Jonas
Jonas 2021 年 4 月 27 日
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
Maja Zdulska 2021 年 4 月 27 日
Thanks a lot!
Scott MacKenzie
Scott MacKenzie 2021 年 5 月 8 日
編集済み: Scott MacKenzie 2021 年 5 月 8 日
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
Maja Zdulska 2021 年 5 月 8 日
Hi Scott,
Data is from the National Snow and Ice Data Center:
https://nsidc.org/data/g02135
Scott MacKenzie
Scott MacKenzie 2021 年 5 月 8 日
Great. Thanks very much. Very nice work.

サインインしてコメントする。

回答 (0 件)

質問済み:

2021 年 4 月 27 日

コメント済み:

2021 年 5 月 8 日

Community Treasure Hunt

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

Start Hunting!

Translated by