Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
gnuplot上具有幂律的图上的2区域_Gnuplot - Fatal编程技术网

gnuplot上具有幂律的图上的2区域

gnuplot上具有幂律的图上的2区域,gnuplot,Gnuplot,我想知道我是否可以在gnuplot上对相同的数据进行2次幂律运算。我的图形上有两个区域,都要幂律。我知道如何在xmgrace上制作,但我不喜欢xmgrace的最后一个艺术作品,我想对这个数字做一个简单的描述。我一直试图做幂律,它从零开始,在两个区域,在xmgrace上,我可以在该区域制作低功率启动,就像这样 编辑:我现在在这里发布所有数据 这是我的数据 0.000000 0.000180 0.002000 0.000180 0.004000 0.000180 0.006000 0.000360

我想知道我是否可以在gnuplot上对相同的数据进行2次幂律运算。我的图形上有两个区域,都要幂律。我知道如何在xmgrace上制作,但我不喜欢xmgrace的最后一个艺术作品,我想对这个数字做一个简单的描述。我一直试图做幂律,它从零开始,在两个区域,在xmgrace上,我可以在该区域制作低功率启动,就像这样

编辑:我现在在这里发布所有数据

这是我的数据

0.000000 0.000180
0.002000 0.000180
0.004000 0.000180
0.006000 0.000360
0.008000 0.000240
0.010000 0.000360
0.012000 0.000420
0.014000 0.000480
0.016000 0.000540
0.018000 0.000720
0.020000 0.000660
0.022000 0.000840
0.024000 0.000960
0.026000 0.001080
0.028000 0.001200
0.030000 0.001320
0.032000 0.001320
0.034000 0.001500
0.036000 0.001560
0.038000 0.001740
0.040000 0.001800
0.042000 0.002040
0.044000 0.002040
0.046000 0.002400
0.048000 0.002460
0.050000 0.002340
0.052000 0.002640
0.054000 0.002700
0.056000 0.002760
0.058000 0.002940
0.060000 0.002760
0.062000 0.002940
0.064000 0.003180
0.066000 0.003000
0.068000 0.003180
0.070000 0.003120
0.072000 0.003120
0.074000 0.003060
0.076000 0.003120
0.078000 0.003180
0.080000 0.003300
0.082000 0.003120
0.084000 0.003180
0.086000 0.003300
0.088000 0.003300
0.090000 0.003300
0.092000 0.003420
0.094000 0.003300
0.096000 0.003480
0.098000 0.003420
0.100000 0.003540
0.102000 0.003360
0.104000 0.003360
0.106000 0.003540
0.108000 0.003480
0.110000 0.003540
0.112000 0.003360
0.114000 0.003540
0.116000 0.003420
0.118000 0.003480
0.120000 0.003420
0.122000 0.003600
0.124000 0.003480
0.126000 0.003480
0.128000 0.003900
0.130000 0.003540
0.132000 0.003900
0.134000 0.003600
0.136000 0.003720
0.138000 0.003780
0.140000 0.003660
0.142000 0.003720
0.144000 0.003780
0.146000 0.003660
0.148000 0.003720
0.150000 0.003900
0.152000 0.003780
0.154000 0.003840
0.156000 0.003960
0.158000 0.003900
0.160000 0.003900
0.162000 0.003840
0.164000 0.003960
0.166000 0.004020
0.168000 0.003960
0.170000 0.004140
0.172000 0.004020
0.174000 0.004020
0.176000 0.004140
0.178000 0.004080
0.180000 0.004020
0.182000 0.004020
0.184000 0.004200
0.186000 0.004200
0.188000 0.004200
0.190000 0.004260
0.192000 0.004320
0.194000 0.004080
0.196000 0.004200
0.198000 0.004140
在gnuplot上,我将数据分隔为2个数据。查看每个区域的起始位置,并执行以下操作

set term postscript eps enhanced color
set output "powerlaw.eps"
set ylabel "{/Symbol D}{/Symbol w}"
set xlabel "d"
set logscale x
set logscale y
f(x) = a*x**b
g(x) = c*x**d
h(x) = x < 0.057 ? f(x) : g(x)
fit h(x) 'data.dat' u 1:2 via a,b,c,d
pl "data.dat" w p tittle "", h(x)
编辑:10/01/2015 我找到了一个解决方案,但不知道为什么,我更改了

set term postscript eps enhanced color
set output "powerlaw.eps"
set ylabel "{/Symbol D}{/Symbol w}"
set xlabel "d"
set logscale x
set logscale y
f(x) = a*x**b+e
g(x) = c*x**d+f
h(x) = x < 0.057 ? f(x) : g(x)
fit h(x) 'data.dat' u 1:2 via a,b,c,d,e,f
pl "data.dat" w p, h(x)
看到c和d的区别了吗?ef几乎为零


谢谢您的帮助。

我仍然无法访问您的数据,因为我在长城后面。但从你的剧本中我可以猜出你想要什么

现在我大胆地发布了我的解决方案:

首先,定义一个三元函数
h(x)=x

然后用h(x)拟合数据:
通过a、b、c、d拟合h(x)'data.dat'

最后,绘制数据和h(x):
plot'data.dat'wp,h(x)


我不能访问你的链接,因为我在长城后面(我在中国,很尴尬~~)。也许你可以试试gnuplot的第二个轴。例如,
plot sin(x)轴x1y1、100*sin(10*x)轴x2y2
请包含您现在拥有的脚本。尝试在每个
fit
plot
命令之前设置xrange。我不知道这是否有效,但你可以试试。你能达到的数字或两者都不能?你知道我怎么给你发这封信吗?我都不知道。你有权在你的问题中发布数字吗?没有,至少需要10次重复。第二个区域从x=0.06左右开始,你怎么说?只有第一个区域的幂律,第二个区域没有,0.06以上的区域。我生成一个数据集,然后拟合并绘制它。我把这个数字写在我的答案里。你可以检查它是否是你想要的。
set term postscript eps enhanced color
set output "powerlaw.eps"
set ylabel "{/Symbol D}{/Symbol w}"
set xlabel "d"
set logscale x
set logscale y
f(x) = a*x**b+e
g(x) = c*x**d+f
h(x) = x < 0.057 ? f(x) : g(x)
fit h(x) 'data.dat' u 1:2 via a,b,c,d,e,f
pl "data.dat" w p, h(x)
a               = 0.156195         +/- 0.03023      (19.35%)
b               = 1.40894          +/- 0.0678       (4.812%)
c               = 0.00781003       +/- 0.00111      (14.21%)
d               = 0.803641         +/- 0.1621       (20.17%)
e               = 0.000178048      +/- 4.158e-05    (23.35%)
f               = 0.00217076       +/- 0.0002812    (12.95%)