我试图创建一个循环,以离散值计算函数。通常情况下,这是可以的,但是,这被证明是困难的,因为我的函数是有条件的(它有一个依赖于主变量的任意分段函数)
import math
import numpy as np
for i in np.arange(4000,8000,1000):
def f(λ,a,u,o1,o2):
o = o1 if (λ <= u) else o2
return a*math.exp((λ-u)^2/(-2*o^2))
print(f(i,1.056,5998,379,310))
我希望代码在I=4000时计算函数,然后I=5000等。我收到的输出如下; TypeError:输入类型不支持ufunc“按位异或”,并且无法根据强制转换规则“安全”将输入安全强制为任何支持的类型
我似乎找不到任何具体的例子来实现这样的条件函数。另一次尝试是在没有循环的情况下进行的,但我遇到了值错误,我认为我是在评估数组,就好像它们是一个变量一样
我希望稍后对函数进行积分并绘制和。涉及循环的方法会遇到任何问题吗
试试这个代码。这会奏效的
假设您的函数除了power操作符
**
之外是正确的,那么numpy
的可能实现如下所示输出
要重用函数,可以将其更改为参数化版本
输出
Python使用
**
进行指数运算^
是bitwise xor相关问题 更多 >
编程相关推荐