找回密码
 欢迎注册
楼主: 笨笨

[求助] 用Mathematica编程求出最大误差函数值时如:10⁻⁸下的(x,a,b,c,d)

  [复制链接]
发表于 2023-9-29 13:43:16 | 显示全部楼层
Ickiverar 发表于 2023-9-29 00:16
我一直想用级数展开继续搞这个,但是也不好搞出形式简洁而且误差较低的。

无限增加级数项,倒是可以无限降 ...

造成拟合精度上不去的原因在于 \(x=1\) 处的奇点。
在这个点上 2F1 的二阶导数为 \(\infty\)。
这个事实表明 2F1 曲线目测很丝滑,实际上曲率圆半径不断减小,最后塌缩为一个点。

所以 LZ 提供(四个参数)的补偿函数有个天花板,
而 18 楼给出的是全局最优解,没有之一。

要达到所需精度,使用级数拟合是一个选项。
可选的级数有:
1) 幂级数;
2) Fourier 级数;
3) Chebyshev 多项式“级数”
……

Chebyshev 多项式“级数” 可能是三者之中性能最好的。
级数项数(参数、系数数量)越多,拟合精度越高。
但随着级数项数的增加,CPU 越来越不堪重负。
因此拟合精度的比赛就变成了算力的比赛……

用级数拟合只要是有限项,就一定存在天花板。只有无穷项才能精确拟合。
与 0.999...=1 这个问题类似,无穷循环等式才成立。

用加窗的单峰函数去拟合,或许也是一个选项。
基于同样的原因,应该也有个天花板存在。
实在没时间玩了,暂时没有明确的结论。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2023-9-29 14:29:35 | 显示全部楼层
已知 $Err(x)=\sum_{k=_1}^m\chi_{I_k}(x)\varphi_k(x), I_k=[a_{k-_1},a_k], a_0<  \cdots < a_m = $1
其中 $\varphi_k$ 连续,在$I_k$内部非零且 k>0 时 \(\varphi_k\)非凸即凹. 令 $\psi_k(t) = \varphi_k((a_k-a_{k-_1})t+a_{k-_1})$
因为 $\psi_k$ 不变号且相当平滑, 其模已经在 e-7 级别,对每个 $\psi_k$ 可作切比雪夫逼近 $\zeta_k$
使 $|\psi_k-\zeta_k|$在 e-12
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2023-9-29 17:02:55 | 显示全部楼层
elim 发表于 2023-9-29 14:29
已知 $Err(x)=\sum_{k=_1}^m\chi_{I_k}(x)\varphi_k(x), I_k=[a_{k-_1},a_k], a_0<  \cdots < a_m = $1
其 ...

这个思路是否就是加窗单峰逐个进行拟合的意思?

如果理解不错的话,这里有个窗函数的问题。
题目要求使用基本初等函数,即不能使用 Floor 函数,
所以这个窗函数在窗口边界外无法做到为零。
这就要求拟合函数在窗口边界外有界,
或者无界的情况下,增长的速度不能比窗函数的衰减速度快。

如果可以使用 Floor 函数的话,也就是窗口边界外窗函数为零,
这个题应该没什么难度。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2023-9-29 22:38:09 | 显示全部楼层
只有逐个单峰拟合,也就是分段拟合才能有效地降低拟合复杂度.换句话说,要实现e-12这种拟合精度,初等函数这个要求会迫使拟合函数族的自由度(参量或拟合函数空间的维度)飙升到只好作罢的地步.

楼主的初始拟合方略是我给出的.大致这么几个阶段:设计拟合函数空间,观图肉眼调试参数,梯度法优化参数.这条路走到现在有理有据有天花板.要突破最可行的就是允许分段拟合了.前景应该是乐观的.
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2023-9-30 05:44:14 | 显示全部楼层
elim 发表于 2023-9-29 22:38
只有逐个单峰拟合,也就是分段拟合才能有效地降低拟合复杂度.换句话说,要实现e-12这种拟合精度,初等函数 ...

不愧是前辈!

如果可以使用类似下列窗函数(Floor 函数),
或者直接就是 Mathematica 中的 Piecewise[...] 函数,
或许再花点时间玩一下:
\[fWin(x)=\bigg\lfloor\frac{|1+x|}{1+|x|}\bigg\rfloor=\begin{cases} 1, & \text{ if } x\ge0\\ 0, & \text{ if } x<0 \end{cases}\]
用这个窗函数,达到 1e-12 的拟合精度确实非常有可能。
就是不知道是不是符合 LZ 题目的要求……
LZ 这两天去哪里了?去挖矿了吗
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2023-9-30 09:26:47 | 显示全部楼层
Jack315 发表于 2023-9-30 05:44
不愧是前辈!

如果可以使用类似下列窗函数(Floor 函数),

简单的 piecewise 逼近,对 e-12  这种目标来说,势必piece 量巨大。所以还是单峰单坑逼近。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2023-9-30 09:41:06 | 显示全部楼层
elim 发表于 2023-9-30 09:26
简单的 piecewise 逼近,对 e-12  这种目标来说,势必piece 量巨大。所以还是单峰单坑逼近。 ...

本意是由 Piecewise[...] 构成窗函数,
一个 Piecewise[...] 对一个峰。
与 fWin(x) 函数等效的一个作用。

以 18# 的结果为前题,
五个峰对应五个 \(fWin(x)\times fFit(x,...)\) 函数,
或五个  \(Piecewise[...]\times fFit(x,...)\) 函数。
实现 1e-12 还是比较有希望的。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2023-10-2 07:14:19 | 显示全部楼层
Jack315 发表于 2023-9-30 09:41
本意是由 Piecewise[...] 构成窗函数,
一个 Piecewise[...] 对一个峰。
与 fWin(x) 函数等效的一个作用 ...

可行性是有理论保证的。

评分

参与人数 1威望 +2 金币 +2 贡献 +2 鲜花 +2 收起 理由
Jack315 + 2 + 2 + 2 + 2 很给力!

查看全部评分

毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
您需要登录后才可以回帖 登录 | 欢迎注册

本版积分规则

小黑屋|手机版|数学研发网 ( 苏ICP备07505100号 )

GMT+8, 2024-11-23 16:09 , Processed in 0.026297 second(s), 16 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表