#python #python-3.x #function #numpy
Вопрос:
У меня есть массив значений x и y и функция f(x,y). Я хочу получить значение f(x1,y1), соответствующее (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). Я хочу получить значение mod_G,соответствующее (khmax, Ncmax) предположим(0.1,0.1). Я не хочу напрямую вводить значение (khmax, Ncmax) в функцию(т. Е. не заменять khmax на 0,1 и Ncmax на 0,1). Как я могу получить mod_G, не делая этого?
Комментарии:
1. Вам нужно найти информацию о том, как создать функцию в python
Ответ №1:
Не могли бы вы попробовать определить его как реальную функцию python, т. Е. Использовать def
ключевое слово, а затем вызвать его с двумя параметрами? Таким образом, вы могли бы просто легко назвать это как mod_G(0.1,0.1)
, не меняя ничего другого.