用sympy 求偏导
import numpy as np
import pandas as pd
import sympy as sy
theta, n, k = sy.symbols('theta, n, k')
z = theta+n+k
dx = sy.diff(z, theta)
dy = sy.diff(z, n)
dz = sy.diff(z, k)
print(dz)
theta_set = [0, 0.7854, 1.5708, 2.3561, 3.1415]
n_set = [0, 0.5, 1, 2, 3, 8]
k_set = [1, 2, 3, 10]
result = np.zeros([len(k_set), len(n_set), len(theta_set)])
for k1 in k_set:
for n1 in n_set:
for theta1 in theta_set:
save = dy.subs({theta: theta1, n: n1, k: k1})
result[k_set.index(k1)][n_set.index(n1)][theta_set.index(theta1)] = save
for i in range(len(k_set)):
df = pd.DataFrame(result[i])
df.to_csv('result.csv', mode='a')