总结
豆包 AI 助手文章总结

使用Matlab进行人口数据的拟合

WBOY
发布: 2024-01-17 08:15:34
转载
1241人浏览过

matlab解决人口数据的拟合

Matlab解决人口数据的拟合

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

subplot(221)

plot(x,y) ;

%假设模型 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);

%2003开始 人口增长一倍 43年 2077 年超过一百亿

%2002年的世界人口数 55.2357亿

如何用matlab非线性回归分析

%把y=x^a两边取对数,就有log(y)=a*log(x),如果将log(y)看成是log(x)的函数,那么它们是线性的.这时是方程的个数是10000个,而未知数是1个(a),这可以用matlab的矩阵除法解矛盾方程(用的是最小二乘法)

%下面是一个例子,我以a=1.45产生一套10000个的(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回归,则:

clear;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=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')

运行结果:

p =

0.8950 4.1575

y = 0.8950*x+4.1575

以上就是使用Matlab进行人口数据的拟合的详细内容,更多请关注php中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
相关标签:
来源:Excel办公网网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
豆包 AI 助手文章总结
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号