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/07/09 04:55:03
![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](/uploads/image/z/5434963-43-3.jpg?t=matlab+lsqcurvefit%E5%87%BD%E6%95%B0%E5%86%99%E4%BA%86%E4%BB%A5%E4%B8%8B%E7%9A%84M%E6%96%87%E4%BB%B6function+F%3Dmyfun5%28x%2Cxdata%29F%3Dx%281%29%2B%28%28x%282%29-x%281%29%29%2F%281%2B%28xdata%2Fx%283%29%29%5Ex%284%29%29%E5%85%B6%E4%B8%ADx1%2Cx2%2Cx3%2Cx4%E6%98%AF%E5%BE%85%E6%B1%82%E7%B3%BB%E6%95%B0command+windows%E9%87%8C%E8%BE%93%E5%85%A5%EF%BC%9Axdata%3D%5B25.4+50.8+76.2+152.4+228.6+304.8%5D%3Bydata%3D%5B1.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 拟合精度