楼主: 舒米勒soon
1324 3

[问答] 求大神看看:matlab拟合函数出现问题 [推广有奖]

  • 0关注
  • 0粉丝

小学生

14%

还不是VIP/贵宾

-

威望
0
论坛币
-1 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
20 点
帖子
1
精华
0
在线时间
8 小时
注册时间
2014-6-17
最后登录
2015-3-26

楼主
舒米勒soon 发表于 2015-3-26 00:27:59 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币

我知道了微分方程 11.jpg

MATLAB中,方程可以通过以下求出:

>>x=dsolve('Dx=r*x*(1-log(x)/log(xm))','x(0)=x0','t')

x =

exp(-exp(-r/log(xm)*t+log(log(xm/x0))))*xm

所以方程的解为 22.jpg

                    

rlogxm进行非线性拟合,根据云南省1960——2010年的人口数据预测未来人口

function f=xt(g)

t=0:10;

x=[1894.6 2160.4 2503.32884.3 3173.4 3418.1 3730.6 3989.6 4240.8 4450.4 4601.6];

f=x-g(1).*exp(-exp(-g(2)./log(xm).*t)+log.*(log(xm)./1894.6));

g0=[5000,0.4];

g=lsqnonlin('xt',g0)

t=0:10;

y=1960+5.*t

f=x-g(1).*exp(-exp(-g(2)./log(xm).*t)+log.*(log(xm)./1894.6))


请大神帮忙看看,程序中的哪里出了问题,为什么出不来结果?


二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:MATLAB matla atlab Lab Atl matlab

沙发
BIG钊钊 学生认证  发表于 2015-3-26 02:24:02
我是来挽尊的 一楼沙发

藤椅
tmdxyz 发表于 2015-3-26 20:58:45
(1)原始的微分方程所求得的解析解,也许不对?它貌似如附件1所示;
(2)在拟合求参数时,没有把x0当作是已知的,即,把它也当作一个参数。求得的拟合方程见附件2;
(3)化简后的拟合方程见附件3。

1.jpg (6.81 KB)

1.jpg

2.jpg (15.22 KB)

2.jpg

3.jpg (7.54 KB)

3.jpg

板凳
tmdxyz 发表于 2015-3-26 21:46:33
不过,从拟合效果来看,并不好。于是,用Origin来处理,发现效果很不错哟

4.jpg (68.61 KB)

4.jpg

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-22 08:03