単位円(numpy.random.normal(0,1)を使用)で2000個のランダムな点が与えられた場合、出力が円になるように正規化したいのですが、どうすればいいですか?プロットされた点を正規化して円を得るには?
私の努力を示すように要求されました。これは大きな疑問の一部です:単位円の円周から一様に2000ポイントをサンプリングするプログラムを書いてください。それは実際に円周から選ばれている。円周から点(x、y)を生成するには、標準正規分布からのサンプル(x、y)を正規化する。
私のコードは正確ではないと確信していますが、これが私の所在地です。どんな助言も役に立つでしょう。
これは新しい更新コードですが、まだ動作していないようです。
import numpy as np
import matplotlib.pyplot as plot
def plot():
xy = np.random.normal(0,1,(2000,2))
for i in range(2000):
s=np.linalg.norm(xy[i,])
xy[i,]=xy[i,]/s
plot.plot(xy)
plot.show()
私はこの問題は、私が
plot.plot(xy[:,0],xy[:,1])
を使用している場合でも、それは動作しません
plot.plot(xy)
であると思います。
あなたの努力を示してください。あなたの宿題を単に投げ捨てるだけでは満足できません。 – cel
@cel申し訳ありませんが、私は私の仕事をダンプするつもりはありませんでした。私は今編集し、自分のコードを追加しました。 – PolkaDot
あなたは明らかにあなたのコードを試していません。実際にPythonインタプリタでこれを実行した場合、発見したバグがたくさんあります。本当の試みを見せて、あなたが試したこととうまくいかなかったことを教えてくれたら、私たちはあなたを助けます。しかし、私はあなたに何をしなければならないかを伝えることができます。 '(x、y)'のノルムを計算し、次に 'T =(x/norm、y/norm)'に変換することによって、単位円の円周に任意の点 'P =(x、y)'を投影することができます。 。この方法では原点までの距離が1になり、単位円上に位置します。 – cel