Re: 2個變數, 也是用查表嗎
|
||||
---|---|---|---|---|
資深會員
|
Tonys大說的是
Tobj = pow( Vtp/(Epsilon * Ktp) - pow(Ta,4) , 0.25); 如果速度太慢,效能不彰再來改成查表(至少可驗證答案)
發表於: 2009/8/10 15:23
|
|||
|
Re: 2個變數, 也是用查表嗎
|
||||
---|---|---|---|---|
資深會員
|
1.根號開兩次: 指的是 sqrt(x) 算兩次
2.求1/4次方: 指的是用 pow(x,y) 以上都是 C 語言標準函式庫中的函式
發表於: 2009/8/10 13:07
|
|||
|
Re: 2個變數, 也是用查表嗎
|
||||
---|---|---|---|---|
資深會員
|
謝謝jason大
會找時間仔細研究您的內容 我的實際公式如底下圖 Ta是絕對溫度,大概273+25~273+80,解析度是0.1度 Vtp是電壓值,大約100uV~2mV ε 比較單純,大該0.50~0.99, Ktp是常數,3.532E -15 Attach file: (0.00 KB)
發表於: 2009/8/10 11:32
|
|||
|
Re: 2個變數, 也是用查表嗎
|
||||
---|---|---|---|---|
資深會員
|
剛剛想到一個方法...參考一下.
如果X = Y,則 (X^4 + Y^4 )^1/4 = (X^4 + X^4 )^1/4 = (2 * X^4 )^1/4 = X * (2) ^1/4 = X * 1.189207115 ~ X * 1.19 (請依精確自行考量) 若 X != Y 則我們一定可以找出 設 X >=Y, 則 Y = k * X (例: X=5, Y=3, X=12,Y=5....) X=5, Y=3 則 y = 0.6X 則 (X^4 + Y^4 )^1/4 = (X^4 + (0.6X)^4 )^1/4 X=12, Y=5 則 y = 0.42X 則 (X^4 + Y^4 )^1/4 = (X^4 + (0.42X)^4 )^1/4 = .... 這時,我們只要做出查表X與Y比例值查表即可得 x y ANS............., (X/Y), (ANS/X) 10 0 10.00000000, 0.0, 1 10 1 10.00024999, 0.1, 1.000024999 10 2 10.00399760, 0.2, 1.00039976 10 3 10.02018878, 0.3, 1.002018878 10 4 10.06339462, 0.4, 1.006339462 10 5 10.15271592, 0.5, 1.015271592 10 6 10.30934731, 0.6, 1.030934731 10 7 10.55271421, 0.7, 1.055271421 10 8 10.89617257, 0.8, 1.089617257 10 9 11.34414161, 0.9, 1.134414161 10 10 11.89207115, 1.0, 1.189207115 ANS = (X^4 + Y^4 )^1/4 最後 X,Y為已知,求出 Y/X = 0到1 查出 0到1的 ANS/X 最後 ANS = X * (ANS/X) = 你要的答案. 例: X=5, Y=3 (Y/X) = (3/5) = 0.6 0.6查表,得 (ANS/X) = 1.03 ANS = X * (ANS/X) = 5 * 1.03 = 5.15 與真正答案5.154673657相差 0.004 如果查表值為 1.030934731 ANS = 5.154673655 與真正答案只差最後一位. 後註: 這個方法的準確度的影響有: 1. 與0到1的(ANS/X)有多少. 本例中為每0.1為一個查表值 2. (ANS/X)查表值中的精密度(1.03或者是1.030934731) 以上數學理論供參考(程式部份,請自行完成)謝謝!!!
發表於: 2009/8/10 11:21
|
|||
|
Re: 2個變數, 也是用查表嗎
|
||||
---|---|---|---|---|
資深會員
|
>根號開兩次也是個好方法
>只是不知道1/4次方要怎麼算 根號 = 1/2次方 開兩次根號 = (1/2)^2 = 1/4次方.....不知你的問題是什麼!!?? 查表的限制是,輸入值是可被預測. 不知你的X,Y範圍是什麼!!?? X與Y是否有任何相關連,或無任何關連!!??
發表於: 2009/8/10 10:32
|
|||
|
Re: 2個變數, 也是用查表嗎
|
||||
---|---|---|---|---|
資深會員
|
謝謝master
根號開兩次也是個好方法 只是不知道1/4次方要怎麼算 另外,在考慮是否建兩個table 一個4次方的table 一個開4次方根號的table 不過想到4次方的數字已經是好多好多位的數了 礙於精度,又不能建的太少項 這表做起來還真有點麻煩。
發表於: 2009/8/9 23:43
|
|||
|
Re: 2個變數, 也是用查表嗎
|
||||
---|---|---|---|---|
資深會員
|
1.根號開兩次
2.求1/4次方 3.多項式展開求近似解
發表於: 2009/8/9 13:59
|
|||
不要問我哪裡來,我只是個流浪天涯的工程師
|
||||
|
2個變數, 也是用查表嗎
|
||||
---|---|---|---|---|
資深會員
|
公式裡如果只有一個變數,用查表求解,還算方便
可如果2個變數的話,例如下圖的公式 用查表的,那TABLE會建的很龐大( X*Y),似乎很難製做 想用C的數學函數來做,好像也找不到開4次根號的 該怎做會比較好呢?? Attach file: (0.00 KB)
發表於: 2009/8/9 11:25
|
|||
|