想用MATLAB拟合y=a*e^(-x)+bx+c ,求方法。。。谢谢了~

 我来答
cloudhuman
2012-12-05 · TA获得超过261个赞
知道答主
回答量:167
采纳率:100%
帮助的人:171万
展开全部
楼上貌似用错方法了,这是指定函数拟合,不是多项式拟合吧。
首先把你要拟合的数据赋给x y
x = [...];
y = [...];
f = fittype('a*exp(-x)+b*x+c','independent','x','coefficients',{'a','b','c'}); %这就是你指定的函数,a,b,c为参量,x为自变量。
cfun = fit(x,y,f);
xi = 1:20;
yi = cfun(xi);
plot(xi,yi,'r*');
不懂追问。
更多追问追答
追问
嗯嗯,谢谢,但怎么会蹦出来这个:
>> cfun=fit(x,y,f);
??? XDATA must be a matrix with one to two columns.
Error in ==> fit at 115
errstr = handleerr('curvefit:fit:xDataMustBeColumnVector', ...

>> xi=1:20;
>> yi=cfun(xi);
??? Undefined function or method 'cfun' for
input arguments of type 'double'.

>> plot(xi,yi,'r*');
??? Undefined function or variable 'yi'.

>>
追答
你需要弄什么直接告诉我吧,我弄好把源程序给你发过去 。邮箱留下。
superroy521
2012-12-05 · TA获得超过440个赞
知道小有建树答主
回答量:336
采纳率:100%
帮助的人:168万
展开全部
多项式拟合:
a=5;
b=2;
c=3;
x=-5:0.1:5
A=polyfit(x,a*exp(-x)+b*x+c,5)
plot(x,a*exp(-x)+b*x+c,'o',x,polyval(A,x),'-');
祝顺利
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式