小编use*_*037的帖子

如何在Python中制作3D散点图?

我目前有一个nx3矩阵阵列.我想将三列绘制为三个轴.我怎样才能做到这一点?

我用google搜索,人们建议使用Matlab,但我真的很难理解它.我还需要它是散点图.

有人可以教我吗?

python 3d plot matplotlib scatter-plot

71
推荐指数
3
解决办法
12万
查看次数

Python的范围功能如何工作?

如果我写

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值

我怎么能把它们做成一件?

python for-loop range

23
推荐指数
4
解决办法
13万
查看次数

如何修复Random产生的价值?

我遇到了一个问题,在我的代码中,任何人都可以提供帮助.这是示例代码.

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?谢谢

python random

4
推荐指数
1
解决办法
1万
查看次数

Python UnboundLocalError帮助:赋值前引用的局部变量

我之前发过类似的问题,但是,我想我可能误解了我的问题,所以我可以在这里发布我的原始代码,寻找有人可以帮助我,我现在真的被困了......谢谢很多.

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 numpy

2
推荐指数
2
解决办法
5万
查看次数

将这块C物理代码翻译成python

我只学了几个月的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)

c python

-2
推荐指数
1
解决办法
297
查看次数

标签 统计

python ×5

3d ×1

c ×1

for-loop ×1

matplotlib ×1

numpy ×1

plot ×1

random ×1

range ×1

scatter-plot ×1