Fitting population data using Matlab

WBOY
Release: 2024-01-17 08:15:34
forward
960 people have browsed it

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!

source:docexcel.net
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template