2016-08-05 2 views
0

는 I이 보이는 파일이 (열 좌표 X를, Y, Z 및 선 일부 개체를 나타낸다 AR) :교체 라인

1) 번째 곱

1.02  0.63  0.0003 
-1.34  0.61  0.0002 
0.0  0.0  0.0 
-1.91  0.25  0.87 
-1.32  1.70  0.0 
0.02  -1.12  -0.06 

내가 할 줄을 3으로;

2) 두 번째 줄의 새로운 값과 이전 값의 차이, 세컨드 라인의 두 개의 새 값 (두 번째 행의 열과 두 번째 행의 열의 차이)이 2 행의 새 값과 이전 값 n 및 오래된 등)

3) 2 행의 값을 새 값으로 바꿉니다.

4) 내가 선 4의 값에 도착 차이를 추가하고 같은 5

그래서 출력이 표시되어야합니다

1.02  0.63  0.0003 
-4.02  1.83  0.0006 
0.0  0.0  0.0 
-4.59  1.47  0.8704 
-4.00  2.92  0.0004 
-2.66  0.10  -0.0596 

내가 지금까지 가지고 어떤 것은 :

import numpy as np 

a=np.loadtxt('geometry.in') 
C=s[1] 
b=np.array((a)[C]) #read second line as array 
x_old=b[0] #define coordinate x 
y_old=b[1] #define coordinate y 
z_old=b[2] #define coordinate z 

C_new=b*3 #multiplying all line by 3 

x=C_new[0] #defining new values in columns of the line 
y=C_new[1] 
z=C_new[2] 

dx=x-x_old #the differene that I need to add to the first column of lines 4 and 5 
dy=y-y_old 
dz=z-z_old 

나는 a.replace (x_old, x)를 시도했지만 작동하지 않았고 나는 이것에 정말로 집착했다. 당신이 NumPy와를 사용하는 경우

+1

이 숙제이기 때문에 전체 데이터는? 너 왜 멍청하니? – Janekmuric

+0

아니, 숙제가 아니야. 나는 약간의 계산을하고 있고, 내가 바꿀 필요가있는 많은 파일을 주었다. 배열을 사용하고 있기 때문에 numpy를 사용하고 있습니다. 죄송합니다, 나는 파이썬에서 아주 예배당 이니 아마 어리석은 일을하고있을 것입니다. – cinnamon

+1

올바른 철자법과 문법을 사용하십시오. -1 –

답변

0

, 여기 당신이 일을 할 수있는 예는 다음과 같습니다 로드합니다 NumPy와 배열 "AO"

old2 = ao[1,:] 
    new2 = ao[1,:]*3 
    diff = new2 - old2 
    ao[1,:] = new2 
    ao[3:,:] = ao[3:,:] + diff