我目前有一个nx3矩阵阵列.我想将三列绘制为三个轴.我怎样才能做到这一点?
我用google搜索,人们建议使用Matlab,但我真的很难理解它.我还需要它是散点图.
有人可以教我吗?
如果我写
for i in range(5):
print i
Run Code Online (Sandbox Code Playgroud)
然后它给出0,1,2,3,4这
是否意味着Python同时为0分配0,1,2,3,4?
但是,如果我写道:
for i in range(5):
a=i+1
Run Code Online (Sandbox Code Playgroud)
然后我打电话给a,它只给5
但是如果我加''打印''它给出1,2,3,4,5
所以我的问题是这里的区别是什么?
是字符串还是列表还是其他什么?
或者也许任何人都可以帮助我理清:
for l in range(5):
#vs,fs,rs are all m*n matrixs,got initial values in,i.e vs[0],fs[0],rs[0] are known
#want use this foor loop to update them
vs[l+1]=vs[l]+fs[l]
fs[l+1]=((rs[l]-re[l])
rs[l+1]=rs[l]+vs[l]
#then this code gives vs,fs,rs
Run Code Online (Sandbox Code Playgroud)
如果我运行这种代码,那么只有当l = 5时我才能得到答案
我怎样才能让它们开始循环?
即l = 0得到vs [1],fs [1],rs [1]的值,
则l = 1得到vs [2],rs [2],fs [2] ......的值等等.
但是python给出了不同的fs数组,vs,rs,对应不同的l值
我怎么能把它们做成一件?
我遇到了一个问题,在我的代码中,任何人都可以提供帮助.这是示例代码.
from random import *
from numpy import *
r=array([uniform(-R,R),uniform(-R,R),uniform(-R,R)])
def Ft(r):
for i in range(3):
do something here, call r
return something
Run Code Online (Sandbox Code Playgroud)
然而我发现在python shell中,每次运行函数Ft时,它都会给我不同的结果.....似乎在函数内,在for循环的每次迭代中,调用r一次,它给出一次随机数...但是当我调用函数时没有修复初始随机数....我该如何解决?如何使用b = copy(r)然后在Ft函数中调用b?谢谢
我之前发过类似的问题,但是,我想我可能误解了我的问题,所以我可以在这里发布我的原始代码,寻找有人可以帮助我,我现在真的被困了......谢谢很多.
from numpy import *
import math as M
#initial condition All in SI unit
G=6.673*10**-11 #Gravitational constant
ms=1.9889*10**30 #mass of the sun
me=5.9742*10**24 #mass of the earth
dt=10 #time step
#Creat arrays
vs=array([[0,0,0]]) #1st element stand for x component of V of earth
ve=array([[29770,0,0]])
rs=array([[0,0,0]])
re=array([[0,1.4960*10**11,0]])
#First update velocity in order to start leapfrog approximation
fs=-G*ms*me*((rs-re)/(M.sqrt((rs-re)[0][0]**2+(rs-re)[0][1]**2+(rs-re)[0][2]**2))**3)
fe=-fs
vs=vs+fs*dt/ms
ve=ve+fe*dt/me
n=input('please enter the number of timestep you want it evolve:')
#update force
def force(n,ms,me,rs,re,G):
rs,re=update_r(rs,re,n,dt)
fs=-G*ms*me*((rs-re)/(M.sqrt((rs-re)[0][0]**2+(rs-re)[0][1]**2+(rs-re)[0][2]**2))**3)
fe=-fs
return fs,fe
#update …
Run Code Online (Sandbox Code Playgroud) 我只学了几个月的python,完全是C语言的新手,我从网上得到了一个C代码,我很想学习它.但我只懂python语言,所以有人可以帮助将以下代码翻译成python会很棒.提前致谢!
for(i=0; i<n; i++) { /* Foreach particle "i" ... */
ax=0.0;
ay=0.0;
az=0.0;
for(j=0; j<n; j++) { /* Loop over all particles "j" */
dx=x[j]-x[i];
dy=y[j]-y[i];
dz=yz[j]-z[i];
invr = 1.0/sqrt(dx*dx + dy*dy + dz*dz + eps);
invr3 = invr*invr*invr;
f=m[j]*invr3;
ax += f*dx; /* accumulate the acceleration from gravitational attraction */
ay += f*dy;
az += f*dx;
}
xnew[i] = x[i] + dt*vx[i] + 0.5*dt*dt*ax; /* update position of particle "i" */
ynew[i] = y[i] + dt*vy[i] + 0.5*dt*dt*ay; …
Run Code Online (Sandbox Code Playgroud) python ×5
3d ×1
c ×1
for-loop ×1
matplotlib ×1
numpy ×1
plot ×1
random ×1
range ×1
scatter-plot ×1