Home  >  Article  >  Computer Tutorials  >  Fitting population data using Matlab

Fitting population data using Matlab

WBOY
WBOYforward
2024-01-17 08:15:34916browse

Fitting population data using Matlab

Matlab solves the problem of fitting population data

clear;clc

%This is a linear regression problem. Use matlab to write the following program:

x=[1960,1961,1962,1963,1964,1965,1966,1967,1968]';

y=[29.72,30.61,31.51,32.13,32.34,32.85,33.56,34.20,34.83]';

subplot(221)

plot(x,y) ;

%Assume model y=a0 a1*x e;

x=[ones(9,1),x];

a=x\y%a(1)=a0,a(2)=a1.

X=1960:2222;

Y=a(1) a(2)*X;

subplot(222)

plot(X,Y);

Starting from 03, the population doubled in 43 years and exceeded 10 billion in 2077

The world population in 2002 was 5.52357 billion

How to use matlab nonlinear regression analysis

% Take the logarithm of both sides of y=x^a, then we have log(y)=a*log(x). If log(y) is regarded as a function of log(x), then they are linear .At this time, the number of equations is 10,000, and the unknown number is 1 (a). This can use matlab’s matrix division to solve the contradictory equation (using the least squares method)

%The following is an example. I generated a set of 10,000 (x, y) sequences with a=1.45. Of course, I added some random perturbations. (You can try it. If you don’t add it, you will definitely get 1.45)

>> a=1.45;

>> x=linspace(1,10,10000)'; %Note that you need to convert it into a column vector solution

>> y=x.^a 0.5*rand(10000,1);

>> aa=log(x)\log(y)

How to do it in MATLAB

The lengths of X and Y are not equal. X is 16 numbers and Y is 8 numbers. And the first 8 characters of X are all 1. If the last 8 numbers of X are used to regress Y, then:

clear;clc

Y=[5.6 6.6 7.2 7.8 10.1 10.8 13.5 16.5]'

p=polyfit(X(:,2),Y,1)

xx=linspace(1.5,12,30);

yy=polyval(p,xx);

plot(X(:,2),Y,'o',xx,yy)

y=poly2sym(p,'x')

operation result:

p =

0.8950 4.1575

y = 0.8950*x 4.1575

The above is the detailed content of Fitting population data using Matlab. For more information, please follow other related articles on the PHP Chinese website!

Statement:
This article is reproduced at:docexcel.net. If there is any infringement, please contact admin@php.cn delete