[問題] matplotlib在數據下積分

看板Python作者 (sam)時間9年前 (2016/03/13 02:11), 9年前編輯推噓6(604)
留言10則, 4人參與, 最新討論串1/1
就是小弟目前有一筆實驗數據 但沒有其方程式 用matplotlib做出圖大概長這樣 http://imgur.com/WhLEnjV
由於沒有方程式,不曉得該如何積分@@ 我主要是要找一條鉛直線 使得左邊曲線以下面積跟右邊曲線以上面積一樣大 但遇到積分就卡了 google大部分都是要先有f(x)才能積分做圖的 請問有沒有辦法呢? 謝謝大家 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.112.4.209 ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1457806260.A.543.html

03/13 02:16, , 1F
哈哈 大膽推測這是物冶作業XD
03/13 02:16, 1F

03/13 02:51, , 2F
可以試試scipy.optimize.curvefit把方程式逼近出來後,
03/13 02:51, 2F

03/13 02:51, , 3F
用個while迴圈之類的把matano interface 找出來
03/13 02:51, 3F

03/13 03:05, , 4F
也可以考慮整條曲線下面積=matano interface 右邊大矩形
03/13 03:05, 4F

03/13 03:05, , 5F
面積,來求答案
03/13 03:05, 5F
終於有關鍵字了!Google 都得到bumpy,scipy 底下的一堆class,根本無法下手QQ,感謝 stan大,它的確是物冶哈哈

03/13 15:33, , 6F
數值積分+辛普森法 餵狗
03/13 15:33, 6F
辛普森法不用有原先方程式嗎? ※ 編輯: sam122094 (101.13.160.29), 03/13/2016 16:32:01

03/13 22:50, , 7F
scipy.integrate的Integrating using Samples
03/13 22:50, 7F

03/17 02:15, , 8F
numpy.trapz 把每個數據點都積一遍
03/17 02:15, 8F

03/17 02:15, , 9F
然後numpy.interp1d找出50%面積的x值
03/17 02:15, 9F

03/17 02:16, , 10F
當然數據量如果很大你就binary search去猜吧
03/17 02:16, 10F
文章代碼(AID): #1Mv5kqL3 (Python)
文章代碼(AID): #1Mv5kqL3 (Python)