将数学函数的结果输出到csv文件中

时间:2019-12-11 19:06:54

标签: python numpy complex-numbers

我有一个复杂的数学函数,其结果是复杂的值。

函数中有两个变量:fi(0〜2pi)和theta(0〜pi / 2)。

我的目标是将计算结果转换为csv文件。 行表示不同的fi,列表示不同的theta。

The output should look like this:

这是我的代码。

import numpy as np
from math import sin, asin, cos, pi

# c3 function

def c3(ni, nt, theta):
    return (-(ni / nt) * (cos(theta) / cos(asin(1.5*sin(theta)))) * 2 * ni * cos(asin(1.5*sin(theta)))) / (ni * cos(asin(1.5*sin(theta))) + nt * cos(theta))


# es function

def es(big_theta, fi, big_fi):
    return lambda ni, nt, theta: (c3(ni, nt, theta) * sin(big_theta)) * sin(fi - big_fi)


res = [[(es(pi/2, fi, 0))(1, 1.5, theta) for fi in range(0, 2*pi)] for theta in range(0, pi/2)]

arr2D = np.array(res)
np.savetxt('D:/Es.csv', arr2D, delimiter=',', fmt='%f')

print(res)

0 个答案:

没有答案