Filter löschen
Filter löschen

I have 2 values of population say 30000 for 2001 and 50000 for 2011, I want the population values for all the years between 2001 to 2011 following the trend of population rise from 2001 to 2011

1 Ansicht (letzte 30 Tage)
do I use the extrapolation technique for this? If so how?

Akzeptierte Antwort

sixwwwwww
sixwwwwww am 12 Okt. 2013
Dear Sourangsu,Using interplotation you can do like this:
Known_year = [2001 2011];
Known_year_population = [30000 50000];
Unknown_year = 2002:2010;
Unknown_year_population = interp1(Known_year, Known_year_population, Unknown_year);
year = 2001:2011;
population = [30000 Unknown_year_population(:,:) 50000];
plot(year, population, 'o-'), title('Population vs. Year'), xlabel('Year'), ylabel('Population')
Good luck!

Weitere Antworten (1)

Image Analyst
Image Analyst am 12 Okt. 2013
I hope this isn't homework - I'm assuming you're honest when you didn't apply the "homework" tag. Here is a solution using polyfit. Don't be scared - it's really only 3 lines - most of the code is just to make a fancy graph.
order = 1; % Whatever...
years = [2001, 2011];
population = [30000, 50000];
% Main part of the code is the next 3 lines:
coefficients = polyfit(years, population, order);
fittedYears = 2001 : 1 : 2011; % Years you want to estimate.
estimatedPopulation = polyval(coefficients, fittedYears)
% Now plot
fontSize = 20;
plot(fittedYears, estimatedPopulation, 'rs-', 'LineWidth', 2);
hold on;
plot(years, population, 'bo', ...
'MarkerSize', 15, 'LineWidth', 3); % Training set.
grid on;
xlabel('Year', 'FontSize', fontSize);
ylabel('Population', 'FontSize', fontSize);
title('Demo by ImageAnalyst', 'FontSize', fontSize);
% Enlarge figure to full screen.
set(gcf, 'Units', 'Normalized', 'OuterPosition', [0 0 1 1]);
% Give a name to the title bar.
set(gcf, 'Name', 'Demo by ImageAnalyst', 'NumberTitle', 'Off')

Produkte

Community Treasure Hunt

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

Start Hunting!

Translated by