2017-02-22 18 views
-2
  • 私はシリーズは、私は時代のこのシリーズn番号を生成したい

y = a*np.exp(-t/T1) + a*np.exp(-t/T2) + a*np.exp(-t/T3) + a*np.exp(-t/T4) + a*np.exp(-t/T5)乱数のセットからランダムに選択する方法は?

  • として表明しています。

  • 各繰り返しで、別の値のセットからT1-T5値を選択します。

  • これらの値は、ランダムnumbers-の範囲

value1 = np.random.uniform(1,5) 
value2 = np.random.uniform(6,10) 
value3 = np.random.uniform(11,15) 
value4 = np.random.uniform(16,20) 
value5 = np.random.uniform(21,25) 
value6 = np.random.uniform(26,30) 
value7 = np.random.uniform(31,35) 
value8 = np.random.uniform(36,40) 
value9 = np.random.uniform(41,45) 
value10 = np.random.uniform(46,50) 

あるこのタスクを実行する最も簡単な方法は何ですか? np.random.choiceのようなものを使用して、各Tの値のセットから選択できますか?

+3

です。多くのユーザーは、苦労しているコーダーのコードを作成したいと考えていますが、通常、ポスターが既に問題を解決しようとしているときにのみ役立ちます。この努力を実証する良い方法は、これまでに書いたコード、サンプル入力(もしあれば)、期待される出力、実際に得られる出力(出力、トレースバックなど)を含めることです。あなたが提供する詳細があれば、受け取る可能性のある回答が増えます。 [FAQ](http://stackoverflow.com/tour)と[How to Ask](http://stackoverflow.com/questions/how-to-ask)を確認してください。 – TigerhawkT3

答えて

1

はい、np.random.choiceは、値プールで5つの一意の候補を選択するのに役立ちます。次に、選択した範囲のプール内の各値を生成できます。私が正しくあなたの質問を理解していれば

import numpy as np 
# you may want to set `replace` depending on your needs 
candidates = np.random.choice(10, 5, replace=False) 
t_values = [np.random.uniform(n*5+1, n*5+5) for n in candidates] 
1

は、1つの簡単な方法は、あなたが私たちはあなたのためにいくつかのコードを書きたいように見えます

# create the offsets for each iteration 
offsets = 5 * np.random.randint(0, 10, (n, 1)) 
# create the actual samples and add the offsets 
T = np.random.uniform(1, 5, (n, 5)) + offets 
# compute result 
Y = a * np.exp(-t/T).sum(axis=-1) 
+0

.sum(軸= -1)とは何ですか? – zerogravty

+0

'T'は長方形のnx5配列なので' np.exp(-t/T) 'も同じです。 '.sum(axis = -1)'は要素をとり、最後の軸に沿ってそれらを合計します。つまり、要素(0,0)、(0,1)、...(0,4) 、0)、(1,1)、...(1,4)等を使用して、各行に1つの結果のnベクトルを与える。 –

関連する問題