matlab拟合函数,表达式为y=a*(x^b)+c。 10

表达式为:已知231组(x,y)的值,跪求matlab具体算法,拟合出a,b,c的值。231组数据在这里!http://tieba.baidu.com/p/4546273... 表达式为:

已知231组(x,y)的值,跪求matlab具体算法,拟合出a,b,c的值。
231组数据在这里!http://tieba.baidu.com/p/4546273126
展开
 我来答
PeriShare
2016-05-14 · 分享PD理论最新研究成果和进展
PeriShare
采纳数:2408 获赞数:36827

向TA提问 私信TA
展开全部
[x,I]=sort(x);y=y(I);%由于你的数字是杂乱的,我排列一下
f=@(a,x)a(1).*x.^(a(2))+a(3); %拟合形式,数组a即代表[a,b,c]
a0=[1,0.02,-5];  % 假设初始值
r=lsqcurvefit(f,a0,x,y);
%非线性拟合
%拟合结果保存在r=[a,b,c]
plot(x,y)
hold on
plot(x,r(1)*x.^r(2)+r(3),'r--')
legend('拟合前','拟合后')
disp(r)

希望帮到你,满意还请采纳哟!!

更多追问追答
追问
曲线不是很好,不符合要求呢。我那数据第一列为x,第二列为y。你拟合出来的a、b、c分别是多少?
追答
ABC就是r
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式