Matlab用自定义函数拟合函数自定义函数function F = myfun(a,x),形式如下:F=(1-0.1/(1+0.1*((1-a(2)).^2/(4*a(2))+(x-a(2)).^2/(4*a(2)*x)+(x-a(3)).^2/(4*a(3)*x))))*a(1)用[x,resnorm] = lsqcurvefit(@myfun,x0,x,y)进行拟合时,提示维
来源:学生作业帮助网 编辑:作业帮 时间:2024/07/15 01:54:37
![Matlab用自定义函数拟合函数自定义函数function F = myfun(a,x),形式如下:F=(1-0.1/(1+0.1*((1-a(2)).^2/(4*a(2))+(x-a(2)).^2/(4*a(2)*x)+(x-a(3)).^2/(4*a(3)*x))))*a(1)用[x,resnorm] = lsqcurvefit(@myfun,x0,x,y)进行拟合时,提示维](/uploads/image/z/1075024-64-4.jpg?t=Matlab%E7%94%A8%E8%87%AA%E5%AE%9A%E4%B9%89%E5%87%BD%E6%95%B0%E6%8B%9F%E5%90%88%E5%87%BD%E6%95%B0%E8%87%AA%E5%AE%9A%E4%B9%89%E5%87%BD%E6%95%B0function+F+%3D+myfun%28a%2Cx%29%2C%E5%BD%A2%E5%BC%8F%E5%A6%82%E4%B8%8B%EF%BC%9AF%3D%281-0.1%2F%281%2B0.1%2A%28%281-a%282%29%29.%5E2%2F%284%2Aa%282%29%29%2B%28x-a%282%29%29.%5E2%2F%284%2Aa%282%29%2Ax%29%2B%28x-a%283%29%29.%5E2%2F%284%2Aa%283%29%2Ax%29%29%29%29%2Aa%281%29%E7%94%A8%5Bx%2Cresnorm%5D+%3D+lsqcurvefit%28%40myfun%2Cx0%2Cx%2Cy%29%E8%BF%9B%E8%A1%8C%E6%8B%9F%E5%90%88%E6%97%B6%2C%E6%8F%90%E7%A4%BA%E7%BB%B4)
Matlab用自定义函数拟合函数自定义函数function F = myfun(a,x),形式如下:F=(1-0.1/(1+0.1*((1-a(2)).^2/(4*a(2))+(x-a(2)).^2/(4*a(2)*x)+(x-a(3)).^2/(4*a(3)*x))))*a(1)用[x,resnorm] = lsqcurvefit(@myfun,x0,x,y)进行拟合时,提示维
Matlab用自定义函数拟合函数
自定义函数function F = myfun(a,x),形式如下:
F=(1-0.1/(1+0.1*((1-a(2)).^2/(4*a(2))+(x-a(2)).^2/(4*a(2)*x)+(x-a(3)).^2/(4*a(3)*x))))*a(1)
用[x,resnorm] = lsqcurvefit(@myfun,x0,x,y)进行拟合时,提示维数Fun函数值与Ydata不符.后检查自定义函数时发现,即使预先给定a矩阵三个数,同时给定一个1x8的x矩阵,Fun函数值也只是一个,而不是8个.拿线性函数开始试,一点一点添加式子长度,鼓捣了一下午后发现,0.1乘的括号里边相加的三个数中,常数那项只要添加一个x进去,函数值就是8个,否则就是一个.脑袋把墙撞穿了也没想明白这是什么情况,叩首拜谢了.我只有20个金币,倾家荡产请教了.
Matlab用自定义函数拟合函数自定义函数function F = myfun(a,x),形式如下:F=(1-0.1/(1+0.1*((1-a(2)).^2/(4*a(2))+(x-a(2)).^2/(4*a(2)*x)+(x-a(3)).^2/(4*a(3)*x))))*a(1)用[x,resnorm] = lsqcurvefit(@myfun,x0,x,y)进行拟合时,提示维
常数是一维的,后面乘个
ones(m,1)
试试(m自已定)