如何在不实际替换代码中的值的情况下获取与某些坐标对应的函数值?
Posted
技术标签:
【中文标题】如何在不实际替换代码中的值的情况下获取与某些坐标对应的函数值?【英文标题】:How to get a value of function corresponding to certain coordinates without actually replacing the values in code? 【发布时间】:2022-01-05 12:43:24 【问题描述】:我有一个值 x 和 y 的数组,还有一个函数 f(x,y)。我想得到对应于(x1,y1)的f(x1,y1)的值。我们怎样才能得到它?
khmax = np.arange(0,0.5,0.001)
Ncmax = np.arange(0,0.5,0.001)
[X, Y] = np.meshgrid(Ncmax,khmax)
sum_real = 0
sum_imag = 0
for l in range (0,N): # C_jl * P_lj
sum_imag = sum_imag + (matrix_C[j_node-1][l])*(np.sin(Y*(x_j(l+1)-x_j(j_node)) / hmax))
sum_real = sum_real + (matrix_C[j_node-1][l])*(np.cos(Y*(x_j(l+1)-x_j(j_node)) / hmax))
Aj_real = (X * sum_real)
Aj_imag = (X * sum_imag)
G_imag = -Aj_imag + (2 * (Aj_real) * (Aj_imag)) / 2 - ((3 * ((Aj_real)**2) * (Aj_imag)) -((Aj_imag)**3)) + ((4*(Aj_real)*(Aj_imag))*((Aj_real)**2 - (Aj_imag)**2))/24
G_real = 1 - (Aj_real) + (((Aj_real)**2 - (Aj_imag)**2)/2) - ((((Aj_real)**3 - 3*(Aj_real)*((Aj_imag)**2)))/6) + ((((((Aj_real)**2 - (Aj_imag)**2 )**2- 4*((Aj_real)**2)*((Aj_imag)**2))))/ 24)
mod_G = (((G_real)**2) + ((G_imag)**2))**(0.5)
在此代码中,mod_G 是 (khmax, Ncmax) 的函数。我想得到对应于(khmax,Ncmax)假设(0.1,0.1)的mod_G的值。我不想将 (khmax, Ncmax) 的值直接放入函数中(即不将 khmax 替换为 0.1,将 Ncmax 替换为 0.1)。如果不这样做,我如何获得 mod_G?
【问题讨论】:
你需要搜索如何在python中创建函数 【参考方案1】:您可以尝试将其定义为实际的 python 函数,即使用 def
关键字,然后使用两个参数调用它吗?这样您就可以轻松地将其称为mod_G(0.1,0.1)
,而无需更改任何其他内容。
【讨论】:
以上是关于如何在不实际替换代码中的值的情况下获取与某些坐标对应的函数值?的主要内容,如果未能解决你的问题,请参考以下文章
在不使用索引的情况下替换 pandas DataFrame 中选定单元格的值