python求函數(shù)的解 python方程求解

用python如何得到一個(gè)方程的多個(gè)解

方法/步驟

創(chuàng)新互聯(lián)是一家專業(yè)提供秦皇島企業(yè)網(wǎng)站建設(shè),專注與成都做網(wǎng)站、網(wǎng)站制作、HTML5建站、小程序制作等業(yè)務(wù)。10年已為秦皇島眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站制作公司優(yōu)惠進(jìn)行中。

用Python解數(shù)學(xué)方程,需要用到Python的一個(gè)庫——SymPy庫。

SymPy是符號(hào)數(shù)學(xué)的Python庫,它的目標(biāo)是成為一個(gè)全功能的計(jì)算機(jī)代數(shù)系統(tǒng),同時(shí)保持代碼簡潔、易于理解和擴(kuò)展。

如果你的電腦上還沒有安裝sympy庫,那就趕緊安裝吧,安裝命令:

pip3 install sympy

請(qǐng)點(diǎn)擊輸入圖片描述

先來解一個(gè)簡單點(diǎn)的方程吧。

題目: 5x + 20 = 100

先直接上代碼:

from sympy import *

x = Symbol('x')

print(solve([5*x + 20 - 100], [x]))

請(qǐng)點(diǎn)擊輸入圖片描述

再來一個(gè)復(fù)雜點(diǎn)的二元一次方程吧。

題目: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]))

請(qǐng)點(diǎn)擊輸入圖片描述

有沒有發(fā)現(xiàn)規(guī)律呢,簡單總結(jié)一下:

1)變量賦值,使用symbol函數(shù)轉(zhuǎn)換;

2)將方程式移到方程的左邊,使右邊等于0;

3)使用solve函數(shù)解方程。

當(dāng)然了,python的基礎(chǔ)語法必須掌握,至少需要掌握python最基礎(chǔ)的算數(shù)運(yùn)算符。

+ ?加 ---- 兩個(gè)對(duì)象相加

- ?減 ----- 得到負(fù)數(shù)或是一個(gè)數(shù)減去另一個(gè)數(shù)

* ?乘 ----- 兩個(gè)數(shù)相乘或是返回一個(gè)被重復(fù)若干次的字符串

/ ?除 ----- x 除以 y

% ?取模 ----- 返回除法的余數(shù)

** ?冪 ----- 返回x的y次冪

log() ?對(duì)數(shù)-----對(duì)數(shù) log()

下面來個(gè)難度大點(diǎn)的方程。

請(qǐng)點(diǎn)擊輸入圖片描述

代碼如下:

from sympy import *

t = Symbol('t')

x = Symbol('x')

m = integrate(sin(t)/(pi-t), (t, 0, x))

print(integrate(m, (x, 0, pi)))

請(qǐng)點(diǎn)擊輸入圖片描述

怎么用python解一元高次函數(shù)

寫個(gè)例子吧,需要安裝numpy數(shù)學(xué)庫

#!/usr/bin/python

import numpy as np

#求解方程x^2+2x+1=0的根

#方程參數(shù)列表抽象成一下形式:

arg=[1, 2, 1]

#求解

np.roots(args)

運(yùn)行即可求解了,如果沒有實(shí)根會(huì)給虛根的結(jié)果

python怎么求解一元二次方程的根?

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('方程有兩個(gè)實(shí)根: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

是完全面向?qū)ο蟮恼Z言。函數(shù)、模塊、數(shù)字、字符串都是對(duì)象。并且完全支持繼承、重載、派生、多繼承,有益于增強(qiáng)源代碼的復(fù)用性。Python支持重載運(yùn)算符和動(dòng)態(tài)類型。相對(duì)于Lisp這種傳統(tǒng)的函數(shù)式編程語言,Python對(duì)函數(shù)式設(shè)計(jì)只提供了有限的支持。有兩個(gè)標(biāo)準(zhǔn)庫(functools, itertools)提供了Haskell和Standard ML中久經(jīng)考驗(yàn)的函數(shù)式程序設(shè)計(jì)工具。

當(dāng)前文章:python求函數(shù)的解 python方程求解
當(dāng)前網(wǎng)址:http://www.muchs.cn/article22/hggicc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站內(nèi)鏈、商城網(wǎng)站品牌網(wǎng)站設(shè)計(jì)、外貿(mào)建站、移動(dòng)網(wǎng)站建設(shè)、企業(yè)網(wǎng)站制作

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

微信小程序開發(fā)