Re: [問題] 解二元二次方程式

看板Python作者 (低史耐爾)時間14年前 (2011/11/04 18:28), 編輯推噓2(205)
留言7則, 2人參與, 最新討論串2/2 (看更多)
※ 引述《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
不過,除了這個以外,這樣的公式python裡面似乎只output
11/04 20:05, 2F

11/04 20:05, , 3F
出正值,另一個根出不來耶~
11/04 20:05, 3F

11/04 20:08, , 4F
把 -ax 後面的 + 改成 - 就是另外一個解了
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
文章代碼(AID): #1EixvMU_ (Python)
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
文章代碼(AID): #1EixvMU_ (Python)