math.sqrt () ValueError: ошибка математического домена

1

Я пытаюсь построить график с matplotlib и исчислением, но функция math.sqrt() моей функции f (x) не работает. Мне нужно sqhare root 2 * x-1. Как видно из кода

import matplotlib.pyplot as plt
import math

def f(x):
    return math.sqrt(2*x-1)

plt.plot([0, 1, 2, 3, 4], [f(0), f(1), f(2), f(3), f(4)])
plt.show()

И это дает ошибку, говорящую о значении ValueError: math domain. Который я не уверен, как это сделать правильно/исправить

  • 6
    2*x - 1 отрицательно для x == 0 . math.sqrt ожидает значения, для которых ответом будет действительное число, т. е. любой x с x >= 0 .
  • 0
    @timgeb О, понятно, спасибо. Я удалил 0 из списка.
Показать ещё 1 комментарий
Теги:
sqrt
math.sqrt

1 ответ

1
Лучший ответ

Это не работает, потому что вы пытаетесь найти корень отрицательного числа, удалив "0" из массива, чтобы код работал без ошибок.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню