gpt4 book ai didi

python - Sympy 功能评估

转载 作者:太空宇宙 更新时间:2023-11-04 01:27:04 24 4
gpt4 key购买 nike

我有一个关于 sympy 的小问题。我确实加载了库:

from sympy import *

在我的程序的某个时刻,我想计算一个函数。

x=Symbol('x', real=True)
sqrt(1-x).subs(x, 9).evalf()
>>> 2.82842712474619*I

Sympy 回答我复杂的值,但我想要一个基本 python 中的错误:

sqrt(-1)
>>> ValueError: math domain error

有人知道如何使用 sympy 做到这一点吗?

最佳答案

我可能是错的,但我不认为你可以让它那样大喊大叫,因为那是一个科学图书馆,所以它是为支持虚数而制作的,但你可以稍微改变一下:

x=Symbol('x', real=True)
v = sqrt(1-x).subs(x, 9).evalf()

if not v.is_real:
raise ValueError, "math domain error"

或者您可以创建一个函数:

def assert_real(v):
if not v.is_real:
raise ValueError, "math domain error"
return v

所以你可以这样做:

x = Symbol('x', real=True)
v = assert_real(sqrt(1-x).subs(x, 9).evalf())

关于python - Sympy 功能评估,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17090073/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com