笨笨 发表于 2023-7-17 22:37:26

Ickiverar 发表于 2023-7-17 20:30
当{a,b,c,d}~{0.58156,2.63274,0.830127,3.51668}时,Er(x)的界最小,为2.865e-6

请问先生,可否贴一下编程代码

笨笨 发表于 2023-7-19 07:01:21

Ickiverar 发表于 2023-7-17 20:30
当{a,b,c,d}~{0.58156,2.63274,0.830127,3.51668}时,Er(x)的界最小,为2.865e-6

先生你好,请给出必要你的分析过程或编程代码

笨笨 发表于 2023-7-28 07:56:43

顶一下,寻找论坛才俊

笨笨 发表于 2023-8-16 14:04:06

Ickiverar 发表于 2023-7-17 20:30
当{a,b,c,d}~{0.58156,2.63274,0.830127,3.51668}时,Er(x)的界最小,为2.865e-6

老师还在吗,请问当{a,b,c,d}~{0.58156,2.63274,0.830127,3.51668}时,Er(x)的界最小,为2.865e-6,这些数据在Mathematica中是怎么得出来的???

Ickiverar 发表于 2023-8-17 02:57:14

笨笨 发表于 2023-8-16 14:04
老师还在吗,请问当{a,b,c,d}~{0.58156,2.63274,0.830127,3.51668}时,Er(x)的界最小,为2.865e-6,这些 ...

我发现这不是最优值。当 {a,b,c,d}~{0.459, 2.905, 0.864, 3.5945} 时,Er(x)的界可以小于 1.8e-6。我再看看怎么搜索最优值吧。这个问题比较复杂,需要拿MMA做实验性的互动,不存在通用的算法。

笨笨 发表于 2023-8-17 06:12:11

本帖最后由 笨笨 于 2023-8-17 08:44 编辑

Ickiverar 发表于 2023-8-17 02:57
我发现这不是最优值。当 {a,b,c,d}~{0.459, 2.905, 0.864, 3.5945} 时,Er(x)的界可以小于 1.8e-6。我再 ...

前辈可否看看一下这个帖子: 用梯度下降法求函数界的最小值

有网友老师说:
Mathematica 可以执行 while loop.这意味着梯度方法自动优化参数的代码可以轻易编出求出误差函数界的最小值。

我不知道 while怎么编才能自动优化梯度参数且得到误差函数界的最小值。

笨笨 发表于 2023-8-17 22:22:57

本帖最后由 笨笨 于 2023-8-17 22:29 编辑

笨笨 发表于 2023-8-17 06:12
前辈可否看看一下这个帖子: 用梯度下降法求函数界的最小值

有网友老师说:


前辈可否贴出你的Mathematica代码看看,另外到该贴链接下也看看有什么不同

Ickiverar 发表于 2023-8-17 23:47:50

结论:
在 {a,b,c,d} 取值 {-2.63010099114955,11.468733192809488,0.9377675568096427,1.3605922539441178} 时,
Abs 的最大值最小,为 2.7203060441574384E-7


Ickiverar 发表于 2023-8-18 06:23:24

本帖最后由 Ickiverar 于 2023-8-18 06:29 编辑

对于你 https://bbs.emath.ac.cn/thread-19045-1-1.html 帖子中加入一个新参数之后的情况,我用 kabcd 这五个字母表示你那个帖子中的 abcde,以避免修改已有字母 abcd 的意义。

新的最优值为 {k,a,b,c,d}~{infinity, 0.148646, 0, 0.949131, 0.811553} ,此时 Abs 的最大值最小,为 1.82658e-7

注意到 k b 分别为无穷大和0,这实际上要求你把拟合式中的 $k(1-x^b)^c$ 改为 $(kb^c)*((1-x^b)/b)^c$,此时 $kb^c$ 趋于一常数 17.7309, $((1-x^b)/b)^c$ 成为 $-\log^c(x)$。



笨笨 发表于 2023-8-18 20:57:26

Ickiverar 发表于 2023-8-18 06:23
对于你 https://bbs.emath.ac.cn/thread-19045-1-1.html 帖子中加入一个新参数之后的情况,我用 kabcd 这五 ...

页: 1 [2] 3 4 5 6 7 8 9 10 11
查看完整版本: 用Mathematica编程求出最大误差函数值时如:10⁻⁸下的(x,a,b,c,d)