>  기사  >  컴퓨터 튜토리얼  >  Matlab을 사용하여 인구 데이터 피팅

Matlab을 사용하여 인구 데이터 피팅

WBOY
WBOY앞으로
2024-01-17 08:15:34917검색

Matlab을 사용하여 인구 데이터 피팅

Matlab은 인구 데이터 적합 문제를 해결합니다

클리어;clc

% 이것은 선형 회귀 문제입니다. matlab을 사용하여 다음 프로그램을 작성하세요.

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]';

서브플롯(221)

플롯(x,y) ;

%모델 가정 y=a0+a1*x+e;

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

a=xy%a(1)=a0,a(2)=a1.

X=1960:2222;

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

서브플롯(222)

플롯(X,Y);

%2003년 이후 43년 만에 인구가 2배 증가, 2077년에는 100억 명 돌파

%2002년 세계 인구는 55억 2,357억 명

MATLAB 비선형 회귀 분석 사용 방법

% y=x^a의 양변에 로그를 취하면 log(y)=a*log(x)가 됩니다. log(y)가 log(x)의 함수로 간주되면 선형입니다. . 방정식의 개수가 10,000개이고 알 수 없는 숫자가 1(a)인 경우 MATLAB의 행렬 나눗셈을 사용하여 모순 방정식을 풀 수 있습니다(최소제곱법 사용)

% 다음은 a=1.45로 10,000개의 (x, y) 시퀀스 세트를 생성한 예입니다. 물론 임의의 섭동도 추가했습니다. 확실히 1.45를 얻으세요)

>> a=1.45;

>> x=linspace(1,10,10000)'; %열 벡터 솔루션으로 변환해야 한다는 점에 유의하세요

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

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

MATLAB에서 수행하는 방법

X와 Y의 길이는 다릅니다. X는 16개 숫자이고 Y는 8개 숫자입니다. 그리고 X의 처음 8자는 모두 1입니다. X의 마지막 8개 숫자를 사용하여 Y를 회귀하는 경우:

클리어;clc

X=[1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.5 2.0 3.0 4.5 7.5 9.1 10.5 12.0]'

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

p=폴리핏(X(:,2),Y,1)

xx=linspace(1.5,12,30);

yy=폴리발(p,xx);

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

y=poly2sym(p,'x')

실행 결과:

피 =

0.8950 4.1575

y = 0.8950*x+4.1575

위 내용은 Matlab을 사용하여 인구 데이터 피팅의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 docexcel.net에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제