在拟合前提取出变量的最后一部分数据。
假设,你的数据横坐标变量为x,纵坐标变量为y,拟合函数y=f(x),可以采用如下方法提取出所要的部分数据:
index=intersect(find(x>=4000),find(x<=5000));
xx=x(index);
yy=y(index);
然后对xx和yy进行拟合就可以了。
请问你的用意是什么了?
如果你只想要尾部重合的话,那就只用尾部的数据来计算新曲线,其余部分一般都不会重合的。
所以我不太明白你为什么要这样的曲线?
或者说其余部分的不重合有严格的数学要求?
合适的模型。
function hhhh
clc;clear;
A=[...
25.0 500.7 0.068083799
50.0 455.7 0.061964824
75.0 427.0 0.058062277
100.0 389.3 0.052935935
150.0 357.7 0.048639055
200.0 333.7 0.045375602
250.0 309.0 0.042016964]
X=A(:,1);Y=A(:,2);Y1=A(:,3);
plotyy(X,Y,X,Y1)
a=Y./Y1
beta0=[1 1 1];
beta=nlinfit(X,Y,@fun,beta0)
x=25:250;
y=beta(1)*x.^beta(2)+beta(3);
figure
plot(X,Y,'o',x,y)
function yhat=fun(beta,x)
yhat=beta(1)*x.^beta(2)+beta(3);
结果:
beta =
-171.7423 0.2014 830.8742
图形见:
可以用polyfit