寫個例子吧,需要安裝numpy數(shù)學庫
專注于為中小企業(yè)提供成都網(wǎng)站建設(shè)、網(wǎng)站制作服務(wù),電腦端+手機端+微信端的三站合一,更高效的管理,為中小企業(yè)建水免費做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動了超過千家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設(shè)實現(xiàn)規(guī)模擴充和轉(zhuǎn)變。
#!/usr/bin/python
import
numpy
as
np
#求解方程x^2+2x+1=0的根
#方程參數(shù)列表抽象成一下形式:
arg=[1,
2,
1]
#求解
np.roots(args)
運行即可求解了,如果沒有實根會給虛根的結(jié)果
首先我們先來了解一下計算平均數(shù)的IPO模式.
輸入:待輸入計算平均數(shù)的數(shù)。
處理:平均數(shù)算法
輸出:平均數(shù)
明白了程序的IPO模式之后,我們打開本地的python的IDE
工具,并新建一個python文件,命名為test6.py.
請點擊輸入圖片描述
請點擊輸入圖片描述
請點擊輸入圖片描述
打開test6.py,進行編碼,第一步,提示用戶輸入要計算多少個數(shù)的平均數(shù)。
請點擊輸入圖片描述
第二步,初始化sum總和的值。注意,這是編碼的好習慣,在定義一個變量的時候,給一個初始值。
請點擊輸入圖片描述
第三步,循環(huán)輸入要計算平均數(shù)的數(shù),并計算總和sum的值。
請點擊輸入圖片描述
最后,計算出平均數(shù),并輸出,利用“總和/數(shù)量”的公式計算出平均數(shù)。
請點擊輸入圖片描述
編碼完成后,記得保存,然后進行調(diào)試運行。按F5鍵或者點擊菜單欄中的“run”-》“run model”來運行程序。
請點擊輸入圖片描述
請點擊輸入圖片描述
函數(shù)定義:
Common_multiple(number1, number2):? # 求兩個數(shù)的最小公倍數(shù)
Maximum_common_divisor(*number):? # 求任意多個數(shù)的最小公倍數(shù)
Minimum_common_multiple(*number):? # 求任意多個數(shù)的最大公因數(shù)
程序縮進如下:
程序縮進
運行結(jié)果展示:
運行結(jié)果
函數(shù)具體代碼:縮進版本點擊自取
def Common_multiple(number1, number2):? # 求兩個數(shù)的最小公倍數(shù)
while number1 % number2 != 0:
number1, number2 = number2, (number1 % number2)
return number2
def Maximum_common_divisor(*number):? # 求任意多個數(shù)的最小公倍數(shù)
while len(number) 1:
number = [Common_multiple(number[i], number[i+1]) for i in range(0, len(number)-1)]
return number[0]
def Minimum_common_multiple(*number):? # 求任意多個數(shù)的最大公因數(shù)
while len(number) 1:
number = [number[i]*number[i+1]/Common_multiple(number[i], number[i+1]) for i in range(0, len(number)-1)]
return number[0]
(1)由表中可知f(x)在(0,2]為減函數(shù),
[2,+∞)為增函數(shù),并且當x=2時,f(x)min=5.
(2)證明:設(shè)0<x1<x2≤2,
因為f(x1)-f(x2)=2x1+
8
x1
-3-(2x2+
8
x2
-3)=2(x1-x2)+
8(x2?x1)
x1x2
=
2(x1?x2)(x1x2?4)
x1x2
,
因為0<x1<x2≤2,所以x1-x2<0,0<x1x2<4,即x1x2-4<0,
所以f(x1)-f(x2)>0,即f(x1)>f(x2),所以f(x)在(0,2]為減函數(shù).
(3)由(2)可證:函數(shù)f(x)=2x+
8
x
-3在區(qū)間(0,2]上單調(diào)遞減,在區(qū)間[2,+∞)上單調(diào)遞增.
則①當0<a<2時,(0,a]?(0,2],所以函數(shù)f(x)=2x+
8
x
-3在區(qū)間(0,a]上單調(diào)遞減,
故f(x)min=f(a)=2a+
8
a
-3.
②當a≥2時,函數(shù)f(x)=2x+
8
x
-3在區(qū)間(0,2]上單調(diào)遞減,[2,a]上單調(diào)遞增,
故f(x)min=f(2)=5.
綜上所述,函數(shù)f(x)=2x+
8
x
-3在區(qū)間(0,a]上的最小值為 g(a)=
2a+
8
a
?3,0<a<2
5,a≥2
python有個符號計算的庫叫sympy,可以直接用這個庫求導數(shù)然后解導數(shù)=0的方程,參考代碼如下:
from sympy import *
x = symbols('x')
y = (x-3)**2+2*sin(x)-3*x+1
eq = diff(y, x)
solve(eq, x)
方法/步驟
用Python解數(shù)學方程,需要用到Python的一個庫——SymPy庫。
SymPy是符號數(shù)學的Python庫,它的目標是成為一個全功能的計算機代數(shù)系統(tǒng),同時保持代碼簡潔、易于理解和擴展。
如果你的電腦上還沒有安裝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]))
請點擊輸入圖片描述
有沒有發(fā)現(xiàn)規(guī)律呢,簡單總結(jié)一下:
1)變量賦值,使用symbol函數(shù)轉(zhuǎn)換;
2)將方程式移到方程的左邊,使右邊等于0;
3)使用solve函數(shù)解方程。
當然了,python的基礎(chǔ)語法必須掌握,至少需要掌握python最基礎(chǔ)的算數(shù)運算符。
+ ?加 ---- 兩個對象相加
- ?減 ----- 得到負數(shù)或是一個數(shù)減去另一個數(shù)
* ?乘 ----- 兩個數(shù)相乘或是返回一個被重復若干次的字符串
/ ?除 ----- x 除以 y
% ?取模 ----- 返回除法的余數(shù)
** ?冪 ----- 返回x的y次冪
log() ?對數(shù)-----對數(shù) 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)))
請點擊輸入圖片描述