[問題] 關於內插法

看板C_and_CPP (C/C++)作者 (黑眼豆豆)時間16年前 (2010/05/19 12:35), 編輯推噓4(404)
留言8則, 4人參與, 最新討論串1/1
( *[1m *[m 為色碼,可以按 Ctrl+V 預覽會顯示的顏色 ) ( 未必需要依照此格式,文章條理清楚即可 ) VC++ 2008 , Windows 寫的是C++ 請教一下大家, 今已知有data[0]~data[20]共21筆資料平均分散在-7~7之間, 也就是已知: data[0] data[1] data[2] data[3] data[4] data[5] ‧‧‧ data[19] data[20] -7 -6.3 -5.6 -4.9 -4.2 -3.5 ‧‧‧ 6.3 7 現我們要將新的分佈在-6~6之間的11筆資料以上述的data[0]~data[20]來表示, 該如何寫呢? 用手算是這樣: -6~6之間有11筆,所以共有10個間隔,一個間隔為1.2, 所以這11筆資料的值為:-6,-4.8,-3.6 ‧‧‧ 4.8,6 -6介於-6.3和-5.6之間,這時使用內插法求值, -6.3─(0.3)─-6─(0.4)─-5.6 所以可得-6=[(-6.3*0.4)+(-5.6*0.3)]/0.7→-6=(data[1]*0.4+data[2]*0.3)/0.7 同理可得-4.8=(data[3]*0.6+data[4]*0.1)/0.7 ‧ ‧ ‧ 卻不知該如何用程式來陳述,感覺應是可用迴圈來寫,但卻不知如何下手, 麻煩大家幫想一下,謝謝各位>"< -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.113.178.199

05/19 13:27, , 1F
把-4.8的 0.6 0.1 0.7用算式表示
05/19 13:27, 1F

05/19 13:44, , 2F
-7~7切了21區間, 現在要改用-6~6平均11區間這樣嗎??
05/19 13:44, 2F

05/19 13:44, , 3F
你的表看起來+-對稱啊, 算[5]~[10], 然後[0]~[4]的部份
05/19 13:44, 3F

05/19 13:46, , 4F
用-[6]~-[10]代入就好, 這樣就是0~6切等分然後填表不是?
05/19 13:46, 4F

05/19 13:49, , 5F
啊, 沒仔細看懂後面的部份, 不要理小弟我....Orz
05/19 13:49, 5F

05/19 14:02, , 6F
新的資料都要用舊的離它最近的兩個資料data[i]跟data[i+1]
05/19 14:02, 6F

05/19 14:03, , 7F
來表示,值是左右對稱的沒錯......
05/19 14:03, 7F

05/20 08:21, , 8F
calc weight during merging
05/20 08:21, 8F
文章代碼(AID): #1BysgDgv (C_and_CPP)
文章代碼(AID): #1BysgDgv (C_and_CPP)