在matlab的help里提示拟合的函数形式都是类似fun = @(x,xdata)x(1)*exp(x(2)*xdata),其中x(1),x(2)为参数,而我的函数极其复杂繁多,一共33个参数,有5个自变量,
F_yp = (p_Dy1 + p_Dy2 * (F_z - L_Fz0 * F_z0)./(L_Fz0 * F_z0)) .* (1 + p_py3 * (P - P_0)./P_0 + p_py4 * ((P - P_0)./P_0)...
.^2) .* (1 - p_Dy3 * Gamma.^2) .* L_muy...
.* F_z .* zeta_2.* sin(p_Cy1 * L_Cy .* atan((p_Ky1 * L_Fz0 * F_z0 .* (1 + p_py1 * (P - P_0- (p_Ey3L_muy.* F_z .* zeta_2) .*...
(Alpha + (p_Hy1 + p_Hy2 * (F_z - L_Fz0 * F_z0)./(L_Fz0 * F_z0)) * L_Hy + ...
((p_Ky6 + p_Ky7 * (F_z - L_Fz0 * F_z0)./(L_Fz0 * F_z0)) .* F_z .* L_Kygamma .* (1 + p_py5 * (P - P_0)./P_0).L_muy.* F_z .* zeta_2) .*...
(中间省略很多行) ...
((p_Ky6 + p_Ky7(F_z - L_Fz0 * F_z0)./(L_Fz0 * F_z0)) .* Gamma * L_Kygamma .* L_muy * zeta_2
请问在参数极其多的这种情况下应该如何拟合?最好有代码。谢谢。
matlab对一个极其复杂的函数的参数拟合
答案:2 悬赏:10 手机版
解决时间 2021-02-20 12:32
- 提问者网友:泪痣哥哥
- 2021-02-20 05:18
最佳答案
- 五星知识达人网友:酒安江南
- 2021-02-20 06:02
要是没有关系还好,但是你要求A,B,m相同,n不相同,这就比较难弄了!本来matlab里面有现成的工具可以进行数据拟合的,但是好像没有满足这个约束的方法!打入命令:cftool,这个是数据拟合工具箱的界面操作环境,你可以看一下。我的腾讯联系方式,散坝而要龄要伞流午
全部回答
- 1楼网友:青尢
- 2021-02-20 07:11
形式复杂没关系,还是用那个拟合函数。
只是涉及到无穷的,往往就不是初等函数了,搂入如果可以化简(将求和上面的无穷符号去掉)在进行拟合吧,否则应该是不可以的。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯