二元指数函数matlab拟合求教.

问题描述:

二元指数函数matlab拟合求教.
x1=【0 0.08 0.12 0.3 0.5】 x2=【0.343 0.324 0.327 0.316 0.311】 y=【0.574 0.586 0.598 0.612 0.622】
y=0.574*(1+a*log(b*x1+1))*(1.2-x2)^2
如何用matlab拟合出a与b的值?
1个回答 分类:数学 2014-09-27

问题解答:

我来补答
x1=[0 0.08 0.12 0.3 0.5],x2=[0.343 0.324 0.327 0.316 0.311],y=[0.574 0.586 0.598 0.612 0.622]x=[x1 x2];
fun=inline('0.574*(1+a(1)*log(a(2)*x(:,1)+1))*(1.2-x(:,2))^2','a','x')
a=lsqcurvefit(fun,[0.5 0.5],x,y);
a =
2.26093382320496 2.00929325314624
即a =2.26093382320496,b=2.00929325314624
再问: 谢谢,我试了下按照你的方法,matlab提示错误,说是function value and Ydsat sizes are incommensurate。继续请教下,该如何做?
再答: o,复制时没有注意,x前少了个";",即y=[0.574 0.586 0.598 0.612 0.622];x=[x1 x2]; x1=[0 0.08 0.12 0.3 0.5] ; x2=[0.343 0.324 0.327 0.316 0.311]; y=[0.574 0.586 0.598 0.612 0.622]; x=[x1 x2]; fun=inline('0.574*(1+a(1)*log(a(2)*x(:,1)+1))*(1.2-x(:,2))^2','a','x') a=lsqcurvefit(fun,[0.5 0.5],x,y);
 
 
展开全文阅读
剩余:2000
上一页:单调性最小值
下一页:溶质质量