Как создать массив кратных числа Пи, чтобы использовать функцию косинуса - PullRequest
0 голосов
/ 10 июня 2019

Я хочу создать массив чисел от -Pi до + Pi с размером шага Pi / 4.Тем не менее, использование linspace не дает мне точности, которую я хочу, я предполагаю, что это проблема с типом данных.

arr = np.linspace(-math.pi,math.pi,math.pi/4)
print(math.cos(arr[2]))

Это не выводит ноль, но выдает чрезвычайно малое число.Как я могу исправить тип данных, чтобы получить вывод равным нулю?

Ответы [ 2 ]

1 голос
/ 10 июня 2019

Последний параметр в np.linspace - это количество выборок, а не их размер.В вашем случае вам нужно 9 образцов.

arr = np.linspace(-math.pi,math.pi,9)
print(arr)

Вывод:

[-3.14159265 -2.35619449 -1.57079633 -0.78539816  0.          0.78539816
  1.57079633  2.35619449  3.14159265]

Чтобы объяснить, почему вы не получаете ровно ноль при -pi/2, см. сообщение .

Число π не может быть точно представлено как число с плавающей запятой.

0 голосов
/ 10 июня 2019

Вы должны использовать функцию numpy arange:

import math
import numpy as np
arr = np.arange(-math.pi,math.pi,math.pi/4) #replace pi with 5/4*pi to include pi as endpoint
print(math.cos(arr[2]))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...