Как построить график между -0,1 и 0,1 в Python, используя Matplot? - PullRequest
1 голос
/ 23 сентября 2019

Я пытаюсь построить график для этой функции, используя python:

(| 1 + x | -1) / 2x

То, что я до сих пор получил, это:

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(-0.10,0.10,10)
y = ((np.abs(1+x)-1)/(2*x))

plt.xlabel('x axis')
plt.ylabel('y axis')

# Create the plot
plt.plot(x, y)

# Show the plot
plt.show()

странная вещь в том, что когда я строю один и тот же график с интервалом [-2,2], все работает нормально, просто [-0,1,0.1] не работает и дает очень странный график.Есть что-то, что я пропускаю?спасибо

1 Ответ

0 голосов
/ 23 сентября 2019

Выражение np.abs(1+x)-1 равно x всякий раз, когда x больше или равно -1.Поэтому все ваше выражение ((np.abs(1+x)-1)/(2*x)) равно x/(2*x), что просто 1/2 или 0.5 для x >= -1 и x != 0.

Так что, когда ваши границы больше или равны -1, выпросто получит участок линии y= 0.5.Вы не видели этого, когда ваши границы были от -2 до 2, так как это включает некоторую область, где y не является константой.

Вы хотели использовать другую формулу для своего графика?

Когда вы использовали границы от -2 до 2, вы должны были видеть горизонтальную линию в средней и правой части графика.Вот ваш график с десятью точками в вашем коде (см. Строку linspace).

enter image description here

Вот график с большим количеством точек (101) с количеством точек, выбранных для обеспечения того, что 0 является частью построенного домена.Здесь вы можете более четко видеть, что левая сторона не является постоянной, но остальная часть, за исключением отверстия (съемный разрыв) в x = 0.

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...