怎样用MATLAB去拟合已知曲线的一部分?比如只需拟合一条曲线的尾部?
现在有一条曲线,我只需要拟合出一条新曲线与原曲线的尾部重合就行了。比如原曲线的X轴定义为[1:100:5000],新拟合的曲线在[1:100:5000]也是有值的,只是在...
现在有一条曲线,我只需要拟合出一条新曲线与原曲线的尾部重合就行了。
比如原曲线的X轴定义为[1:100:5000],新拟合的曲线在[1:100:5000]也是有值的,只是在[4000:100:5000]这一段尾部与原曲线拟合重合,其余部分不重合。
谢谢! 展开
比如原曲线的X轴定义为[1:100:5000],新拟合的曲线在[1:100:5000]也是有值的,只是在[4000:100:5000]这一段尾部与原曲线拟合重合,其余部分不重合。
谢谢! 展开
4个回答
展开全部
请问你的用意是什么了?
如果你只想要尾部重合的话,那就只用尾部的数据来计算新曲线,其余部分一般都不会重合的。
所以我不太明白你为什么要这样的曲线?
或者说其余部分的不重合有严格的数学要求?
如果你只想要尾部重合的话,那就只用尾部的数据来计算新曲线,其余部分一般都不会重合的。
所以我不太明白你为什么要这样的曲线?
或者说其余部分的不重合有严格的数学要求?
追问
就是要求拟合的新曲线与原曲线只要尾部重合,而其余部分不重合
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
合适的模型。
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
图形见:
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
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询