作者LPH66 (信じる力 奇跡起こすこと)
看板Programming
標題Re: [問題] C語言求三次多項式定積分
時間Mon Nov 11 20:42:14 2019
※ 引述《cra2y37037 (30奈米)》之銘言:
: 小弟剛開始學寫C,
: 最近解題遇到了一些困難QQ
: 有一題是要求三次多項式在區域x1-x2的定積分,
: 如下圖:
: https://i.imgur.com/YNFM6NJ.jpg
: 但不知道為什麼,
: 求出來的定積分總是會有錯,
: 例如輸入
: 三次方係數=0.01
: 二次方係數=0.3
: 一次方係數=1
: 二次方係數=-1
: 在x1=5,x2=0的區域求定積分,
: https://i.imgur.com/us0LJe8.jpg
: 定積分的值是cal2-cal1,
: 這樣算出來就又問題,
: 想請問是不是我紅底的那部分寫錯,
: 導致電腦運算的邏輯和實際上不同?
cal2 =
1/4*Cef3*pow(x2,4) +
1/3*Cef2*
(x2,3) +
1/2*Cef1*pow(x2,2) + Cef0*x2;
綠色這裡你做的是整數除以整數,會得到整商而不是浮點數
所以你這裡除下去會變成 0;要得到浮點數值請寫浮點數相除
一個方法是加上 .0,寫成 1.0/4.0 之類的
C 語言在看到數字裡有個小數點就會把它視為浮點數
黃色這裡我這樣標了你應該看得出來錯在哪裡 XD
至於為什麼這樣還能算你暫時可以先不用管
--
Ace Snake Santa Clover Junpei June Seven Lotus 9th man cabin kitchen casino
shower operating room laboratory T H E chart captain quarter confinement
torture room steam engine room cargo chapel library study incinerator Gigantic
Q director office security N O N A R Y archives control laboratory
pec treatment garden pantry gaulem bay rec room crew quarters infirmary lounge
elevator Tenmyouji Quark Dio G A M E S Luna Phi Sigma Alice Clover K
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 180.177.3.123 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Programming/M.1573476137.A.78C.html
→ cra2y37037: 原來如此!太感謝你了~~ 1.172.236.205 11/11 21:09
→ cra2y37037: 黃色部份真的是一個演慘少看到哈哈, 1.172.236.205 11/11 21:11
→ cra2y37037: 太感謝ㄌOrz 1.172.236.205 11/11 21:11
→ chuegou: 為什麼原文要刪掉= = 223.136.59.216 11/12 16:50
推 s4300026: LP大大好眼熟... 42.73.235.147 11/17 10:01