需要将这样一张图拟合,双对数坐标下,但是每次利用代码
slope=polyfit(log(x1(1:25)),log(y1(1:25)),1);
Z=polyval(slope,log(x1(1:25)));
plot(log(x1(1:25)),Z,'k');
拟合出来的效果却是
尝试了很久都没想到为什么,希望大神能够解释一下,x,y轴分别为
x1=[26;25;24;23;22;21;20;19;18;17;16;15;14;13;12;11;10;9;8;7;6;5;4;3;2];
y1=[
1
1
1
1.25000000000000
1
1.50000000000000
1.28571428571429
1.37500000000000
1.22222222222222
1.50000000000000
1.54545454545455
3.16666666666667
1.92307692307692
3.35714285714286
4.06666666666667
2.75000000000000
5.41176470588235
7.16666666666667
7.31578947368421
4.20000000000000
11.8571428571429
16.6818181818182
39.0434782608696
40.1666666666667
62.4400000000000]
拟合过程中会有警告:Warning: Negative data ignored
但是我并没有找到负值在哪里。。。
求解!
谢谢!