2015-09-14 5 views
0

Я Решая ОДУ следующим образом:Свести в Numpy массив

import numpy as np 
import scipy as sp 
import math 
from math import * 
from scipy.integrate import odeint 
import matplotlib.pyplot as plt 

def g(y, x): 
    y0 = y[0] 
    return x #formula## 

# Initial conditions on y, y' at x=0 
init = 0 #value## 
# First integrate from 0 to 100 
xplotval=np.linspace(4,8,4) #linspacefunction 
print(xplotval) 

Я получаю выход как:

[[ 7.   ] 
[ 5.76455273 ] 
[ 5.41898906 ] 
[ 6.49185668 ]] 

Я хотел бы выход один одномерный массив следующим образом:

[7., 5.76455273, 5.41898906, 6.49185668] 

Как я могу?

+0

Пожалуйста, не публикуйте скриншоты. Просто скопируйте свой вывод. –

ответ

1

Может быть, вы хотите flatten:

print(xplotval.flatten()) 

Если вы на самом деле хотите транспонирования вектора, который вы получили бы с numpy.transpose:

print(np.transpose(xplotval)) 
+0

Нет, он не работает, как мне было нужно. Мне нужен массив. Это не делает массив !! – user1989

+0

можете ли вы отредактировать ответ, чтобы он дал понять? – user1989

+0

Элементы не разделяются запятой. Я получаю вывод как '[7. 5.76455273 5.41898906 6.49185668] '. Я хочу, чтобы он был разделен запятой. – user1989

0

Вы можете просто использовать список понимание, что-то вроде:

oneD = [l[0] for l in xplotval] 
+0

получил ошибку 'invalid index to scalar variable'. – user1989

Смежные вопросы