#python #sympy
#python #симпатия
Вопрос:
Я новичок в sympy и пытаюсь определить уравнение, а затем численно найти корни, но получаю ошибку «Предупреждение о времени выполнения: недопустимое значение, встречающееся в arccos». Получение аналогичных ошибок в sqrt и полномочиях. Почему это происходит? Мой код следующий:
import sympy
z = sympy.symbols('z')
beta_z = sympy.acos(1 - (2 * z / 0.329))
test1 = sympy.lambdify(z, beta_z, modules=['numpy'])
solution1 = fsolve(test1, 2.54e-3)
print(solution1)
Я получаю следующий результат:
[0.00254]
<string>:2: RuntimeWarning: invalid value encountered in arccos
Комментарии:
1. Хорошо, каково ваше понимание того, как работает функция arccosine? Какие входные значения допустимы? Следовательно, какие возможные
z
значения допустимы? Имеет ли смысл, чтоfsolve
алгоритм будет пробоватьz
значения за пределами этого диапазона?2. Привет, Карл, поправь меня, если я ошибаюсь, но входные значения arcos должны быть от -1 до 1, а значение должно представлять ваше количество в радианах. Приведенный выше скрипт является лишь частью вложенного скрипта, в котором мне нужно найти корень сложного уравнения. Поскольку точного решения не существует, я должен преобразовать символическое уравнение и попытаться найти корень численно. Я почти уверен, что, должно быть, я делаю что-то не так, поскольку те же уравнения справедливы и могут быть решены в другом программном обеспечении.