Re: [問題] 解二元二次方程式
※ 引述《tacosung (taco)》之銘言:
: 大家好~
: 我目前也是python的初學者~
: 想試試看用python來解二元二次方程式
: x^2 + axy + b*y^2 = c
: 所以 y**2 = (c-x**2)/((a*x)/y + b)
: 除了y值不知道,x值為0,5,10,15...230
: 其他值都已知
: 想要寫一個程式可以一次跑出所有x值相對應的y
: 可是我卡住了...
: 我只會寫到以下:
: from __future__ import division
: a = -1.335548173
: b = 1.107099143
: c = 32400
: for x in range(231):
: if x % 20 == 0:
: print y # 我不知道該怎麼讓python自動算出相對應的y值
: 聽說可以用牛頓法? 因為這個y值有正負值
: 可是我不太知道可以怎麼使用..
: 可以請各位提供意見嗎?
: 先謝謝大家
和 python 沒什麼關係 XD
如果只有 y 是要求的未知數的話,
把方程式整理一下就得到:
(b)y^2 + (ax)y + (x^2 - c) = 0 (括號內為已知數,視為常數)
有沒有很熟?這是一元二次方程式,直接套公式解就可以了。
套下去的結果:
-ax +- √(a^2 * x^2 - 4b * (x^2 - c))
y = ──────────────────
2b
= (-ax + sqrt(a**2 * x**2 - 4 * b * (x**2 - c) ) ) / ( 2 * b )
還沒驗證過,不過大概的概念是這樣,
可以試看看 0.0/
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.138.152.175
推
11/04 20:04, , 1F
11/04 20:04, 1F
→
11/04 20:05, , 2F
11/04 20:05, 2F
→
11/04 20:05, , 3F
11/04 20:05, 3F
→
11/04 20:08, , 4F
11/04 20:08, 4F
推
11/04 20:14, , 5F
11/04 20:14, 5F
→
11/04 20:15, , 6F
11/04 20:15, 6F
→
11/04 20:15, , 7F
11/04 20:15, 7F
討論串 (同標題文章)
Python 近期熱門文章
PTT數位生活區 即時熱門文章