私はこのコードをPythonで記述しました。私はそれが私が見ることができない単純な構文修正であるので、それを説明するつもりはないので、何のために説明するのは役に立たない。科学的なPythonの配列の構文
私が持っている問題は、与えられたdに対して、例えば15の "cuentas"と "e"の値が正しいことです。
私がしたいことは、一連のdを繰り返し、各キューンタと各eの値をプロットしてd vs eをプロットすることです。
私の問題は、私がどのようにPythonで行列を作るのか分からないということです。 MATLABで
iがtheeseような二つの異なるループを記述するために使用される:
for i=1:1:N
for j=1:9
a[i,j]= and so on
[I、J]はiがアクセスして操作できるN行9列の行列であろう。私は距離によってさえ読んものにそんなに
import numpy as np
import matplotlib.pyplot as plt
N=100000
cos=np.zeros(N)
phi=np.zeros(N)
teta=np.zeros(N)
a=np.zeros(N)
xrn=np.zeros(N)
yrn=np.zeros(N)
zrn=np.zeros(N)
x=np.zeros(N)
y=np.zeros(N)
z=np.zeros(N)
lim1=14.7
lim2=3.35
lim3=-lim1
lim4=-lim2
#d=np.array([15,20,25,30,35,40,45,50,55])
d=15
#for j in range(9):
for i in range(N):
cos[i]=np.random.uniform(-1,1)
teta[i]=np.random.uniform(-np.pi,np.pi)
phi[i]=np.random.uniform(0,2*np.pi)
# a[i]=d[j]/cos[i]*np.cos(phi[i])
a[i]=d/cos[i]*np.cos(phi[i])
xrn[i]=np.random.uniform(-1,1)*lim1
yrn[i]=np.random.uniform(-1,1)*lim2
x[i]=a[i]*np.sin(teta[i])*np.cos(phi[i])+xrn[i]
y[i]=a[i]*np.sin(teta[i])*np.sin(phi[i])+yrn[i]
#cuentas[j]=0
cuentas=0
#for j in range(9):
for i in range(N):
if a[i]>0 and x[i] < lim1 and x[i]>lim3 and y[i] < lim2 and y[i]>lim4:
cuentas=cuentas+1
#e[j]=cuenta[j]/N
e=cuentas/N
感謝を反復処理したい。ここで、iはintentionaly#コメントを置くの下に私のコードで
!!
スクリプトが生成すると思われる出力を正確に理解できますか?いかなる間違いもないようです – tel