Python標準ライブラリ12数学と乱数(mathパッケージ、randomパッケージ)
4240 ワード
原文:
Python標準ライブラリ12数学と乱数(mathパッケージ、randomパッケージ)
作者:Vamei出典:http://www.cnblogs.com/vamei 転載を歓迎します.この声明も保留してください.ありがとうございます.
私たちはもうPython演算でPythonの最も基本的な数学演算機能を見ました.さらに、mathパッケージはより多くの関数を追加しました.もちろん、より高級な数学機能がほしいなら、標準ライブラリ以外のnumpyとscipyプロジェクトを選択することも考えられます.配列とマトリックス演算だけでなく、豊富な数学と物理方程式も使用できます.
さらに、ランダムな数を生成するためにランドムパケットを使用することができる.乱数は数学的用途だけでなく,アルゴリズムの効率を向上させ,プログラムの安全性を向上させるために,しばしばアルゴリズムに埋め込まれる.
mathバッグ
matchは包んで主に数学の相関演算を処理します.mathパッケージは2つの定数を定義しています.
math.e # 自然定数e
mart.pi # 円周率pi
また、mathパッケージには各種演算関数(以下の関数の機能は数学ハンドブックを参照することができます)があります.
math.ceir(x) # x=1.2のように上に整数を取り、2を返します.
math.flor(x) # xを下に向けて整理します.x=1.2など、1を返します.
math.pow(x,y) # 指数演算でxのy乗を得る
math.log(x) # 対数、標準基板はeです.対数ベースはベースパラメータを使用して変更できます.例えばmash.log(100,base=10)
math.sqrt(x) # 平方根
三角関数:math.sin(x)、math.com(x)、math.tan(x)、math.asin(x)、math.acos(x)、math.apan(x)
これらの関数は、パラメータとしてラジアン単位のxを受信します.
角度とラジアンの互換:math.degrees(x)、math.radians(x)
双曲関数:math.sinh(x)、math.com sh(x)、math.tanh(x)、math.asinh(x)、math.acosh(x)、math.atch(x)
特殊関数:math.erf(x)、math.gamma(x)
ランドムバッグ
疑似乱数の原理を知っているなら、次のように使えます.
ラドm.seed(x)
を選択します.もしあなたがその原理を知らないなら、特別にseedを設定しなくてもいいです.Pythonはseedを選択してくれます.
1)任意選択と並べ替え
ラドm.choice(seq) # シーケンスの要素の中からランダムに1つの要素を選択します.例えば、random.choice(range(10))は0から9の中からランダムに1つの整数を選びます.
randdom.sample(seq,k)菗は、シーケンスからランダムにk個の要素を選ぶ.
ラドm.shuffle(seq) # シーケンスのすべての要素をランダムに並べ替えます.
2)ランダム生成実数
以下に生成される実数は均一分布に適合しており、ある範囲における各数字の出現確率が等しいことを意味する.
らんどm.randowm() # 次の実数はランダムに生成され、[0,1]の範囲内である.
ラドm.uniform(a,b) # 次の実数をランダムに生成します.[a,b]の範囲です.
以下に生成された実数は他の分布に適合しています.(いくつかの統計的な本を参照してこれらの分布を知ることができます.)
ラドm.gauss(mu,sigma) # ガウス分布に適合する乱数,mu,sigmaはガウス分布の二つのパラメータをランダムに生成した.
random.expovariate(lambod)は、ランダムに指数分布に適合する乱数を生成し、lambodは指数分布のパラメータである.
また対数分布、正規分布、Parto分布、Weibull分布があります.下記のリンクを参照してください.
http://docs.python.org/library/random.html
もし私たちがダンスの試合に参加する人がいたら、公平のために彼らの出場順をランダムに並べます.
練習します
次の二つの宝くじ番号生成器を設計します.
1.1から22までランダムに5つの整数を抽出する(この5つの数字は重複しない)
2.ランダムに8桁の数字を生成し、各数字は1から6のいずれかの整数とすることができます.
締め括りをつける
math.flor()、math.sqrt()、math.sin()、math.degrees()
ラドm.randowm()、ラドm.choice()、ラドm.shuffle()
Python標準ライブラリ12数学と乱数(mathパッケージ、randomパッケージ)
作者:Vamei出典:http://www.cnblogs.com/vamei 転載を歓迎します.この声明も保留してください.ありがとうございます.
私たちはもうPython演算でPythonの最も基本的な数学演算機能を見ました.さらに、mathパッケージはより多くの関数を追加しました.もちろん、より高級な数学機能がほしいなら、標準ライブラリ以外のnumpyとscipyプロジェクトを選択することも考えられます.配列とマトリックス演算だけでなく、豊富な数学と物理方程式も使用できます.
さらに、ランダムな数を生成するためにランドムパケットを使用することができる.乱数は数学的用途だけでなく,アルゴリズムの効率を向上させ,プログラムの安全性を向上させるために,しばしばアルゴリズムに埋め込まれる.
mathバッグ
matchは包んで主に数学の相関演算を処理します.mathパッケージは2つの定数を定義しています.
math.e # 自然定数e
mart.pi # 円周率pi
また、mathパッケージには各種演算関数(以下の関数の機能は数学ハンドブックを参照することができます)があります.
math.ceir(x) # x=1.2のように上に整数を取り、2を返します.
math.flor(x) # xを下に向けて整理します.x=1.2など、1を返します.
math.pow(x,y) # 指数演算でxのy乗を得る
math.log(x) # 対数、標準基板はeです.対数ベースはベースパラメータを使用して変更できます.例えばmash.log(100,base=10)
math.sqrt(x) # 平方根
三角関数:math.sin(x)、math.com(x)、math.tan(x)、math.asin(x)、math.acos(x)、math.apan(x)
これらの関数は、パラメータとしてラジアン単位のxを受信します.
角度とラジアンの互換:math.degrees(x)、math.radians(x)
双曲関数:math.sinh(x)、math.com sh(x)、math.tanh(x)、math.asinh(x)、math.acosh(x)、math.atch(x)
特殊関数:math.erf(x)、math.gamma(x)
ランドムバッグ
疑似乱数の原理を知っているなら、次のように使えます.
ラドm.seed(x)
を選択します.もしあなたがその原理を知らないなら、特別にseedを設定しなくてもいいです.Pythonはseedを選択してくれます.
1)任意選択と並べ替え
ラドm.choice(seq) # シーケンスの要素の中からランダムに1つの要素を選択します.例えば、random.choice(range(10))は0から9の中からランダムに1つの整数を選びます.
randdom.sample(seq,k)菗は、シーケンスからランダムにk個の要素を選ぶ.
ラドm.shuffle(seq) # シーケンスのすべての要素をランダムに並べ替えます.
2)ランダム生成実数
以下に生成される実数は均一分布に適合しており、ある範囲における各数字の出現確率が等しいことを意味する.
らんどm.randowm() # 次の実数はランダムに生成され、[0,1]の範囲内である.
ラドm.uniform(a,b) # 次の実数をランダムに生成します.[a,b]の範囲です.
以下に生成された実数は他の分布に適合しています.(いくつかの統計的な本を参照してこれらの分布を知ることができます.)
ラドm.gauss(mu,sigma) # ガウス分布に適合する乱数,mu,sigmaはガウス分布の二つのパラメータをランダムに生成した.
random.expovariate(lambod)は、ランダムに指数分布に適合する乱数を生成し、lambodは指数分布のパラメータである.
また対数分布、正規分布、Parto分布、Weibull分布があります.下記のリンクを参照してください.
http://docs.python.org/library/random.html
もし私たちがダンスの試合に参加する人がいたら、公平のために彼らの出場順をランダムに並べます.
import random all_people = ['Tom', 'Vivian', 'Paul', 'Liya', 'Manu', 'Daniel', 'Shawn'] random.shuffle(all_people) for i,name in enumerate(all_people): print(i,':'+name)
練習します
次の二つの宝くじ番号生成器を設計します.
1.1から22までランダムに5つの整数を抽出する(この5つの数字は重複しない)
2.ランダムに8桁の数字を生成し、各数字は1から6のいずれかの整数とすることができます.
締め括りをつける
math.flor()、math.sqrt()、math.sin()、math.degrees()
ラドm.randowm()、ラドm.choice()、ラドm.shuffle()