import numpy as np
創新互聯是少有的網站設計、成都網站制作、營銷型企業網站、成都小程序開發、手機APP,開發、制作、設計、賣友情鏈接、推廣優化一站式服務網絡公司,成立與2013年,堅持透明化,價格低,無套路經營理念。讓網頁驚喜每一位訪客多年來深受用戶好評
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求標準的一元二次方程的解###############
a,b,c= map(float,input("請輸入aX^2+bX+c=0,函數中的三個參數:(空格隔開)").split())
###使用公式b^2-4ac判定是否有解b^2-4ac####
i=b*b-4*a*c
if i0:
print("該方程無實數解!")
elif i==0:
print("該方程解為:%.2f"%((-1)*b/(2*a)))#有一個解
else:
print("該方程解為:%.2f或%.2f"%((((-1)*b+i**0.5)/(2*a)),(((-1)*b-i**0.5)/(2*a))))
該方法運用是運用公式求解,保留兩位小數,只能求實數解,供參考,有問題可追問
1、點擊鍵盤win+r,打開運行窗口;在窗口中輸入cmd",點擊確定,打開windows命令行窗口。
2、在cmd命令行窗口中輸入"python",進入python交互窗口。
3、引入matplotlib模塊的pyplot()函數,并重命名為py;引入numpy模塊,并重命名為np。
4、使用函數np.arrange(start,end,step)創建變量x的取值范圍,是一個一維數組,使用y=3*x+1,創建y是與自變量x相對應的一維數組。
5、使用函數plt.plot(x,y)繪制一元一次函數y=3x+1的函數圖像。
6、使用函數plt.title()給圖像添加標題,使用函數plt.xlabel()給橫軸添加標簽,使用函數plt.ylabel()給縱軸添加標簽,使用函數plt.tick_params()設置刻度標記的大小。
7、使用函數plt.show()顯示整個一元一次函數的圖像。
寫個例子吧,需要安裝numpy數學庫
#!/usr/bin/python
import
numpy
as
np
#求解方程x^2+2x+1=0的根
#方程參數列表抽象成一下形式:
arg=[1,
2,
1]
#求解
np.roots(args)
運行即可求解了,如果沒有實根會給虛根的結果
編程最好的方法就是實踐,當你能處理絕大多數例子之后,你會發現很多難懂的概念也就自然的解決了。python編程最好的方法就是實踐,當你能處理絕大多數例子之后,你會發現很多難懂的概念也就自然的解決了。
一元二次方程為:ax^2+bx+c=0
我們先編寫一個最簡單的版本,我們成功的計算除了數值。下面這個程序不適合復數形式
def?solve(eq,var='x'):
eq1?=?eq.replace("=","-(")+")"
c?=?eval(eq1,{var:1j})
return?-c.real/c.imag
solve('2*x=5',?'x')
2.5
本文題目:python解一元函數 python解一元方程
當前地址:http://m.kartarina.com/article8/hjocip.html
成都網站建設公司_創新互聯,為您提供網站維護、全網營銷推廣、App開發、網站內鏈、軟件開發、網站建設
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯