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