ホームページ > 記事 > コンピューターのチュートリアル > Matlab を使用した人口データの近似
クリア;clc
%これは線形回帰問題です。MATLAB を使用して次のプログラムを作成してください:
#xx=[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=[ones(9,1),x];
a=x\y%a(1)=a0,a(2)=a1.
XX=1960:2222;
Y=a(1) a(2)*X;
サブプロット(222)
プロット(X,Y);
2003 年から 43 年間で人口は 2 倍になり、2077 年には 100 億人を突破しました
2002 年の世界人口は 55 億 2,357 万人でした
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 での実行方法
クリア;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=ポリヴァル(p,xx);
plot(X(:,2),Y,'o',xx,yy)
y=poly2sym(p,'x')
操作結果:
p =
0.8950 4.1575
y = 0.8950*x 4.1575
以上がMatlab を使用した人口データの近似の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。