请教一个非多项式拟合问题

来源:百度知道 编辑:UC知道 时间:2024/06/14 01:13:27
y=cx+blnx+a。
y和x由实验测得,5组左右,要求拟合出a,b,c,不知道用什么方法啊?

我用matlab。

谢谢

编写M文件:
function yy=model(beta0,x)
a=beta0(1);
b=beta0(2);
c=beta0(3);
yy=c*x+b*log(x)+a; (保存)

运行窗口程序:
x=[1 2 3 4 5];
y=[2 3 4 5 6];
beta0=[1 2 3];
betafit=nlinfit(x,y,'model',beta0)

结果:
betafit =

0.99999999993591 -0.00000000015258 1.00000000007255

即:a=0.99999999993591
b=-0.00000000015258
c= 1.00000000007255