看板 Python 關於我們 聯絡資訊
各位大大好 我想繪製雙曲線搭配貫軸、共軛軸及漸近線。 因為背景知識只有 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
tn00364361: 你覺得你貼上來的code可以執行?06/21 08:49
※ 編輯: cj10243 (110.28.65.116), 06/21/2017 09:15:53
APM99: theta 取的不好 ,theta的含意很特別 06/21 12:06
APM99: 想要得到你想要的結果,直接把theta當成普通參數取實數即可 06/21 12:07
cj10243: 請問A大意思是把theta 改成別的變數例如t? 06/21 12:34
APM99: 參數名稱不重要阿 你把值取 -100~100 就可以了(100有點大 06/21 12:37
APM99: 你看wiki的雙曲線 它們很快就貼近了漸進線 06/21 12:38
APM99: 你這篇畫的圖沒大問題 因為雙曲線「看起來」就是直線 06/21 12:38
cj10243: 了解,我嘗試透過增加dpi改變彎曲程度,但圖還是很直 06/21 15:58
cj10243: 所以真的如A大所說只能畫出看起來很直的雙曲線嗎? 06/21 16:00
cj10243: 還是有什麼關鍵字呢?感謝 06/21 16:00
APM99: 你需要做的是設定x,y軸 例如 plt.axis([-5, 5, -5, 5]) 06/21 16:32
APM99: 把圖的x軸,y軸設在 -5~5之間 它就會是曲線 06/21 16:32
APM99: 之外的範圍呢?它「看起來」就會是直線,雙曲線長的就是這樣 06/21 16:33
APM99: 建議 1.設定x,y軸 2.修正theta數值 3.你需要另一半的雙曲 06/21 16:34
APM99: 線疊圖 . 你引用的公式中 cosh 恆正,所以你只會有單曲線 06/21 16:35
APM99: <不要對雙曲線有 曲線的幻想 現實是殘酷的,可以試求斜率> 06/21 16:41
APM99: theta = np.arange(-2*np.pi, 2*np.pi, np.pi/100) 06/21 16:49