楼主: fengdongfeng
5147 16

[统计软件与数据分析] 求助双线性拟合曲线怎么做 [推广有奖]

  • 1关注
  • 1粉丝

已卖:6份资源

博士生

83%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
4.0138
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
1581 点
帖子
66
精华
0
在线时间
618 小时
注册时间
2015-6-5
最后登录
2021-11-4

楼主
fengdongfeng 发表于 2016-9-16 19:02:27 |AI写论文
50论坛币
求问!!怎么用matlab做双线性拟和曲线,就是用来判断是双段幂律分布的那种
7216.tmp.png
类似这样,新手菜鸟一枚。求知道的大神帮帮忙

关键词:拟合曲线 怎么做 MATLAB atlab matla matlab 双线性

沙发
fengdongfeng 发表于 2016-9-16 19:41:35
求大神帮帮忙

藤椅
ttday1 发表于 2016-9-16 23:18:08
这里有:双线性插值matlab程序
http://wenku.baidu.com/view/f6a10ed7c1c708a1284a44c2.html

板凳
龙族D王小狼 发表于 2016-9-17 00:46:12
首先遇到这种问题,有可能是log linear的关系而不是linear的关系。假设log也检测了,还是这样,其实也有好几种方法。非要分段的话,用breakpoint test。eviews里面有,能得到断点。然后分段回归就OK了。

报纸
fengdongfeng 发表于 2016-9-17 11:23:44
龙族D王小狼 发表于 2016-9-17 00:46
首先遇到这种问题,有可能是log linear的关系而不是linear的关系。假设log也检测了,还是这样,其实也有好几 ...
大神能说的清楚点吗?我想用matlab做

地板
fengdongfeng 发表于 2016-9-17 11:30:07
龙族D王小狼 发表于 2016-9-17 00:46
首先遇到这种问题,有可能是log linear的关系而不是linear的关系。假设log也检测了,还是这样,其实也有好几 ...
数据大概是这样,x=1 2 3 4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29

y=96.552
96.552
96.552
96.552
96.552
96.552
96.552
89.655
82.759
82.759
79.31
79.31
75.862
75.862
75.862
72.414
72.414
72.414
65.517
62.069
62.069
58.621
55.172
48.276
48.276
20.69
10.345
6.897
3.448
然后我想做个双对数坐标轴的双线性拟合,然后可以进行双段幂律分布分析。
最终可以得到这样的结果

2C2D.tmp.png (21.27 KB)

2C2D.tmp.png

7
fengdongfeng 发表于 2016-9-17 11:30:49
ttday1 发表于 2016-9-16 23:18
这里有:双线性插值matlab程序
http://wenku.baidu.com/view/f6a10ed7c1c708a1284a44c2.html
数据大概是这样,x=1 2 3 4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29

y=96.552
96.552
96.552
96.552
96.552
96.552
96.552
89.655
82.759
82.759
79.31
79.31
75.862
75.862
75.862
72.414
72.414
72.414
65.517
62.069
62.069
58.621
55.172
48.276
48.276
20.69
10.345
6.897
3.448
然后我想做个双对数坐标轴的双线性拟合,然后可以进行双段幂律分布分析。
结果这样 2C2D.tmp.png

8
龙族D王小狼 发表于 2016-9-17 23:05:24
数据我看了,你可以做成log,瞬间就能看到断点在25了。

9
fengdongfeng 发表于 2016-9-18 10:58:38
龙族D王小狼 发表于 2016-9-17 23:05
数据我看了,你可以做成log,瞬间就能看到断点在25了。
那意思是自己划分?大神知道这个编程吗?类似这样
>> x=[ ];  / 输入修正的书信间隔时间
>> y=[ ];  / 输入累积概率
>> loglog(x,y,'ko')  / 画出双对数下坐标图(k表示黑色,o表示圆圈)
>> hold on  / 保留刚才所画图表,以便继续在此图画出拟合直线
>>  a=polyfit(log(x),log(y),1)  / 求拟合直线的参数(一次项和常数项)

a =

   -1.0700    5.9525  

>> b=2.71828^5.9525  /  常数项转化

b =

  384.7124

>> x=100:100000;  /  根据上面所作的图指定x的取值范围
>> y=b*x.^ -1.0700 ;  / 根据刚才的计算输入x和y的关系式
>> plot(x,y,'k')  / 在双对数坐标下画出拟合直线
我怎么也画不出来两条直线在图上
求大神给个具体过程

10
龙族D王小狼 发表于 2016-9-18 22:53:33
你可以将breakpoint test的程序敲出来,相当复杂。这些基本的命令和运算没办法。你是求数字的a的值,这个我不大会,我们都是用矩阵运算出来的b=(x‘x)^-1 *(x'y).然后其他的程序也是这么做出来的。你用的方法,对我来说,感觉太老旧了。

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

本版微信群
jg-xs1
拉您进交流群
GMT+8, 2025-12-20 15:58