找回密码
 注册
关于网站域名变更的通知
查看: 518|回复: 1
打印 上一主题 下一主题

Matlab之用linearization估计人口的数量

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2020-12-2 13:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
8 D* ~+ K) `* G$ S4 g
解题思路:1 b$ ~. S# {/ r4 W6 |9 b3 R
   这种是求解当方程数量多于未知数时,可以使用正规方程来求解。  K/ t* b+ c+ O
   这种linearization方法是将pt = c1*e^(c2*t),两边取ln得到线性方程组。8 Z5 Q/ l4 R& S& L* Z
   线性化之后呢就要进行方程求解,也就是A'Ax = A'b,那么使用x = ((A')*A)\((A')*b);就可以求出x的值,也就是lnc1和c2的值。记得一定要像上面那样写,A'*A在前面,A'*b在后面。
, ~& J' e# X( H0 r: e/ {& J2 v, V5 i/ \, |4 U# P4 \) \% f4 R7 t. \
代码如下:
& m, B5 h; G  U/ l; D9 S2 P8 ]. m$ [7 a% page 210  computer problem 3% a9 y$ Z# A* \9 _$ [+ q, C
% using linearization to evslute the populstion of 19804 f" s) j- {8 V8 [! G0 d* S% ^4 V
% Input: None
' V. {6 y* {+ s! h& z7 H% Output:None! Z0 L* @! |" b+ ?8 ^+ b
% Display the the result and the error of the caculation/ P4 [7 h" ?$ o- h& o
function page_210_31 i1 o5 w6 S3 L5 Q/ z
format long$ X7 @0 ]7 h' h. ^; b* x" W
A  = [1 0;1 10;1 30;1 40];  %这里的0是以1960年为起点的,所以1970年为10- G; z2 r. _0 \6 _, h
b  = [log(3039585530);log(3707475887);log(5281653820);log(6079603571)];/ v" G/ f2 p& z; q) S* X
x  = ((A')*A)\((A')*b);
8 M+ \6 C! H9 ec1 = vpa(exp(x(1)),10)
) t/ M, W1 P; s& f* Rc2 = vpa(x(2),6)4 f$ v% v$ V. K$ T7 g5 [/ r$ P
syms t;+ D; r, I: O5 B3 t- Z" U
disp('使用linearation的方法得到人口的表达式为:');
! C0 ^0 Q7 A/ s0 s1 ~8 H# J4 _4 ^Pt = vpa(c1*exp(c2*(t-1960)),10)1 y, N8 I9 i' ], Z' G& O( g
disp('使用linearation的方法估计1980年人口的为:');
' r* M# C4 F; c8 @Pro_1980 = vpa(subs(Pt,1980),10)' M+ ?" y; W# j! [9 y4 s8 s4 w
disp('使用linearation的方法估计1980年人口与实际人口误差为:');
4 _9 y/ D2 i  F  Gvpa(abs(Pro_1980 - 4452584592),9)

该用户从未签到

2#
发表于 2020-12-2 15:01 | 只看该作者
Matlab之用linearization估计人口的数量
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-11-24 05:43 , Processed in 0.140625 second(s), 24 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表