拟合函数形式为:y=a*(x-c)^b,求a,b,c的值? 5

 我来答
hbc3193034
2019-11-13 · TA获得超过10.5万个赞
知道大有可为答主
回答量:10.5万
采纳率:76%
帮助的人:1.4亿
展开全部
取三组对应值建立方程组,第四组用于检验。
1484=a(0.2-c)^b,①

12.6=a(1-c)^b,②

8.4=a(2-c)^b.③

①/②,得1484/12.6=[(0.2-c)/(1-c)]^b,

取对数得ln1484-ln12.6=b[ln(0.2-c)-ln(1-c)]④

②/③,得1.5=[(1-c)/(2-c)]^b,

仿上,ln1.5=b[ln(1-c)-ln(2-c)]⑤

④/⑤,得[ln(0.2-c)-ln(1-c)]/[ln(1-c)-ln(2-c)]=(ln1484-ln12.6)/ln1.5≈11.76130699,
设f(c)=[ln(0.2-c)-ln(1-c)]/[ln(1-c)-ln(2-c)]-11.76130699,
f(0.1999)=-0.7,
f(0.19999)=2.1,
f(0.19993)=-0.23,
f(0.19994)=-0.046,
f(0.19995)=0.17,
取c=0.19994,
代入⑤,b=-0.49986,
代入②,a=11.27.
检验:11.27×(0.5-0.19994)^(-0.49986)=20.57,误差偏大,仅供参考。
追问
x=0.2,0.5,1.0,2
y=1484,198.1,12.6,8.4
追答
1.484=a(0.2-c)^b,①
12.6=a(1-c)^b,②
8.4=a(2-c)^b.③
①/②,得1.484/12.6=[(0.2-c)/(1-c)]^b,
取对数得ln1.484-ln12.6=b[ln(0.2-c)-ln(1-c)]④
②/③,得1.5=[(1-c)/(2-c)]^b,
仿上,ln1.5=b[ln(1-c)-ln(2-c)]⑤
④/⑤,得[ln(0.2-c)-ln(1-c)]/[ln(1-c)-ln(2-c)]=(ln1.484-ln12.6)/ln1.5≈-5.2753,
去分母得[ln(0.2-c)-ln(1-c)]=-5.2753[ln(1-c)-ln(2-c)],
所以f(c)=ln(0.2-c)+4.2753ln(1-c)-5.2753(2-c)=0,c<0.2.
f'(c)=-1/(0.2-c)-4.2753/(1-c)+5.2753/(2-c)
=[-(1-c)(2-c)-4.275(0.2-c)(2-c)+5.2753(0.2-c)(1-c)]/[(0.2-c)(1-c)(2-c)]
=[-2+3c-1.7101+9.4057c+1.0551-6.3304c]/[(0.2-c)(1-c)(2-c)]
=(6.0753c-2.655)/[(0.2-c)(1-c)(2-c)]
=6.0753(c-0.437)/[(0.2-c)(1-c)(2-c)]<0,
所以f(c)是减函数,至多有一个零点。
f(-64000)=ln64000.2+4.2753ln64001-5.2753ln64002=-0.000095,

f(-130000)=ln130000.2+4.2753ln130001-5.2753ln130002=-0.0000467,?
待续
PeriShare
2019-11-12 · 分享PD理论最新研究成果和进展
PeriShare
采纳数:2408 获赞数:36828

向TA提问 私信TA
展开全部
用非线性拟合,比如说
x = [1,2,3,4,5,6];
y = [0,2,4,6,8,18];
f = @(a,x)a(1)*(x-a(3)).^a(2);
a0 = [0,0,0];
afit = nlinfit(x,y,f,a0)
追问
可以麻烦给出完整的Matlab代码吗,感谢
追答
这很完整了
来自:求助得到的回答
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式