import numpy as np
創新互聯建站服務項目包括天臺網站建設、天臺網站制作、天臺網頁制作以及天臺網絡營銷策劃等。多年來,我們專注于互聯網行業,利用自身積累的技術優勢、行業經驗、深度合作伙伴關系等,向廣大中小型企業、政府機構等提供互聯網行業的解決方案,天臺網站推廣取得了明顯的社會效益與經濟效益。目前,我們服務的客戶以成都為中心已經輻射到天臺省份的部分城市,未來相信會繼續擴大服務區域并繼續獲得客戶的支持與信任!
def solve_quad(a,b,c):
if a == 0:
print('您輸入的不是二次方程!')
else:
delta = b*b-4*a*c
x = -b/(2*a)
if delta == 0:
print('方程有惟一解,X=%f'%(x))
return x
elif delta 0:
x1 = x-np.sqrt(delta)/(2*a)
x2 = x+np.sqrt(delta)/(2*a)
print('方程有兩個實根:X1=%f,X2=%f'%(x1,x2))
return x1,x2
else:
x1 = (-b+complex(0,1)*np.sqrt((-1)*delta))/(2*a)
x2 = (-b-complex(0,1)*np.sqrt((-1)*delta))/(2*a)
print(x1,x2)
return x1,x2
Python
是完全面向對象的語言。函數、模塊、數字、字符串都是對象。并且完全支持繼承、重載、派生、多繼承,有益于增強源代碼的復用性。Python支持重載運算符和動態類型。相對于Lisp這種傳統的函數式編程語言,Python對函數式設計只提供了有限的支持。有兩個標準庫(functools, itertools)提供了Haskell和Standard ML中久經考驗的函數式程序設計工具。
方法/步驟
用Python解數學方程,需要用到Python的一個庫——SymPy庫。
SymPy是符號數學的Python庫,它的目標是成為一個全功能的計算機代數系統,同時保持代碼簡潔、易于理解和擴展。
如果你的電腦上還沒有安裝sympy庫,那就趕緊安裝吧,安裝命令:
pip3 install sympy
請點擊輸入圖片描述
先來解一個簡單點的方程吧。
題目: 5x + 20 = 100
先直接上代碼:
from sympy import *
x = Symbol('x')
print(solve([5*x + 20 - 100], [x]))
請點擊輸入圖片描述
再來一個復雜點的二元一次方程吧。
題目:3x + 4y =49,?8x- y = 14
代碼如下:
from sympy import *
x = Symbol('x')
y = Symbol('y')
print(solve([3*x + 4*y - 49, 8*x - y - 14], [x, y]))
請點擊輸入圖片描述
有沒有發現規律呢,簡單總結一下:
1)變量賦值,使用symbol函數轉換;
2)將方程式移到方程的左邊,使右邊等于0;
3)使用solve函數解方程。
當然了,python的基礎語法必須掌握,至少需要掌握python最基礎的算數運算符。
+ ?加 ---- 兩個對象相加
- ?減 ----- 得到負數或是一個數減去另一個數
* ?乘 ----- 兩個數相乘或是返回一個被重復若干次的字符串
/ ?除 ----- x 除以 y
% ?取模 ----- 返回除法的余數
** ?冪 ----- 返回x的y次冪
log() ?對數-----對數 log()
下面來個難度大點的方程。
請點擊輸入圖片描述
代碼如下:
from sympy import *
t = Symbol('t')
x = Symbol('x')
m = integrate(sin(t)/(pi-t), (t, 0, x))
print(integrate(m, (x, 0, pi)))
請點擊輸入圖片描述
import?numpy?as?np
def?solve_quad(a,b,c):
if?a?==?0:
print('您輸入的不是二次方程!')
else:
delta?=?b*b-4*a*c
x?=?-b/(2*a)
if?delta?==?0:
print('方程有惟一解,X=%f'%(x))
return?x
elif?delta??0:
x1?=?x-np.sqrt(delta)/(2*a)
x2?=?x+np.sqrt(delta)/(2*a)
print('方程有兩個實根:X1=%f,X2=%f'%(x1,x2))
return?x1,x2
else:
x1?=?(-b+complex(0,1)*np.sqrt((-1)*delta))/(2*a)
x2?=?(-b-complex(0,1)*np.sqrt((-1)*delta))/(2*a)
print('方程有兩個虛根,如下所示:')
print(x1,x2)
return?x1,x2
import math
a=int(input('請輸入a的值:'))
b=int(input('請輸入b的值:'))
c=int(input('請輸入c的值:'))
derta=(b**2-4*a*c)
if a == 0:
print('您輸入的a為0,方程ax^2+bx+c=0不能作為一元二次方程')
elif derta0:
print('方程無實數解')
elif derta==0:
print('方程有解,有一個實數解:')
print(b*(-1)/(a*2))
else:
print('方程有解,有兩個實數解:')
print((-1*b+math.sqrt(derta))/2*a)
print((-1*b-math.sqrt(derta))/2*a)
本文標題:python函數解方程,python解數學方程
瀏覽地址:http://vcdvsql.cn/article34/dsigsse.html
成都網站建設公司_創新互聯,為您提供響應式網站、面包屑導航、做網站、網站維護、網站營銷、標簽優化
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯