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

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

  [复制链接]
 楼主| 发表于 2023-8-24 18:22:09 | 显示全部楼层
本帖最后由 笨笨 于 2023-8-24 18:33 编辑
Jack315 发表于 2023-8-24 18:14
复制的时候漏掉了。重新来过:


这结果显然是不对的。

QQ截图20230824183023.jpg

楼上的高手算的是这个结果。

QQ截图20230824182137.jpg
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2023-8-24 18:28:21 | 显示全部楼层
笨笨 发表于 2023-8-24 18:22
这结果显然是不对的,楼上的高手算的是这个结果。

还是贴出来吧:
{0., {a -> -0.0000589285, b -> -5.58172, c -> -9.24795, d -> -8.9222}}

非常离谱,完全吻合。
但是图画出来一看,根本不是那么一回事

点评

梯度是一个曲面上变化率最大的方向,所以搜索极值就应该沿着这个方向进行,以提高效率。  发表于 2023-8-24 18:50
确实如此,我看他们都用梯度法  发表于 2023-8-24 18:31
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2023-8-25 11:18:28 | 显示全部楼层
本帖最后由 elim 于 2023-8-25 11:49 编辑

设拉马努金拟合误差函数为\(\psi_0,\;\psi_n\)是函数$Er_{n-1}:=\psi_0-\cdots-\psi_{n-1}$
的拟合, 使得 $\|\| Er_k\|\|/\|\| Er_{k-1}\|\|\le 10^{-2},\;\|\| f\|\| :=\max_{0< x<1}|f|$
则对某$n\le 6$ 就有 $\|\| Er\|\| \le 10^{-12}$.

以上方法可称为辗转拟合法.要一步找到较高精度的拟合函数族,想都别想.

点评

辗转拟合法提法好!  发表于 2023-8-25 12:27
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2023-8-25 12:25:58 | 显示全部楼层
elim 发表于 2023-8-25 11:18
设拉马努金拟合误差函数为\(\psi_0,\;\psi_n\)是函数$Er_{n-1}:=\psi_0-\cdots-\psi_{n-1}$
的拟合, 使得 ...

估计elim老师暂时也没有这样的补偿拟合函数族达到10^(-12)了,感觉巧妙构造需要灵感,说不定哪天心情好了,看了某个事物就想出来了。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2023-8-25 12:54:17 | 显示全部楼层
笨笨 发表于 2023-8-25 12:25
估计elim老师暂时也没有这样的补偿拟合函数族达到10^(-12)了,感觉巧妙构造需要灵感,说不定哪天心情好 ...

你的心情和巧妙构造从来没有搭过界. 可行不可行的根据是什么,凭感觉还是靠分析?

点评

靠分析,哈哈  发表于 2023-8-25 17:47
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2023-8-25 16:43:16 | 显示全部楼层
有点好奇这个题目是哪里来的,
或者说做这个题目的目的究竟是为了什么,
还是说就是为了玩玩。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2023-8-25 18:14:02 | 显示全部楼层
本帖最后由 笨笨 于 2023-8-25 18:33 编辑
Jack315 发表于 2023-8-25 16:43
有点好奇这个题目是哪里来的,
或者说做这个题目的目的究竟是为了什么,
还是说就是为了玩玩。


来源于小时候,大约上小学的某天下午放学5.30左右,楼主看到一颗彗星从村庄上空飞过,农村老年人叫扫把星,当时又惊又喜,喜的是太美了,惊的是由东北向西北方向的大火球滑过天空会不会掉下来砸人。然后学到了圆知道其周长,后来又想到了前面看到彗星,知其轨迹是椭圆。那么其周长是多少,查无可查,自创的题目,就是为了解决椭圆周长,围绕周边展开的话题。今天走到主贴这一步,是长期积累的结果。楼上的elim老师是楼主的网络导师陪伴楼主多年可为证,感谢先生关注。

无标题.jpg
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2023-8-25 18:57:49 | 显示全部楼层
原来这背后还有很多故事……

如果单纯是为了在给定的定义域上拟合一个特定的函数,
理论上就是用幂级数展开,只要项数够多,可以达到任何想要的精度。
狼版在 6# 给出这个展开式,我的理解大概就是想说明这一点。

如果为了练习编程而给定的题目,这个问题的难点就在于搜索时
如何排除曲面上的“洞”,如根号内的值要不小于零;分母上的值不能为零等。
不然软件函数,如 NMinimize,就不能正常工作。
需要自行写搜索代码以处理有“洞”的情况。

如果是为了了解曲线拟合,或者优化(梯度搜索)的方法,
可以用更简单的例子,如 2-维参数空间,可以作图直接观察过程和结果。

如果是为了找到基本初等函数组合构成的拟合函数,
精度要求可能就不是特别重要。比如可以将题目改成:
给定定义在 [0,1] 上的这个超几何函数,用基本初等函数的组合构成一拟合函数。
努力追求高精度——精度高者获胜。我自己就打算这么玩玩。
这时基本初等函数有很多可选的拟合函数,“形状”相似的都可以逐一考察,
只要拟合函数参数空间没有“洞”,这个题就可以玩很久。

其实,我想知道这个自创的题目是否属于上述的某种情况。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2023-8-25 19:48:20 | 显示全部楼层
本帖最后由 笨笨 于 2023-8-25 20:27 编辑
Jack315 发表于 2023-8-25 18:57
原来这背后还有很多故事……

如果单纯是为了在给定的定义域上拟合一个特定的函数,


是为了找到拉马努金补偿的基本初等函数组合构成的拟合函数族\(\varphi \left( x \right)\),精度越高越好

\(\sum\limits_{n = 0}^\infty  {{{\left( {\begin{array}{*{20}{c}}
{1/2}\\
n
\end{array}} \right)}^2}} {x^{2n}} = 1 + \frac{{3{x^2}}}{{10 + \sqrt {4 - 3{x^2}} }} + \varphi \left( x \right)\begin{array}{*{20}{c}}
,&{x \in [0,1]}
\end{array}\)
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2023-8-25 21:42:57 | 显示全部楼层
笨笨 发表于 2023-8-25 19:48
是为了找到拉马努金补偿的基本初等函数组合构成的拟合函数族\(\varphi \left( x \right)\),精度越高越 ...

这个函数 \(\frac{3x^2}{10+\sqrt{4 - 3x^2}}\) 可以看成是 \(3x^2\) 与 \(\frac{1}{10+\sqrt{4 - 3x^2}}\) 的一种组合。
两者相加应该也有同样的效果。更一般地,可以看成是 \(\frac{ax^2}{b+\sqrt{c+dx^2}}\) 。
对于这个形式,四个参数同样可以进行优化,
但也会遇到同样的问题,即根号里的 \(c+dx^2\) 必须不小于零、分母不能为 0。
事实上除了这两个函数的形状与超几何函数相似外,
还有很多可以选用,如:\(x^3\)、\(x^3\)、\(-cos(\frac{\pi}{a}x)\) ……
所以大师的灵感是怎么来的,是不是也有一个很精彩的故事?

建模或曲线拟合的关键是残差(误差)分析。
在离散数据点的情况下,残差分析用于判断附加的噪声是否符合 \(N(0,\sigma ^2)\) 的假设。
这里,是帮助寻找 \(\varphi(x)\) 函数形式的线索。
因此,需要对基本初等函数的特性逐一进行考察。
题中的 \(H(x)\) 函数相信也是费了很多思量才定的这种形式。
但指数函数 \(x^a\) 在 \(a < 0\) 的时候,同样会有 \(x=0\) 时计算困难的问题。

根号内的值必须不小于零、分母不能为零这些限制,自然会导致失去部分可选函数(的形式)。
所以要想利用这部分可选函数的形式,就必须在代码中设法解除这类限抽。
个人倾向先放弃类函数(的形式),除非找不出满足(精度)要求的函数。

另外,评估模型优劣时,在离散数据点的情况下,一般使用残差平方和或均方误差作为标准。
在连续数据的情况下,应使用误差函数平方在定义域上的积分。
至于是不是与误差最大值做评估标准有相同的结果,现在还不清楚。

点评

用级数展开系数来判断拟合函数的优劣是个好办法。  发表于 2023-8-26 02:44
反正业余爱好,玩玩罢了,不求非要怎么怎么样,强求不来  发表于 2023-8-25 22:04
主干部分:\(1+\frac{3x^2}{10+\sqrt{4 - 3x^2}}\)是拉马努金公式,与原级数前几项完全重合,所以用它。  发表于 2023-8-25 22:02
楼主再看看,谢谢  发表于 2023-8-25 22:00
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
您需要登录后才可以回帖 登录 | 欢迎注册

本版积分规则

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

GMT+8, 2024-11-23 16:20 , Processed in 0.029288 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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