伽馬函數(shù)python畫圖 python繪制函數(shù)圖

統(tǒng)計學(xué)入門級:常見概率分布+python繪制分布圖

如果隨機變量X的所有取值都可以逐個列舉出來,則稱X為離散型隨機變量。相應(yīng)的概率分布有二項分布,泊松分布。

10年積累的成都網(wǎng)站建設(shè)、成都網(wǎng)站制作經(jīng)驗,可以快速應(yīng)對客戶對網(wǎng)站的新想法和需求。提供各種問題對應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認識你,你也不認識我。但先網(wǎng)站設(shè)計后付款的網(wǎng)站建設(shè)流程,更有漠河免費網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。

如果隨機變量X的所有取值無法逐個列舉出來,而是取數(shù)軸上某一區(qū)間內(nèi)的任一點,則稱X為連續(xù)型隨機變量。相應(yīng)的概率分布有正態(tài)分布,均勻分布,指數(shù)分布,伽馬分布,偏態(tài)分布,卡方分布,beta分布等。(真多分布,好恐怖~~)

在離散型隨機變量X的一切可能值中,各可能值與其對應(yīng)概率的乘積之和稱為該隨機變量X的期望值,記作E(X) 。比如有隨機變量,取值依次為:2,2,2,4,5。求其平均值:(2+2+2+4+5)/5 = 3。

期望值也就是該隨機變量總體的均值。 推導(dǎo)過程如下:

= (2+2+2+4+5)/5

= 1/5 2 3 + 4/5 + 5/5

= 3/5 2 + 1/5 4 + 1/5 5

= 0.6 2 + 0.2 4 + 0.2 5

= 60% 2 + 20% 4 + 20%*5

= 1.2 + 0.8 + 1

= 3

倒數(shù)第三步可以解釋為值為2的數(shù)字出現(xiàn)的概率為60%,4的概率為20%,5的概率為20%。 所以E(X) = 60% 2 + 20% 4 + 20%*5 = μ = 3。

0-1分布(兩點分布),它的隨機變量的取值為1或0。即離散型隨機變量X的概率分布為:P{X=0} = 1-p, P{X=1} = p,即:

則稱隨機變量X服從參數(shù)為p的0-1分布,記作X~B(1,p)。

在生活中有很多例子服從兩點分布,比如投資是否中標,新生嬰兒是男孩還是女孩,檢查產(chǎn)品是否合格等等。

大家非常熟悉的拋硬幣試驗對應(yīng)的分布就是二項分布。拋硬幣試驗要么出現(xiàn)正面,要么就是反面,只包含這兩個結(jié)果。出現(xiàn)正面的次數(shù)是一個隨機變量,這種隨機變量所服從的概率分布通常稱為 二項分布 。

像拋硬幣這類試驗所具有的共同性質(zhì)總結(jié)如下:(以拋硬幣為例)

通常稱具有上述特征的n次重復(fù)獨立試驗為n重伯努利試驗。簡稱伯努利試驗或伯努利試驗概型。特別地,當試驗次數(shù)為1時,二項分布服從0-1分布(兩點分布)。

舉個栗子:拋3次均勻的硬幣,求結(jié)果出現(xiàn)有2個正面的概率 。

已知p = 0.5 (出現(xiàn)正面的概率) ,n = 3 ,k = 2

所以拋3次均勻的硬幣,求結(jié)果出現(xiàn)有2個正面的概率為3/8。

二項分布的期望值和方差 分別為:

泊松分布是用來描述在一 指定時間范圍內(nèi)或在指定的面積或體積之內(nèi)某一事件出現(xiàn)的次數(shù)的分布 。生活中服從泊松分布的例子比如有每天房產(chǎn)中介接待的客戶數(shù),某微博每月出現(xiàn)服務(wù)器癱瘓的次數(shù)等等。 泊松分布的公式為 :

其中 λ 為給定的時間間隔內(nèi)事件的平均數(shù),λ = np。e為一個數(shù)學(xué)常數(shù),一個無限不循環(huán)小數(shù),其值約為2.71828。

泊松分布的期望值和方差 分別為:

使用Python繪制泊松分布的概率分布圖:

因為連續(xù)型隨機變量可以取某一區(qū)間或整個實數(shù)軸上的任意一個值,所以通常用一個函數(shù)f(x)來表示連續(xù)型隨機變量,而f(x)就稱為 概率密度函數(shù) 。

概率密度函數(shù)f(x)具有如下性質(zhì) :

需要注意的是,f(x)不是一個概率,即f(x) ≠ P(X = x) 。在連續(xù)分布的情況下,隨機變量X在a與b之間的概率可以寫成:

正態(tài)分布(或高斯分布)是連續(xù)型隨機變量的最重要也是最常見的分布,比如學(xué)生的考試成績就呈現(xiàn)出正態(tài)分布的特征,大部分成績集中在某個范圍(比如60-80分),很小一部分往兩端傾斜(比如50分以下和90多分以上)。還有人的身高等等。

正態(tài)分布的定義 :

如果隨機變量X的概率密度為( -∞x+∞):

則稱X服從正態(tài)分布,記作X~N(μ,σ2)。其中-∞μ+∞,σ0, μ為隨機變量X的均值,σ為隨機變量X的標準差。 正態(tài)分布的分布函數(shù)

正態(tài)分布的圖形特點 :

使用Python繪制正態(tài)分布的概率分布圖:

正態(tài)分布有一個3σ準則,即數(shù)值分布在(μ-σ,μ+σ)中的概率為0.6827,分布在(μ-2σ,μ+2σ)中的概率為0.9545,分布在(μ-3σ,μ+3σ)中的概率為0.9973,也就是說大部分數(shù)值是分布在(μ-3σ,μ+3σ)區(qū)間內(nèi),超出這個范圍的可能性很小很小,僅占不到0.3%,屬于極個別的小概率事件,所以3σ準則可以用來檢測異常值。

當μ=0,σ=1時,有

此時的正態(tài)分布N(0,1) 稱為標準正態(tài)分布。因為μ,σ都是確定的取值,所以其對應(yīng)的概率密度曲線是一條 形態(tài)固定 的曲線。

對標準正態(tài)分布,通常用φ(x)表示概率密度函數(shù),用Φ(x)表示分布函數(shù):

假設(shè)有一次物理考試特別難,滿分100分,全班只有大概20個人及格。與此同時語文考試很簡單,全班絕大部分都考了90分以上。小明的物理和語文分別考了60分和80分,他回家后告訴家長,這時家長能僅僅從兩科科目的分值直接判斷出這次小明的語文成績要比物理好很多嗎?如果不能,應(yīng)該如何判斷呢?此時Z-score就派上用場了。 Z-Score的計算定義 :

即 將隨機變量X先減去總體樣本均值,再除以總體樣本標準差就得到標準分數(shù)啦。如果X低于平均值,則Z為負數(shù),反之為正數(shù) 。通過計算標準分數(shù),可以將任何一個一般的正態(tài)分布轉(zhuǎn)化為標準正態(tài)分布。

小明家長從老師那得知物理的全班平均成績?yōu)?0分,標準差為10,而語文的平均成績?yōu)?2分,標準差為4。分別計算兩科成績的標準分數(shù):

物理:標準分數(shù) = (60-40)/10 = 2

語文:標準分數(shù) = (85-95)/4 = -2.5

從計算結(jié)果來看,說明這次考試小明的物理成績在全部同學(xué)中算是考得很不錯的,而語文考得很差。

指數(shù)分布可能容易和前面的泊松分布混淆,泊松分布強調(diào)的是某段時間內(nèi)隨機事件發(fā)生的次數(shù)的概率分布,而指數(shù)分布說的是 隨機事件發(fā)生的時間間隔 的概率分布。比如一班地鐵進站的間隔時間。如果隨機變量X的概率密度為:

則稱X服從指數(shù)分布,其中的參數(shù)λ0。 對應(yīng)的分布函數(shù) 為:

均勻分布的期望值和方差 分別為:

使用Python繪制指數(shù)分布的概率分布圖:

均勻分布有兩種,分為 離散型均勻分布和連續(xù)型均勻分布 。其中離散型均勻分布最常見的例子就是拋擲骰子啦。拋擲骰子出現(xiàn)的點數(shù)就是一個離散型隨機變量,點數(shù)可能有1,2,3,4,5,6。每個數(shù)出現(xiàn)的概率都是1/6。

設(shè)連續(xù)型隨機變量X具有概率密度函數(shù):

則稱X服從區(qū)間(a,b)上的均勻分布。X在等長度的子區(qū)間內(nèi)取值的概率相同。對應(yīng)的分布函數(shù)為:

f(x)和F(x)的圖形分別如下圖所示:

均勻分布的期望值和方差 分別為:

python3的sympy

print(“字符串”),5/2和5//2的結(jié)果是不同的5/2為2.5,5//2為2.

python2需要導(dǎo)入from_future_import division執(zhí)行普通的除法。

1/2和1//2的結(jié)果0.5和0.

%號為取模運算。

乘方運算為2**3,-2**3和-(2**3)是等價的。

from sympy import*導(dǎo)入庫

x,y,z=symbols('x y z'),定義變量

init_printing(use_unicode=True)設(shè)置打印方式。

python的內(nèi)部常量有pi,

函數(shù)simplify,simplify(sin(x)**2 + cos(x)**2)化簡結(jié)果為1,

simplify((x**3 + x**2 - x - 1)/(x**2 + 2*x + 1))化簡結(jié)果為x-1?;嗁ゑR函數(shù)。simplify(gamma(x)/gamma(x - 2))得(x-2)(x-1)。

expand((x + 1)**2)展開多項式。

expand((x + 1)*(x - 2) - (x - 1)*x)

因式分解。factor(x**2*z + 4*x*y*z + 4*y**2*z)得到z*(x + 2*y)**2

from_future_import division

x,y,z,t=symbols('x y z t')定義變量,

k, m, n = symbols('k m n', integer=True)定義三個整數(shù)變量。

f, g, h = symbols('f g h', cls=Function)定義的類型為函數(shù)。

factor_list(x**2*z + 4*x*y*z + 4*y**2*z)得到一個列表,表示因式的冪,(1, [(z, 1), (x + 2*y, 2)])

expand((cos(x) + sin(x))**2)展開多項式。

expr = x*y + x - 3 + 2*x**2 - z*x**2 + x**3,collected_expr = collect(expr, x)將x合并。將x元素按階次整合。

collected_expr.coeff(x, 2)直接取出變量collected_expr的x的二次冪的系數(shù)。

cancel()is more efficient thanfactor().

cancel((x**2 + 2*x + 1)/(x**2 + x))

,expr = (x*y**2 - 2*x*y*z + x*z**2 + y**2 - 2*y*z + z**2)/(x**2 - 1),cancel(expr)

expr = (4*x**3 + 21*x**2 + 10*x + 12)/(x**4 + 5*x**3 + 5*x**2 + 4*x),apart(expr)

asin(1)

trigsimp(sin(x)**2 + cos(x)**2)三角函數(shù)表達式化簡,

trigsimp(sin(x)**4 - 2*cos(x)**2*sin(x)**2 + cos(x)**4)

trigsimp(sin(x)*tan(x)/sec(x))

trigsimp(cosh(x)**2 + sinh(x)**2)雙曲函數(shù)。

三角函數(shù)展開,expand_trig(sin(x + y)),acos(x),cos(acos(x)),expand_trig(tan(2*x))

x, y = symbols('x y', positive=True)正數(shù),a, b = symbols('a b', real=True)實數(shù),z, t, c = symbols('z t c')定義變量的方法。

sqrt(x) == x**Rational(1, 2)判斷是否相等。

powsimp(x**a*x**b)冪函數(shù)的乘法,不同冪的乘法,必須先定義a和b。powsimp(x**a*y**a)相同冪的乘法。

powsimp(t**c*z**c),注意,powsimp()refuses to do the simplification if it is not valid.

powsimp(t**c*z**c, force=True)這樣的話就可以得到化簡過的式子。聲明強制進行化簡。

(z*t)**2,sqrt(x*y)

第一個展開expand_power_exp(x**(a + b)),expand_power_base((x*y)**a)展開,

expand_power_base((z*t)**c, force=True)強制展開。

powdenest((x**a)**b),powdenest((z**a)**b),powdenest((z**a)**b, force=True)

ln(x),x, y ,z= symbols('x y z', positive=True),n = symbols('n', real=True),

expand_log(log(x*y))展開為log(x) + log(y),但是python3沒有。這是因為需要將x定義為positive。這是必須的,否則不會被展開。expand_log(log(x/y)),expand_log(log(x**n))

As withpowsimp()andpowdenest(),expand_log()has aforceoption that can be used to ignore assumptions。

expand_log(log(z**2), force=True),強制展開。

logcombine(log(x) + log(y)),logcombine(n*log(x)),logcombine(n*log(z), force=True)。

factorial(n)階乘,binomial(n, k)等于c(n,k),gamma(z)伽馬函數(shù)。

hyper([1, 2], [3], z),

tan(x).rewrite(sin)得到用正弦表示的正切。factorial(x).rewrite(gamma)用伽馬函數(shù)重寫階乘。

expand_func(gamma(x + 3))得到,x*(x + 1)*(x + 2)*gamma(x),

hyperexpand(hyper([1, 1], [2], z)),

combsimp(factorial(n)/factorial(n - 3))化簡,combsimp(binomial(n+1, k+1)/binomial(n, k))化簡。combsimp(gamma(x)*gamma(1 - x))

自定義函數(shù)

def list_to_frac(l):

expr = Integer(0)

for i in reversed(l[1:]):

expr += i

expr = 1/expr

return l[0] + expr

list_to_frac([x, y, z])結(jié)果為x + 1/z,這個結(jié)果是錯誤的。

syms = symbols('a0:5'),定義syms,得到的結(jié)果為(a0, a1, a2, a3, a4)。

這樣也可以a0, a1, a2, a3, a4 = syms, 可能是我的操作錯誤 。發(fā)現(xiàn)python和自動縮進有關(guān),所以一定看好自動縮進的距離。list_to_frac([1, 2, 3, 4])結(jié)果為43/30。

使用cancel可以將生成的分式化簡,frac = cancel(frac)化簡為一個分數(shù)線的分式。

(a0*a1*a2*a3*a4 + a0*a1*a2 + a0*a1*a4 + a0*a3*a4 + a0 + a2*a3*a4 + a2 + a4)/(a1*a2*a3*a4 + a1*a2 + a1*a4 + a3*a4 + 1)

a0, a1, a2, a3, a4 = syms定義a0到a4,frac = apart(frac, a0)可將a0提出來。frac=1/(frac-a0)將a0去掉取倒。frac = apart(frac, a1)提出a1。

help("modules"),模塊的含義,help("modules yourstr")模塊中包含的字符串的意思。,

help("topics"),import os.path + help("os.path"),help("list"),help("open")

# -*- coding: UTF-8 -*-聲明之后就可以在ide中使用中文注釋。

定義

l = list(symbols('a0:5'))定義列表得到[a0, a1, a2, a3, a4]

fromsympyimport*

x,y,z=symbols('x y z')

init_printing(use_unicode=True)

diff(cos(x),x)求導(dǎo)。diff(exp(x**2), x),diff(x**4, x, x, x)和diff(x**4, x, 3)等價。

diff(expr, x, y, 2, z, 4)求出表達式的y的2階,z的4階,x的1階導(dǎo)數(shù)。和diff(expr, x, y, y, z, 4)等價。expr.diff(x, y, y, z, 4)一步到位。deriv = Derivative(expr, x, y, y, z, 4)求偏導(dǎo)。但是不顯示。之后用deriv.doit()即可顯示

integrate(cos(x), x)積分。定積分integrate(exp(-x), (x, 0, oo))無窮大用2個oo表示。integrate(exp(-x**2-y**2),(x,-oo,oo),(y,-oo,oo))二重積分。print(expr)print的使用。

expr = Integral(log(x)**2, x),expr.doit()積分得到x*log(x)**2 - 2*x*log(x) + 2*x。

integ.doit()和integ = Integral((x**4 + x**2*exp(x) - x**2 - 2*x*exp(x) - 2*x -

exp(x))*exp(x)/((x - 1)**2*(x + 1)**2*(exp(x) + 1)), x)連用。

limit(sin(x)/x,x,0),not-a-number表示nan算不出來,limit(expr, x, oo),,expr = Limit((cos(x) - 1)/x, x, 0),expr.doit()連用。左右極限limit(1/x, x, 0, '+'),limit(1/x, x, 0, '-')。。

Series Expansion級數(shù)展開。expr = exp(sin(x)),expr.series(x, 0, 4)得到1 + x + x**2/2 + O(x**4),,x*O(1)得到O(x),,expr.series(x, 0, 4).removeO()將無窮小移除。exp(x-6).series(x,x0=6),,得到

-5 + (x - 6)**2/2 + (x - 6)**3/6 + (x - 6)**4/24 + (x - 6)**5/120 + x + O((x - 6)**6, (x, 6))最高到5階。

f=Function('f')定義函數(shù)變量和h=Symbol('h')和d2fdx2=f(x).diff(x,2)求2階,,as_finite_diff(dfdx)函數(shù)和as_finite_diff(d2fdx2,[-3*h,-h,2*h]),,x_list=[-3,1,2]和y_list=symbols('a b c')和apply_finite_diff(1,x_list,y_list,0)。

Eq(x, y),,solveset(Eq(x**2, 1), x)解出來x,當二式相等。和solveset(Eq(x**2 - 1, 0), x)等價。solveset(x**2 - 1, x)

solveset(x**2 - x, x)解,solveset(x - x, x, domain=S.Reals)解出來定義域。solveset(exp(x), x)? ? # No solution exists解出EmptySet()表示空集。

等式形式linsolve([x + y + z - 1, x + y + 2*z - 3 ], (x, y, z))和矩陣法linsolve(Matrix(([1, 1, 1, 1], [1, 1, 2, 3])), (x, y, z))得到{(-y - 1, y, 2)}

A*x = b 形式,M=Matrix(((1,1,1,1),(1,1,2,3))),system=A,b=M[:,:-1],M[:,-1],linsolve(system,x,y,z),,solveset(x**3 - 6*x**2 + 9*x, x)解多項式。roots(x**3 - 6*x**2 + 9*x, x),得出,{3: 2, 0: 1},有2個3的重根,1個0根。solve([x*y - 1, x - 2], x, y)解出坐標。

f, g = symbols('f g', cls=Function)函數(shù)的定義,解微分方程diffeq = Eq(f(x).diff(x, x) - 2*f(x).diff(x) + f(x), sin(x))再和dsolve(diffeq,f(x))結(jié)合。得到Eq(f(x), (C1 + C2*x)*exp(x) + cos(x)/2),dsolve(f(x).diff(x)*(1 - sin(f(x))), f(x))解出來Eq(f(x) + cos(f(x)), C1),,

Matrix([[1,-1],[3,4],[0,2]]),,Matrix([1, 2, 3])列表示。M=Matrix([[1,2,3],[3,2,1]])

N=Matrix([0,1,1])

M*N符合矩陣的乘法。M.shape顯示矩陣的行列數(shù)。

M.row(0)獲取M的第0行。M.col(-1)獲取倒數(shù)第一列。

M.col_del(0)刪掉第1列。M.row_del(1)刪除第二行,序列是從0開始的。M = M.row_insert(1, Matrix([[0, 4]]))插入第二行,,M = M.col_insert(0, Matrix([1, -2]))插入第一列。

M+N矩陣相加,M*N,3*M,M**2,M**-1,N**-1表示求逆。M.T求轉(zhuǎn)置。

eye(3)單位。zeros(2, 3),0矩陣,ones(3, 2)全1,diag(1, 2, 3)對角矩陣。diag(-1, ones(2, 2), Matrix([5, 7, 5]))生成Matrix([

[-1, 0, 0, 0],

[ 0, 1, 1, 0],

[ 0, 1, 1, 0],

[ 0, 0, 0, 5],

[ 0, 0, 0, 7],

[ 0, 0, 0, 5]])矩陣。

Matrix([[1, 0, 1], [2, -1, 3], [4, 3, 2]])

一行一行顯示,,M.det()求行列式。M.rref()矩陣化簡。得到結(jié)果為Matrix([

[1, 0,? 1,? 3],

[0, 1, 2/3, 1/3],

[0, 0,? 0,? 0]]), [0, 1])。

M = Matrix([[1, 2, 3, 0, 0], [4, 10, 0, 0, 1]]),M.nullspace()

Columnspace

M.columnspace()和M = Matrix([[1, 2, 3, 0, 0], [4, 10, 0, 0, 1]])

M = Matrix([[3, -2,? 4, -2], [5,? 3, -3, -2], [5, -2,? 2, -2], [5, -2, -3,? 3]])和M.eigenvals()得到{3: 1, -2: 1, 5: 2},,This means thatMhas eigenvalues -2, 3, and 5, and that the eigenvalues -2 and 3 have algebraic multiplicity 1 and that the eigenvalue 5 has algebraic multiplicity 2.

P, D = M.diagonalize(),P得Matrix([

[0, 1, 1,? 0],

[1, 1, 1, -1],

[1, 1, 1,? 0],

[1, 1, 0,? 1]]),,D為Matrix([

[-2, 0, 0, 0],

[ 0, 3, 0, 0],

[ 0, 0, 5, 0],

[ 0, 0, 0, 5]])

P*D*P**-1 == M返回為True。lamda = symbols('lamda')。

lamda = symbols('lamda')定義變量,p = M.charpoly(lamda)和factor(p)

expr = x**2 + x*y,srepr(expr)可以將表達式說明計算法則,"Add(Pow(Symbol('x'), Integer(2)), Mul(Symbol('x'), Symbol('y')))"。。

x = symbols('x')和x = Symbol('x')是一樣的。srepr(x**2)得到"Pow(Symbol('x'), Integer(2))"。Pow(x, 2)和Mul(x, y)得到x**2。x*y

type(2)得到class 'int',type(sympify(2))得到class 'sympy.core.numbers.Integer'..srepr(x*y)得到"Mul(Symbol('x'), Symbol('y'))"。。。

Add(Pow(x, 2), Mul(x, y))得到"Add(Mul(Integer(-1), Pow(Symbol('x'), Integer(2))), Mul(Rational(1, 2), sin(Mul(Symbol('x'), Symbol('y')))), Pow(Symbol('y'), Integer(-1)))"。。Pow函數(shù)為冪次。

expr = Add(x, x),expr.func。。Integer(2).func,class 'sympy.core.numbers.Integer',,Integer(0).func和Integer(-1).func,,,expr = 3*y**2*x和expr.func得到class 'sympy.core.mul.Mul',,expr.args將表達式分解為得到(3, x, y**2),,expr.func(*expr.args)合并。expr == expr.func(*expr.args)返回True。expr.args[2]得到y(tǒng)**2,expr.args[1]得到x,expr.args[0]得到3.。

expr.args[2].args得到(y, 2)。。y.args得到空括號。Integer(2).args得到空括號。

from sympy import *

E**(I*pi)+1,可以看出,I和E,pi已將在sympy內(nèi)已定義。

x=Symbol('x'),,expand( E**(I*x) )不能展開,expand(exp(I*x),complex=True)可以展開,得到I*exp(-im(x))*sin(re(x)) + exp(-im(x))*cos(re(x)),,x=Symbol("x",real=True)將x定義為實數(shù)。再展開expand(exp(I*x),complex=True)得到。I*sin(x) + cos(x)。。

tmp = series(exp(I*x), x, 0, 10)和pprint(tmp)打印出來可讀性好,print(tmp)可讀性不好。。pprint將公式用更好看的格式打印出來,,pprint( series( cos(x), x, 0, 10) )

integrate(x*sin(x), x),,定積分integrate(x*sin(x), (x, 0, 2*pi))。。

用雙重積分求解球的體積。

x, y, r = symbols('x,y,r')和2 * integrate(sqrt(r*r-x**2), (x, -r, r))計算球的體積。計算不來,是因為sympy不知道r是大于0的。r = symbols('r', positive=True)這樣定義r即可。circle_area=2*integrate(sqrt(r**2-x**2),(x,-r,r))得到。circle_area=circle_area.subs(r,sqrt(r**2-x**2))將r替換。

integrate(circle_area,(x,-r,r))再積分即可。

expression.sub([(x,y),(y,x)])又換到原來的狀況了。

expression.subs(x, y),,將算式中的x替換成y。。

expression.subs({x:y,u:v}) : 使用字典進行多次替換。。

expression.subs([(x,y),(u,v)]) : 使用列表進行多次替換。。

Γ(2)伽瑪函數(shù)公式

Γ(2)伽瑪函數(shù)公式:Γ(x)=積分:e^(-t)*t^(x-1)dt。

利用伽馬函數(shù)γ(n)=(n-1)γ(n-1)=(n-1)!及γ(1/2)=√π,有γ(1/2+n)=γ[(n-1+1/2)+1]=[(2n-1)/2]γ(n-1/2)。

=[(2n-1)/2]][(2n-3)/2](1/2)γ(1/2)。

=[(2n-1)(2n-3)^(1)/2^n]γ(1/2)。

=[√π/2^n](2n-1)?。??!埃?n-1)?。 北硎咀匀粩?shù)中連續(xù)奇數(shù)的連乘積。

Stirling公式

Gamma函數(shù)從它誕生開始就被許多數(shù)學(xué)家進行研究,包括高斯、勒讓德、魏爾斯特拉斯、劉維爾等等。這個函數(shù)在現(xiàn)代數(shù)學(xué)分析中被深入研究,在概率論中也是無處不在,很多統(tǒng)計分布都和這個函數(shù)相關(guān)。

Gamma函數(shù)作為階乘的推廣,首先它也有和Stirling公式類似的一個結(jié)論:即當x取的數(shù)越大,Gamma函數(shù)就越趨向于Stirling公式,所以當x足夠大時,可以用Stirling公式來計算Gamma函數(shù)值。

matlab伽馬函數(shù)的圖像

你好!我給你做了一個圖。

主函數(shù):

clc;

x=linspace(0.2,4.2,100);

y=zeros(size(x));

for?i=1:length(x)

y(i)=Gamma_fun(x(i));

end

plot(x,y,'r','linewidth',2)

xlabel('$$x$$','Interpreter','latex','FontSize',18,'color','b')

ylabel('$$\Gamma(x)$$','Interpreter','latex','FontSize',18,'color','b')

title('$$\Gamma?function$$','Interpreter','latex','FontSize',28,'color','r')

函數(shù)部分:

function?Out=Gamma_fun(x)

Out=1;

while?x1

x=x-1;

Out=Out*x;

end

syms?t

s=int(t^(x-1)*exp(-t),t,0,inf);

Out=Out*subs(s);

end

圖像:

希望能夠幫到你!

Python--math庫

Python math 庫提供許多對浮點數(shù)的數(shù)學(xué)運算函數(shù),math模塊不支持復(fù)數(shù)運算,若需計算復(fù)數(shù),可使用cmath模塊(本文不贅述)。

使用dir函數(shù),查看math庫中包含的所有內(nèi)容:

1) math.pi????# 圓周率π

2) math.e????#自然對數(shù)底數(shù)

3) math.inf? ? #正無窮大∞,-math.inf? ? #負無窮大-∞

4) math.nan? ? #非浮點數(shù)標記,NaN(not a number)

1) math.fabs(x)? ? #表示X值的絕對值

2) math.fmod(x,y)? ? #表示x/y的余數(shù),結(jié)果為浮點數(shù)

3) math.fsum([x,y,z])? ? #對括號內(nèi)每個元素求和,其值為浮點數(shù)

4) math.ceil(x)? ? #向上取整,返回不小于x的最小整數(shù)

5)math.floor(x)? ? #向下取整,返回不大于x的最大整數(shù)

6) math.factorial(x)? ? #表示X的階乘,其中X值必須為整型,否則報錯

7) math.gcd(a,b)? ? #表示a,b的最大公約數(shù)

8)? math.frexp(x)? ? ? #x = i *2^j,返回(i,j)

9) math.ldexp(x,i)? ? #返回x*2^i的運算值,為math.frexp(x)函數(shù)的反運算

10) math.modf(x)? ? #表示x的小數(shù)和整數(shù)部分

11) math.trunc(x)? ? #表示x值的整數(shù)部分

12) math.copysign(x,y)? ? #表示用數(shù)值y的正負號,替換x值的正負號

13) math.isclose(a,b,rel_tol =x,abs_tol = y)? ? #表示a,b的相似性,真值返回True,否則False;rel_tol是相對公差:表示a,b之間允許的最大差值,abs_tol是最小絕對公差,對比較接近于0有用,abs_tol必須至少為0。

14) math.isfinite(x)? ? #表示當x不為無窮大時,返回True,否則返回False

15) math.isinf(x)? ? #當x為±∞時,返回True,否則返回False

16) math.isnan(x)? ? #當x是NaN,返回True,否則返回False

1) math.pow(x,y)? ? #表示x的y次冪

2) math.exp(x)? ? #表示e的x次冪

3) math.expm1(x)? ? #表示e的x次冪減1

4) math.sqrt(x)? ? #表示x的平方根

5) math.log(x,base)? ? #表示x的對數(shù)值,僅輸入x值時,表示ln(x)函數(shù)

6) math.log1p(x)? ? #表示1+x的自然對數(shù)值

7) math.log2(x)? ? #表示以2為底的x對數(shù)值

8) math.log10(x)? ? #表示以10為底的x的對數(shù)值

1) math.degrees(x)? ? #表示弧度值轉(zhuǎn)角度值

2) math.radians(x)? ? #表示角度值轉(zhuǎn)弧度值

3) math.hypot(x,y)? ? #表示(x,y)坐標到原點(0,0)的距離

4) math.sin(x)? ? #表示x的正弦函數(shù)值

5) math.cos(x)? ? #表示x的余弦函數(shù)值

6) math.tan(x)? ? #表示x的正切函數(shù)值

7)math.asin(x)? ? #表示x的反正弦函數(shù)值

8)?math.acos(x)? ? #表示x的反余弦函數(shù)值

9)?math.atan(x)? ? #表示x的反正切函數(shù)值

10) math.atan2(y,x)? ? #表示y/x的反正切函數(shù)值

11) math.sinh(x)? ? #表示x的雙曲正弦函數(shù)值

12) math.cosh(x)? ? #表示x的雙曲余弦函數(shù)值

13) math.tanh(x)? ? #表示x的雙曲正切函數(shù)值

14) math.asinh(x)? ? #表示x的反雙曲正弦函數(shù)值

15) math.acosh(x)? ? #表示x的反雙曲余弦函數(shù)值

16) math.atanh(x)? ? #表示x的反雙曲正切函數(shù)值

1)math.erf(x)? ? #高斯誤差函數(shù)

2) math.erfc(x)? ? #余補高斯誤差函數(shù)

3) math.gamma(x)? ? #伽馬函數(shù)(歐拉第二積分函數(shù))

4) math.lgamma(x)? ? #伽馬函數(shù)的自然對數(shù)

excel gammainv函數(shù)對應(yīng)python函數(shù)?

1.GAMMA.INV函數(shù)的功能 計算伽瑪累積分布函數(shù)的反函數(shù)值。

2.GAMMA.INV函數(shù)的語法結(jié)構(gòu) GAMMA.INV(probability,...

3.GAMMA.INV函數(shù)的使用方法 以如下表格為例,演示該函數(shù)的使用方法;

4.第一步,在輸出結(jié)果的單元格,輸入函數(shù)公式,即 =GAMMA.INV;

5.第二步,設(shè)定參數(shù)Probability;

當前題目:伽馬函數(shù)python畫圖 python繪制函數(shù)圖
文章路徑:http://muchs.cn/article24/hgiece.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供外貿(mào)網(wǎng)站建設(shè)品牌網(wǎng)站設(shè)計、微信公眾號、定制開發(fā)網(wǎng)站營銷、網(wǎng)站策劃

廣告

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

手機網(wǎng)站建設(shè)