我想使用一个递归公式,如x(I+1)=x(I)+h 我怎样才能在for循环中输入它,同时找到与之对应的y值并将其分配到一个数组中。我试过了
for i in range(n):
i+1 = y(i) + h
dydx[i] = (y[i+1]+y[i-1]-y[i])/h**2
dydx0 = [dydx[0]]
print(dydx0)
这显然给了我一个错误,但我想不出如何做这另一种方式。有人能帮忙吗?你知道吗
def f(x):
return cos(pi*exp(-x))
h = 0.01
x = linspace(a,b,n+1)
print(x)
y = f(x)
dydx = zeros(n+1)
for i in range(n):
dydx[i] = (y[i+1]+y[i-1]-y[i])/h**2
dydx0 = [dydx[0]]
print(dydx0)
在dydx公式中,当我计算dydx[I]=(y[I+1]+y[I-1]-y[I])/h**2时,我想计算y(x+h)+y(x-h)-y(x)/h,但使用I作为x[I+1]=x[I]+h。因此,例如y[I+1]应该是在x[I+1]处计算y的平均值,它本身依赖于h。。你知道吗
你好像对Python很陌生!有几个语法模式可以帮助你:
return键将结束一个函数,因此函数f()中return关键字下面的任何代码都无法工作。
等号的左侧应该是要赋值/修改的变量。在python中:
i+1=y(i)+h
左边是“add1 to i”,右边是“add h to the result of the function y when given parameter i”。这是各种各样的错误。
如果你的目标是
您的代码看起来更像这样:
这假设您已经定义了一个函数y(),该函数接受x的值并返回一个值,不过从示例代码来看,您可能正在执行比这更复杂的操作!你知道吗
相关问题 更多 >
编程相关推荐