如何在python中创建函数,使其以x作为变量返回?(插值)

2024-10-01 15:47:59 发布

您现在位置:Python中文网/ 问答频道 /正文

如何在Python中创建function,例如:

n = int(input("number of knots: "))

xsolmed=[]

for i in range(n+1):
    xsolmed.append(-1+(2*i/n))

def x(x):
    return x
lni=[]
formula=1

for i in range(n+1):
    for j in range(n+1):
        if i==j:
            pass
        formula = (x(x)-xsolmed[i])/(xsolmed[j]-xsolmed[i])*formula

我想我需要它来返回函数,这样公式变量本身就是x的函数,所以以后我可以用这种方式调用它

formula(10)=output

Tags: of函数innumberforinputreturndef
2条回答

将函数调用的结果设置为所需的变量

def f(x):
    "A function that changes nothing"
    return x

a = f(5) # same as a = 5

为了避免混淆,我建议您不要给函数指定与其参数相同的名称(即,不要使用def x(x): ...

如果希望formula成为函数,则将其声明为函数,然后正确的语法为output = formula(10)

公式(10)是一个函数的实例,因此只有一个值而不是一个变量名

编写上述代码的一个好方法是:

n = int(input("number of knots: "))

xsolmed=[]

for i in range(n+1):
    xsolmed.append(-1+(2*i/n))

def y(x):
    return x

def formula_calc(X):
    formula=1

    for i in range(n+1):
        for j in range(n+1):
            if i==j:
                pass
            formula = (X-xsolmed[i])/(xsolmed[j]-xsolmed[i])*formula

    return formula

# now formula is a function of x. X can itself be a function.
print(formula(y(7))
# this will print value of formula at 7 as x(7) is 7.

相关问题 更多 >

    热门问题