怎样用MATLAB去拟合已知曲线的一部分?比如只需拟合一条曲线的尾部?

现在有一条曲线,我只需要拟合出一条新曲线与原曲线的尾部重合就行了。比如原曲线的X轴定义为[1:100:5000],新拟合的曲线在[1:100:5000]也是有值的,只是在... 现在有一条曲线,我只需要拟合出一条新曲线与原曲线的尾部重合就行了。
比如原曲线的X轴定义为[1:100:5000],新拟合的曲线在[1:100:5000]也是有值的,只是在[4000:100:5000]这一段尾部与原曲线拟合重合,其余部分不重合。
谢谢!
展开
 我来答
maohuan77
推荐于2017-11-24
知道答主
回答量:7
采纳率:0%
帮助的人:10.1万
展开全部
在拟合前提取出变量的最后一部分数据。
假设,你的数据横坐标变量为x,纵坐标变量为y,拟合函数y=f(x),可以采用如下方法提取出所要的部分数据:
index=intersect(find(x>=4000),find(x<=5000));
xx=x(index);
yy=y(index);
然后对xx和yy进行拟合就可以了。
飞翔的泥丸
2011-03-02 · TA获得超过801个赞
知道答主
回答量:78
采纳率:0%
帮助的人:74.1万
展开全部
请问你的用意是什么了?
如果你只想要尾部重合的话,那就只用尾部的数据来计算新曲线,其余部分一般都不会重合的。
所以我不太明白你为什么要这样的曲线?
或者说其余部分的不重合有严格的数学要求?
追问
就是要求拟合的新曲线与原曲线只要尾部重合,而其余部分不重合
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ctqcbd
2011-03-02 · TA获得超过683个赞
知道答主
回答量:480
采纳率:0%
帮助的人:279万
展开全部
合适的模型。

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

图形见:
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
钺联昱M
2011-03-02 · TA获得超过706个赞
知道小有建树答主
回答量:1789
采纳率:33%
帮助的人:889万
展开全部
可以用polyfit
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式