matlab lsqcurvefit函数写了以下的M文件function F=myfun5(x,xdata)F=x(1)+((x(2)-x(1))/(1+(xdata/x(3))^x(4))其中x1,x2,x3,x4是待求系数command windows里输入:xdata=[25.4 50.8 76.2 152.4 228.6 304.8];ydata=[1.628 3.529 8.412 18.811 29.00

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/04 10:43:47
matlab lsqcurvefit函数写了以下的M文件function F=myfun5(x,xdata)F=x(1)+((x(2)-x(1))/(1+(xdata/x(3))^x(4))其中x1,x2,x3,x4是待求系数command windows里输入:xdata=[25.4 50.8 76.2 152.4 228.6 304.8];ydata=[1.628 3.529 8.412 18.811 29.00

matlab lsqcurvefit函数写了以下的M文件function F=myfun5(x,xdata)F=x(1)+((x(2)-x(1))/(1+(xdata/x(3))^x(4))其中x1,x2,x3,x4是待求系数command windows里输入:xdata=[25.4 50.8 76.2 152.4 228.6 304.8];ydata=[1.628 3.529 8.412 18.811 29.00
matlab lsqcurvefit函数
写了以下的M文件
function F=myfun5(x,xdata)
F=x(1)+((x(2)-x(1))/(1+(xdata/x(3))^x(4))其中x1,x2,x3,x4是待求系数
command windows里输入:
xdata=[25.4 50.8 76.2 152.4 228.6 304.8];
ydata=[1.628 3.529 8.412 18.811 29.00 29.24];
x0=[30,3,110,2.49];
[x,resnorm]=lsqcurvefit(@myfun5,x0,xdata,ydata)
结果显示错误.
这个程序的目的就是拟合出函数
如果有更好的解决方法,一定重谢!

matlab lsqcurvefit函数写了以下的M文件function F=myfun5(x,xdata)F=x(1)+((x(2)-x(1))/(1+(xdata/x(3))^x(4))其中x1,x2,x3,x4是待求系数command windows里输入:xdata=[25.4 50.8 76.2 152.4 228.6 304.8];ydata=[1.628 3.529 8.412 18.811 29.00
错误1:自定义函数表达有问题,缺少小点,即(./和.*);
错误2:函数表达式多了一个“(”
自定义函数应为:F=x(1)+(x(2)-x(1))./(1+(xdata./x(3)).^x(4))

运行结果:
x =
[ 34.09570375, 1.192284543, 134.9683887, 2.481140851]
R1 =
0.995357 拟合精度