[問題] 繪製雙曲線

看板Python作者 (cj)時間7年前 (2017/06/21 00:50), 7年前編輯推噓2(3113)
留言17則, 3人參與, 最新討論串1/1
各位大大好 我想繪製雙曲線搭配貫軸、共軛軸及漸近線。 因為背景知識只有 X^2 Y^2 ▁▁▁ - ▁▁▁ = 1 a^2 b^2 我參考了維基百科雙曲線參數式 利用x=a*cosh(t) + t y=b*sinh(t) + k 寫了以下的code import matplotlib.pyplot as plt import numpy as np theta = np.arange(0, 2*np.pi, np.pi/100) a,b = 4,2 x = a * np.sinh(theta) y = b * np.cosh(theta) plt.plot(x,y)  卻是斜直線的結果 http://imgur.com/a/EPT4F 想知道原因為何且該如何修正? 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.226.172.39 ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1497977402.A.29D.html

06/21 08:49, , 1F
你覺得你貼上來的code可以執行?
06/21 08:49, 1F
※ 編輯: cj10243 (110.28.65.116), 06/21/2017 09:15:53

06/21 12:06, , 2F
theta 取的不好 ,theta的含意很特別
06/21 12:06, 2F

06/21 12:07, , 3F
想要得到你想要的結果,直接把theta當成普通參數取實數即可
06/21 12:07, 3F

06/21 12:34, , 4F
請問A大意思是把theta 改成別的變數例如t?
06/21 12:34, 4F

06/21 12:37, , 5F
參數名稱不重要阿 你把值取 -100~100 就可以了(100有點大
06/21 12:37, 5F

06/21 12:38, , 6F
你看wiki的雙曲線 它們很快就貼近了漸進線
06/21 12:38, 6F

06/21 12:38, , 7F
你這篇畫的圖沒大問題 因為雙曲線「看起來」就是直線
06/21 12:38, 7F

06/21 15:58, , 8F
了解,我嘗試透過增加dpi改變彎曲程度,但圖還是很直
06/21 15:58, 8F

06/21 16:00, , 9F
所以真的如A大所說只能畫出看起來很直的雙曲線嗎?
06/21 16:00, 9F

06/21 16:00, , 10F
還是有什麼關鍵字呢?感謝
06/21 16:00, 10F

06/21 16:32, , 11F
你需要做的是設定x,y軸 例如 plt.axis([-5, 5, -5, 5])
06/21 16:32, 11F

06/21 16:32, , 12F
把圖的x軸,y軸設在 -5~5之間 它就會是曲線
06/21 16:32, 12F

06/21 16:33, , 13F
之外的範圍呢?它「看起來」就會是直線,雙曲線長的就是這樣
06/21 16:33, 13F

06/21 16:34, , 14F
建議 1.設定x,y軸 2.修正theta數值 3.你需要另一半的雙曲
06/21 16:34, 14F

06/21 16:35, , 15F
線疊圖 . 你引用的公式中 cosh 恆正,所以你只會有單曲線
06/21 16:35, 15F

06/21 16:41, , 16F
<不要對雙曲線有 曲線的幻想 現實是殘酷的,可以試求斜率>
06/21 16:41, 16F

06/21 16:49, , 17F
theta = np.arange(-2*np.pi, 2*np.pi, np.pi/100)
06/21 16:49, 17F
文章代碼(AID): #1PIL8wAT (Python)