Math 板


LINE

请问各位板友一个对函数做Lagrange interpolation的问题, 先看这个连结 https://www.desmos.com/calculator/cegj2qpzez 先定义名词: (1) 强N次多项式: x^N的领导系数不为0 (2) N次多项式: 多项式至多N次方 再来回到图, P(x)是一个通过(1,0), (s,log_2(s)), (2,1)三个点的强二次多项式 即通过三点的拉格朗日插值多项式 接着滑动s时, 会发现s越趋近於1^+时, P(x)越接近P_L(x) 而s越趋近於2^-时, P(x)越接近P_R(x) 先描述以上这种现象叫作退化 然後从这个例子观察出两个现象: (1) 退化成功, 即系数的极限值都存在 (2) 退化後还是强二次多项式, 并不是变成通过(1,0),(2,1)两个点的一次多项式 然後从其他例子发现: (1) 对f(x)=x做(0,0),(s,s),(1,1)的二次多项式内插, 出来的多项式仍是P(x)=x 即便退化後仍是P(x)=x 也就是说, 原本三个点决定的多项式式是强一次多项式, 退化後仍是强一次多项式 (2) 对log_2(x)做(1,0), (s,log_2(s)), (p, log_2(p)), 的强二次多项式内插 先把s逼近到1, 仍是强二次多项式, 再把p逼近到1, 也还是强二次多项式 不论是单退化(三点剩二点)还是双退化(三点剩一点) 退化後仍是极限存在的强二次多项式 (2) 对log_2(x)做(1,0), (s,log_2(s)), (p, log_2(p)), (r,log_2(r)) 的强三次多项式内插, 不论单退化、双退化、三退化 退化後仍是极限存在的强三次多项式 因此我想请问跟猜测的两个面向是: 【理论】 上述的log_2(x)现象是巧合还是有定理支持? 我猜测的定理是: 令f(x)为定义在[a,b]的连续函数 在[a,b]中任取N个相异点a_1,...,a_N, 对(a_1,f(a_1)),...,(a_N,f(a_N)) 造出N-1次的多项式P(x), (此P(x)唯一并且至多N-1次) 则我们有: (1) 对任何n<=N-1, n点的退化是均匀收敛 (2) 若P(x)是强M次多项式, 上述的退化亦是强M次多项式 这里的任何n点退化很广泛, 即任挑n点、任意顺序的退化, 都会收敛并且还是强M次 (退化就是依序把某个a_i当变数, 其他a_j固定, 对多项式P(x)取lim{a_i→a_j}) 也就是说强M次的M已经被当初的a_1,...,a_N决定了, 不管怎麽退化仍会是强M次多项式 【实作】 我在 #1ajhtDXJ 问极限的电脑实作问题就是源自於这篇 我想对(1,0), (s,log_2(s)), (p, log_2(p)), (2,1)这四个点做三次多项式 但是实务上我无法控制使用者的s跟p会不会很靠近到浮点数的相等 也无法控制s or p会不会很靠近1 or 2到浮点数的相等 而即便浮点数不相等, 但是很靠近的话, 会导致这个三次多项式的closed form的系数 出现0除以0的情形 这个问题有其他解法吗? 还是一样只能靠我上篇问的方式, 设threshold/大数运算来解 ---------------------------------------------------------- 以上两个面向询问, 谢谢帮忙~ --



※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 59.102.225.191 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Math/M.1689965257.A.465.html
1F:推 LPH66 : 没有很仔细想, 不过你的逼近退化法看起来等同於07/22 14:17
2F:→ LPH66 : 取重合点的微分值等於中间的函数在该重合点的微分07/22 14:17
确实很吃函数的微分值, 令f(x)=cos(2*pi*x), a=0, b=1, s€(a,b) 则造P(x)为通过(0,f(0)), (s,f(s)), (1,f(s))的强二次多项式 会发现s不管退化成0还是1, 最後退化出的多项式都变成常数 https://www.desmos.com/calculator/aqnxzlmcgr 光三个点要整理成ax^2+bx+c然後做罗毕达就花不少时间算 四个点我好没有勇气XDDDD
3F:推 LPH66 : 又仔细想了一下应该没错, 你把 (t, g(t)) "退化"和07/23 02:14
4F:→ LPH66 : (0, g(0)) 合并之後的函数在 0 的微分会等於 g'(0)07/23 02:14
5F:→ LPH66 : 因此你想证的东西强多项式性质应该都有办法调微分值07/23 02:15
6F:→ LPH66 : 去造出反例来07/23 02:15
7F:→ LPH66 : 在 g 是对数的状况下可能因为对数函数的凸性07/23 02:28
8F:→ LPH66 : 造成一些可能会"弱化"的情形在对数函数里找不到07/23 02:28
9F:→ LPH66 : 02:14 那两行的结论应该能用拉格朗日插值公式07/23 02:29
10F:→ LPH66 : 把要经过的点给拆开, 然後就能只考虑 (0, g(0)) 和07/23 02:30
11F:→ LPH66 : (t, g(t)) 两点的状况, 这时极限状况的直线07/23 02:31
12F:→ LPH66 : 就是 g 在 0 的切线 (即是这 g'(0) 是直接由定义得)07/23 02:31
13F:→ LPH66 : 咦等等, 插值公式没有保证微分值为 0..这我要再想想07/23 02:32
14F:→ LPH66 : 啊有了, 因为是合并後的极限, 两点合一变重根後07/23 02:33
15F:→ LPH66 : 这重根的重覆因子就能让微分值为 007/23 02:33
16F:→ LPH66 : 所以全部加起来之後微分值确实会变成 g'(0)07/23 02:34
嗨L大, 谢谢分享, 不过我不太理解你02:29~02:34的意思 看起来你说的"合并"是点的合并, 但是这样不就降次了吗 以log_2(x)这个例子来说, 通过(1,0),(s,log_2(s)), (2,1)三个点的强二次多项式P(x) 对s→0还是得到强二次多项式P_L(x), 然後会通过(1,0), (2,1)两个点 然後当然也可以针对(1,0),(2,1)这两个点直接造出强一次多项式L(x) 你那几行的回应是在讨论如何从P(x)退化到L(x)?
17F:推 LPH66 : 我是在讲你开头写的"退化"没错07/23 09:16
18F:→ LPH66 : 算是非正式地在证明那个退化就是取"合并"点上的微分07/23 09:17
了解~
19F:推 PPguest : 用divided difference, Newton form的interpolation 07/23 15:14
20F:→ PPguest : polynomial来看 f(x)=cos(2*pi*x) 的例子, 07/23 15:15
21F:→ PPguest : 因为f(0)=f(1),在退化时造成1st divided difference 07/23 15:17
22F:→ PPguest : 两个都变成0(一个是因f'(0)=0),因此2nd divided 07/23 15:18
23F:→ PPguest : difference也是0,因此多项式的二次以及一次项系数都 07/23 15:19
24F:→ PPguest : 是0,结果就变成常数 07/23 15:19
25F:→ PPguest : 能确定的是,若n个点都退化到同一个点,对一般的f来说 07/23 15:22
26F:→ PPguest : n-1次项的系数即为(n-1)th divided difference, 07/23 15:29
27F:→ PPguest : 其值等於f微n-1次在那一点取值,然後除以(n-1)! 07/23 15:31
没用过divided diff, 刚刚去查发现跟Lagrange Interpolation有等式上的关系式 想问P大你推文的内容, 感觉可以写出任何退化的closed form多项式!? 如果可以的话我之後去研究一下, 谢谢! 如我上面给的连结 https://www.desmos.com/calculator/aqnxzlmcgr 光是算出三个点中的一个点的左右退化就好辛苦 因为我需要把Lagrange内插整理成a_n*x^n+...+a_0後再逐一对系数做罗毕达 我不敢想像四个点的各种退化情况会多复杂...
28F:→ PPguest : Lagrange form 的 interpolation 和 Newton form 的 07/23 15:50
29F:→ PPguest : 都是同一个多项式,只是写法不同 07/23 15:51
Soga!
30F:推 PPguest : 另外不知道你的最後目的是什麽?是要求某点代入多项 07/23 15:57
31F:→ PPguest : 示的值?或是有很多不同的x要代入多项式?又或者只 07/23 15:58
32F:→ PPguest : 要a_0......a_n的值,不需要代值? 07/23 15:59
33F:→ PPguest : 某点代入多项式的话可用Neville's algorithm 07/23 16:00
34F:→ PPguest : 不同的x要代入多项式的话,先求Newton form的系数,再 07/23 16:02
35F:→ PPguest : 用Newton form算x代入多项式 07/23 16:03
我是嵌入式系统上要实作某个非线性函数, 需要用到log_2(x) 其中我用多项式P(x)来逼近log_2(x), 1<=x<=2 而这个非线性函数一般会有两个不连续点, 经过计算我只要让P(x)通过 (1,0), (s,log_2(s)), (p,log_2(p)), (2,1)这四个点, 那就可以让那两个不连续点消失 而s跟p的决定是使用者会输入一些参数t而转换来的, 也就是说s=U_1(t), p=U_2(t) 虽然U_1,U_2这两个转换函数已知, 但是我自己跑参数确实会让一些t导致: s=p or s=1 or p=1 or s=p=1... 这也是为什麽我会问Lagrange退化的公式与实做的原因 因为如果知道退化公式, 我可以设定某个threshold让内插点相等或极近时代入退化公式 同时我又担心内插点极近但是没有过我的threshold所造成的P(x)误差问题 (因为P(x)这个多项式的系数充满着内插点相似而产生0+/0+情况) 也就是说, 使用者决定t→程式转换成s,p→程式转换成多项式P(x)的四个系数a_3~a_0 然後开机运行时会一直进来x, 就会让P(x)跑a_3*x^3+a_2*x^2+a_1*x+a_0
36F:→ PPguest : 刚想了一下,07/23 16:00 讲的是一般情况,不知道是否 07/23 18:10
37F:→ PPguest : 适合退化的情形.另外我想原po应该知道算P(x)时,用 07/23 18:11
38F:→ PPguest : ((a_3*x+a_2)*x+a_1)*x+a_0会比较稳定之类的吧 07/23 18:16
我是这样实作没错, 不过不是因为精度因素, 而是这样的乘法数量比较少XDD 你说的"稳定"是这样也有精度比较高的好处?
39F:推 PPguest : 感觉要先确定一件事,如果参数t确定後变成2~3个点,多 07/23 18:22
40F:→ PPguest : 项式是退化的最好吗?用一次或二次多项式会比较差吗 07/23 18:24
在log_2(x)这个case中, 系数极限退化是比较好的没错 点数减少的退化方式会降次方, 误差整个就上去了QQ
41F:→ PPguest : 三次多项式有4个未知系数,已知例如过2点,还有两个条 07/23 18:28
42F:→ PPguest : 件的自由度可以选择 07/23 18:28
喔喔 你的意思是如果退化, 那就随便补点来维持三次多项式 这样就绕过手动计算极限系数了, 这approach解决我一半问题耶XDD 谢谢
43F:→ PPguest : 我想表达的是就算是三次多项式还有很多选择,不过会 07/23 18:35
44F:→ PPguest : 不会符合退化的那种是最"好"的?如果是的话,搞清楚 07/23 18:37
45F:→ PPguest : 其另外加入的条件是什麽,然後在看计算上用哪种方式 07/23 18:38
46F:→ PPguest : 会比较适合 07/23 18:38
47F:→ PPguest : ^系数 07/23 18:39
维持三次多项式的话, 确实可以细部处理以下case: (1) s=p=1 :选择额外两点(p1,log_2(p1)), (p2,log_2(p2))使得误差最小 (2) s=1, s!=p:选择额外一点(p1,log_2(p1))使得误差最小 (3) p=1, s!=p:选择额外一点(p1,log_2(p1))使得误差最小 不过如果s,p,1,2这四点皆相异的系数精度是够的话, 我是打算采取最简单的方式: 如果这四点有谁相等, 就加个float_epsilon, 强制让这三个点是浮点不相等 然後照原四点的内插公式算系数
48F:推 PPguest : Hermite interpolation 看起来是除了各点函数值要一 07/23 20:17
49F:→ PPguest : 样,各点例如微一次以及微两次後的函数值也要一样 07/23 20:19
50F:→ PPguest : 看起来前面提的点变少的退化,猜测其他的条件应该就 07/23 20:20
51F:→ PPguest : 是对该点微分一次(甚至微分两次)的函数值也要一样 07/23 20:23
这我也没听过QQ 查了是数值分析领域的方法 P大提这个内插方式是优化哪个部份呢?
52F:→ PPguest : 如果跟点数一样的比,就是用更多的资讯,更高次的多项 07/23 22:17
53F:→ PPguest : 式来逼近.如果跟一样次数的多项式比,大概就是误差项 07/23 22:23
54F:→ PPguest : 不太一样 07/23 22:23
了解~
55F:推 Vulpix : Hermite插值就是你的问题啊。内容就是用函数值与各 07/23 23:07
56F:→ Vulpix : 阶导数把多项式找出来。如果插值用的点只剩一个a( 07/23 23:07
57F:→ Vulpix : 其他a_i都一个个收敛到a了),那插出来的就是泰勒 07/23 23:07
58F:→ Vulpix : 多项式。如果插值用的资料不含导数,那就会得到拉 07/23 23:07
59F:→ Vulpix : 格朗日插值公式。 07/23 23:07
60F:→ Vulpix : 例如已知f(1),f'(1),f(2)就会插出P_L。 07/23 23:10
原来Taylor跟Lagrange都是Hermite的特例! 之前完全没研究过Hermite说 我之後再理论研究, 谢谢V大的idea ※ 编辑: znmkhxrw (59.102.225.191 台湾), 07/24/2023 00:15:54







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:Tech_Job站内搜寻

TOP