実現したいこと
下記のようなpythonによる科学計算を行った結果をcsvやtextで出力したいです。
良い方法はありますでしょうか。
実行したコード
python
1import scipy as sp 2import matplotlib as mpl 3import matplotlib.pyplot as plt 4from matplotlib.pyplot import plot,show,xlabel,ylabel,title,legend,grid,axis,rcParams,tight_layout 5from scipy import real,imag,pi 6from RI import WLx, epAg, epAu, RIAu, RIAg #別ファイルで定義した屈折率データ 7 8n1 = 1 # 周辺媒質の屈折率 9n2 = RIAg # 粒子の屈折率 10r=25 # 粒子の半径 11k = 2 * pi / WLx # 波数の配列 12alpha = 4 * pi * (r**3) * (n1**2) * (n2**2 - n1**2) / (n2**2 + 2 * n1**2) # 分極率の計算 13Csca = k**4 / (6 * pi) * abs(alpha)**2 # 散乱断面積 14Cabs = k * imag(alpha) # 吸収断面積 15Qsca = Csca / ((r**2) * pi) # 散乱効率 16Qabs = Cabs / ((r**2) * pi) # 吸収効率 17 18plt.figure(figsize=(8,6)) # figure size 19plot(WLx,Csca/10**4, label=r"$C_{{\rm sca}}$",linewidth = 3.0, color='black') # real part of the refractive index of gold 20plot(WLx,Cabs/10**4, label=r"$C_{{\rm abs}}$",linewidth = 3.0, color='gray') # real part of the refractive index of gold 21xlabel("Wavelength (nm)",fontsize=22) # x-axis label 22ylabel(r"Csca, Cabs(×10000 nm^2)",fontsize=22) # y-axis label 23title(r"Csca, Cabs",fontsize=22) # Title of the graph 24grid(True) # Show Grid 25axis([300,700,0,5]) # Plot Range 26plt.tick_params(labelsize=20) # scale fontsize=18pt 27legend(fontsize=20,loc='lower right') 28tight_layout() 29show()
上記コードの結果
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/08/09 01:53