小股vv
花朵
共回答了14个问题采纳率:92.9% 举报
matlab里有个非线性拟合的函数lsqcurvefit,我给你个例子,照着改就可以了,不过这个是初值敏感的,所以你的初值不能离实际值偏差太大
x=0.019,0.023,0.027
y=430,380,256
3 parameters:a,b,c
target function:y=(a*(1-x/b)+x/b)^c
function Untitled3
clc
xi=[0.019,0.023,0.027];
yi=[430,380,256];
abc0=[4,0.5,5];
abc = lsqcurvefit(@fun,abc0,xi,yi)
function y = fun(abc,x)
y = (abc(1)*(1-x/abc(2))+x/abc(2)).^abc(3);
abc =
31.2588 -3.9585 1.7033
1年前
1