pvanalyze プログラム仕様
PV特性評価ツールスクリプト。
- 概要:
太陽電池の電気的・光学的特性を評価するツールです。
- 詳細説明:
mode=alpha または mode=make_alpha では、反射率と透過率のスペクトルから 吸収スペクトルを計算し、プロットおよびExcelへの保存を行います。 mode=analyze では、I-Vデータからパラメータ推定、発電特性解析、量子効率計算、 および結果のプロットを行います。
- 主な機能:
反射率/透過率から吸収スペクトルの計算と保存
I-Vデータからの太陽電池パラメータ(I0, ndiode, IPV, Rs, Rsh)推定
発電特性(Voc, Jsc, FF, Pmaxなど)の解析
量子効率(EQE, IQE)の計算
解析結果のプロットとExcelファイルへの保存
- 関連リンク:
pvanalyze_usage
- electrical.pvanalyze.absorptance_from_alpha(alpha_cm, d_nm)
- 概要:
吸収係数と膜厚から吸収率を計算します。
- 詳細説明:
A = 1 - exp(-alpha * d) の式を用いて計算します。
- 引数:
- param alpha_cm:
吸収係数 (cm^-1)。
- type alpha_cm:
float or None
- param d_nm:
PV層の膜厚 (nm)。
- type d_nm:
float
- 戻り値:
- returns:
計算された吸収率。
- rtype:
float
- 例外:
- raises ValueError:
alpha_cmがNoneまたは無効な値の場合。
- electrical.pvanalyze.alpha_at_energy(optical, E_eV)
- 概要:
指定されたフォトンエネルギーにおける吸収係数(α)を光学スペクトルデータから補間して取得します。
- 引数:
- param optical:
analyze_opticalまたはread_alpha_from_excelから返された光学データ辞書。
- type optical:
dict or None
- param E_eV:
取得したいフォトンエネルギー (eV)。
- type E_eV:
float
- 戻り値:
- returns:
指定されたエネルギーにおける吸収係数 (cm^-1)。データがない場合はNaN。
- rtype:
float
- 例外:
- raises ValueError:
補間された吸収係数がNaNの場合。
- electrical.pvanalyze.analyze_optical(wl_R_nm, R_percent, wl_T_nm, T_percent, d_nm)
- 概要:
反射率(R)と透過率(T)のスペクトルデータから吸収率(A)と吸収係数(α)を計算します。
- 詳細説明:
異なる波長スケールのRとTを共通の波長スケールに補間し、 RとTのデータに基づいてAとαを計算します。
- 引数:
- param wl_R_nm:
反射率スペクトルの波長データ (nm)。
- type wl_R_nm:
numpy.ndarray
- param R_percent:
反射率データ (%)。
- type R_percent:
numpy.ndarray
- param wl_T_nm:
透過率スペクトルの波長データ (nm)。
- type wl_T_nm:
numpy.ndarray
- param T_percent:
透過率データ (%)。
- type T_percent:
numpy.ndarray
- param d_nm:
PV層の膜厚 (nm)。
- type d_nm:
float
- 戻り値:
- returns:
計算された光学特性値を含む辞書。
- rtype:
dict - wl_nm (numpy.ndarray): 共通波長データ (nm)。 - R (numpy.ndarray): 反射率 (0-1)。 - Tr (numpy.ndarray): 透過率 (0-1)。 - A (numpy.ndarray): 吸収率 (0-1)。 - alpha_cm^-1 (numpy.ndarray): 吸収係数 (cm^-1)。
- electrical.pvanalyze.choose_sweep(xs_list, ys_list, sweep_index=0)
- 概要:
複数のスイープデータから指定されたインデックスの単一スイープを選択します。
- 引数:
- param xs_list:
各スイープのX軸(電圧)データのリスト。
- type xs_list:
list[numpy.ndarray]
- param ys_list:
各スイープのY軸(電流)データのリスト。
- type ys_list:
list[numpy.ndarray]
- param sweep_index:
選択するスイープのインデックス。
- type sweep_index:
int
- 戻り値:
- returns:
選択されたスイープのX軸データとY軸データ。
- rtype:
tuple[numpy.ndarray, numpy.ndarray]
- 例外:
- raises ValueError:
スイープデータが利用できない場合。
- raises IndexError:
sweep_indexが範囲外の場合。
- electrical.pvanalyze.compute_p0(F0, P0, E_eV, lambda_nm)
- 概要:
入射フォトンエネルギー密度(P0)を計算します。
- 詳細説明:
入射フォトンフラックス(F0)が与えられている場合はそれから計算し、 そうでない場合は直接指定されたP0を使用します。
- 引数:
- param F0:
入射フォトンフラックス (cm^-2 s^-1)。Noneの場合はP0を使用。
- type F0:
float or None
- param P0:
入射フォトンエネルギー密度 (W/cm^2)。Noneの場合はF0から計算。
- type P0:
float or None
- param E_eV:
フォトンエネルギー (eV)。F0からP0を計算する場合に使用。
- type E_eV:
float
- param lambda_nm:
フォトン波長 (nm)。F0からP0を計算する場合に使用。
- type lambda_nm:
float
- 戻り値:
- returns:
計算された入射フォトンエネルギー密度 (W/cm^2)。
- rtype:
float or None
- electrical.pvanalyze.compute_photon_energy_eV(E_eV, lambda_nm)
- 概要:
フォトンエネルギー(eV)を計算します。
- 詳細説明:
フォトンエネルギーが直接与えられている場合はそれを使用し、 そうでない場合は波長から計算します。
- 引数:
- param E_eV:
フォトンエネルギー (eV)。0より大きい場合はこれを使用。
- type E_eV:
float
- param lambda_nm:
フォトン波長 (nm)。E_eVが0の場合にこれを使用。
- type lambda_nm:
float
- 戻り値:
- returns:
計算されたフォトンエネルギー (eV)。
- rtype:
float
- electrical.pvanalyze.consolidate_duplicate_x(x, y)
- 概要:
X軸に重複する値がある場合、Y軸の対応する値を平均して重複を解消します。
- 引数:
- param x:
X軸データ。
- type x:
numpy.ndarray
- param y:
Y軸データ。
- type y:
numpy.ndarray
- 戻り値:
- returns:
重複が解消されたX軸データと、重複が解消され平均化されたY軸データ。
- rtype:
tuple[numpy.ndarray, numpy.ndarray]
- electrical.pvanalyze.dual_print(*args, **kwargs)
- 概要:
標準出力とログファイルの両方にメッセージを出力します。
- 詳細説明:
通常のprint関数の動作を模倣し、標準出力に加えて、 _redirect_fpに設定されたファイルオブジェクトにも出力します。
- 引数:
- param args:
printに渡される位置引数。
- type args:
tuple
- param kwargs:
printに渡されるキーワード引数。
- type kwargs:
dict
- 戻り値:
なし
- electrical.pvanalyze.estimate_initial_params(V, I_meas, T=300.0)
- 概要:
I-Vデータから単一ダイオードモデルの初期パラメータ(I0, ndiode, IPV, Rs, Rsh)を推定します。
- 詳細説明:
estimate_rs_tangent_point、estimate_rsh_tangent_point、 estimate_ndiode_representative_pointなどの補助関数を用いて、 各パラメータの初期値を経験的に決定します。
- 引数:
- param V:
電圧データ (V)。
- type V:
numpy.ndarray
- param I_meas:
測定電流データ (A)。
- type I_meas:
numpy.ndarray
- param T:
温度 (K)。
- type T:
float
- 戻り値:
- returns:
推定された初期パラメータを含む辞書。
- rtype:
dict - I0 (float): 逆方向飽和電流 (A)。 - ndiode (float): ダイオード因子。 - IPV (float): 光電流 (A)。 - Rs (float): 直列抵抗 (Ω)。 - Rsh (float): 並列抵抗 (Ω)。 - Ish (float): 並列抵抗に流れる電流 (A)。 - Vsh (float): Rsh推定における代表点電圧 (V)。 - Vnd (float): ndiode推定における代表点電圧 (V)。
- electrical.pvanalyze.estimate_ndiode_curve(V, I, T=300.0)
- 概要:
I-Vデータから電圧に対するダイオード因子(ndiode)の曲線を推定します。
- 詳細説明:
log(abs(I))の一次微分を計算し、それに基づいて各電圧点におけるダイオード因子を導出します。
- 引数:
- param V:
電圧データ (V)。
- type V:
numpy.ndarray
- param I:
電流データ (A)。
- type I:
numpy.ndarray
- param T:
温度 (K)。
- type T:
float
- 戻り値:
- returns:
ダイオード因子が計算された電圧データと、各電圧に対応する推定されたダイオード因子。
- rtype:
tuple[numpy.ndarray, numpy.ndarray]
- electrical.pvanalyze.estimate_ndiode_representative_point(V, I, T=300.0, Ish=None)
- 概要:
I-V曲線からダイオード因子(ndiode)を推定するための代表点と値を計算します。
- 詳細説明:
順方向バイアス領域でlog(abs(I))の二階微分が最小となる点を特定し、 その点での一次微分からダイオード因子を計算します。
- 引数:
- param V:
電圧データ (V)。
- type V:
numpy.ndarray
- param I:
電流データ (A)。
- type I:
numpy.ndarray
- param T:
温度 (K)。
- type T:
float
- param Ish:
並列抵抗に流れる電流の推定値。これを考慮してIを調整します。
- type Ish:
float or None
- 戻り値:
- returns:
ダイオード因子推定に関する情報を含む辞書。計算できなかった場合はNone。
- rtype:
dict or None - v_rep (float): 代表点電圧 (V)。 - ndiode (float): 推定されたダイオード因子。 - slope_logI (float): 代表点でのlog(abs(I))の傾き (1/V)。 - curvature_logI (float): 代表点でのlog(abs(I))の二階微分 (1/V^2)。
- electrical.pvanalyze.estimate_rs_tangent_point(V, I)
- 概要:
I-V曲線から直列抵抗(Rs)を推定するための接点と抵抗値を計算します。
- 詳細説明:
順方向バイアス領域でdI/dVが最大となる点を特定し、その点での接線からRsを計算します。
- 引数:
- param V:
電圧データ (V)。
- type V:
numpy.ndarray
- param I:
電流データ (A)。
- type I:
numpy.ndarray
- 戻り値:
- returns:
直列抵抗推定に関する情報を含む辞書。
- rtype:
dict - v_rep (float): 接点電圧 (V)。 - i_rep (float): 接点電流 (A)。 - Is (float): 接点電流 (A) (互換性のため)。 - Rs (float): 推定された直列抵抗 (Ω)。 - slope (float): 接線の傾き (A/V)。 - intercept (float): 接線のY切片 (A)。 - xx (numpy.ndarray): 接線フィッティングに使用されたXデータ。 - yy (numpy.ndarray): 接線フィッティングに使用されたYデータ。 - idx (int): 接点のインデックス。
- electrical.pvanalyze.estimate_rsh_tangent_point(V, I)
- 概要:
I-V曲線から並列抵抗(Rsh)を推定するための接点と抵抗値を計算します。
- 詳細説明:
逆方向バイアス領域でdI/dVが最小となる点(絶対値)を特定し、 その点での接線からRshを計算します。
- 引数:
- param V:
電圧データ (V)。
- type V:
numpy.ndarray
- param I:
電流データ (A)。
- type I:
numpy.ndarray
- 戻り値:
- returns:
並列抵抗推定に関する情報を含む辞書。
- rtype:
dict - v_rep (float): 接点電圧 (V)。 - i_rep (float): 接点電流 (A)。 - Ish (float): 接点電流 (A) (互換性のため)。 - Rsh (float): 推定された並列抵抗 (Ω)。 - slope (float): 接線の傾きの絶対値 (A/V)。 - intercept (float): 接線のY切片 (A)。 - slope_fit_raw (float): フィットされた直線の元の傾き (A/V)。 - intercept_fit_raw (float): フィットされた直線の元のY切片 (A)。 - xx (numpy.ndarray): 接線フィッティングに使用されたXデータ。 - yy (numpy.ndarray): 接線フィッティングに使用されたYデータ。 - idx (int): 接点のインデックス。
- electrical.pvanalyze.exec_alpha(args)
- 概要:
alphaまたはmake_alphaモードでプログラムを実行するメイン関数。
- 詳細説明:
光学スペクトルファイル(RとT)を読み込み、吸収率と吸収係数を計算し、 結果をプロットしてExcelファイルに保存します。
- 引数:
- param args:
コマンドライン引数。
- type args:
argparse.Namespace
- 戻り値:
なし
- electrical.pvanalyze.exec_analyze(args)
- 概要:
analyzeモードでプログラムを実行するメイン関数。
- 詳細説明:
暗電流および光照射I-Vファイルを読み込み、初期パラメータと光起電力性能指標を推定し、 量子効率を計算します。光学データが利用可能な場合はそれも考慮に入れます。 結果を標準出力に表示し、比較プロットを作成します。
- 引数:
- param args:
コマンドライン引数。
- type args:
argparse.Namespace
- 戻り値:
なし
- electrical.pvanalyze.fit_local_line(x, y, center_idx, npts=7)
- 概要:
指定された中心インデックスの周囲のデータポイントを用いて局所的な線形フィッティングを行います。
- 引数:
- param x:
X軸データ。
- type x:
numpy.ndarray
- param y:
Y軸データ。
- type y:
numpy.ndarray
- param center_idx:
フィッティングの中心となるデータポイントのインデックス。
- type center_idx:
int
- param npts:
フィッティングに使用するデータポイント数。
- type npts:
int
- 戻り値:
- returns:
フィットされた直線の傾き、Y切片、フィッティングに使用されたXデータ、 Yデータ、開始インデックス、終了インデックス(排他的)のタプル。
- rtype:
tuple[float, float, numpy.ndarray, numpy.ndarray, int, int]
- electrical.pvanalyze.initialize()
- 概要:
コマンドライン引数を解析し、プログラムの初期設定を行います。
- 詳細説明:
argparseモジュールを使用して、実行モード、ファイルパス、温度、膜厚などの パラメータを定義し、ユーザー入力から値をパースします。
- 引数:
なし
- 戻り値:
- returns:
解析された引数オブジェクトと引数パーサーオブジェクトのタプル。
- rtype:
tuple[argparse.Namespace, argparse.ArgumentParser]
- electrical.pvanalyze.interpolate_to_common_wavelength(wl_ref, y_ref, wl_target)
- 概要:
参照波長スケール上のデータをターゲット波長スケールに線形補間します。
- 引数:
- param wl_ref:
参照波長データ (nm)。
- type wl_ref:
numpy.ndarray
- param y_ref:
参照Y軸データ。
- type y_ref:
numpy.ndarray
- param wl_target:
補間対象のターゲット波長データ (nm)。
- type wl_target:
numpy.ndarray
- 戻り値:
- returns:
ターゲット波長スケールに補間されたY軸データ。
- rtype:
numpy.ndarray
- electrical.pvanalyze.local_poly_value(x, y, x0, npts=7, order=3)
- 概要:
指定されたX座標の周囲のデータポイントを使用して、局所的な多項式フィッティングを行い、 x0におけるY値を推定します。
- 引数:
- param x:
X軸データ。
- type x:
numpy.ndarray
- param y:
Y軸データ。
- type y:
numpy.ndarray
- param x0:
Y値を推定するX座標。
- type x0:
float
- param npts:
フィッティングに使用するデータポイント数。
- type npts:
int
- param order:
多項式フィッティングの次数。
- type order:
int
- 戻り値:
- returns:
x0における推定されたY値。
- rtype:
float
- electrical.pvanalyze.main()
- 概要:
プログラムのエントリーポイント。
- 詳細説明:
コマンドライン引数を初期化し、指定されたモードに基づいて 対応する実行関数を呼び出します。 実行ログは自動的にファイルにリダイレクトされます。
- 引数:
なし
- 戻り値:
なし
- electrical.pvanalyze.plot_alpha(optical, outfile=None, pause=False)
- 概要:
吸収係数スペクトル(α vs フォトンエネルギー)をプロットします。
- 引数:
- param optical:
analyze_optical関数から返された光学データ辞書。
- type optical:
dict
- param outfile:
プロットを保存するファイルパス。Noneの場合、画面に表示します。
- type outfile:
str or None
- param pause:
プロットを閉じるまで一時停止するかどうか。Trueの場合、plt.show()を呼び出します。
- type pause:
bool
- 戻り値:
- returns:
作成されたMatplotlib Figureオブジェクト。
- rtype:
matplotlib.figure.Figure
- electrical.pvanalyze.plot_iv_comparison(dark_sweeps, light_sweeps, S, light_metrics, dark_params=None, light_params=None, outfile=None, T=300.0, pause=False)
- 概要:
暗電流I-Vおよび光照射I-Vデータと、関連する推定値や解析結果を比較プロットします。
- 詳細説明:
以下の4つのサブプロットを作成します。 - log(abs(I))-V曲線(暗電流と光電流)。 - 線形J-V曲線(順方向と逆方向)。RsとRshの接線、Ish(0)点を表示。 - ndiode-V曲線と代表点。 - 光起電力出力(-J vs V)。MPP, Voc, Jsc点を表示。
- 引数:
- param dark_sweeps:
暗電流測定のI-Vスイープデータのリスト。
- type dark_sweeps:
list[tuple[numpy.ndarray, numpy.ndarray]]
- param light_sweeps:
光照射測定のI-Vスイープデータのリスト。
- type light_sweeps:
list[tuple[numpy.ndarray, numpy.ndarray]]
- param S:
デバイスの面積 (cm^2)。
- type S:
float
- param light_metrics:
光照射下のI-Vデータから計算された光起電力性能指標。
- type light_metrics:
dict
- param dark_params:
暗電流I-Vデータから推定された初期パラメータ。Rs/Rshの接線表示に使用。
- type dark_params:
dict or None
- param light_params:
光照射I-Vデータから推定された初期パラメータ。I0/IPVの表示に使用。
- type light_params:
dict or None
- param outfile:
プロットを保存するファイルパス。Noneの場合、画面に表示します。
- type outfile:
str or None
- param T:
温度 (K)。ndiode曲線の計算に使用。
- type T:
float
- param pause:
プロットを閉じるまで一時停止するかどうか。Trueの場合、plt.show()を呼び出します。
- type pause:
bool
- 戻り値:
- returns:
作成されたMatplotlib Figureオブジェクト。
- rtype:
matplotlib.figure.Figure
- electrical.pvanalyze.print_args_and_derived(args, E_use=None, P0_use=None)
- 概要:
解析されたコマンドライン引数と派生値を標準出力に表示します。
- 引数:
- param args:
解析された引数オブジェクト。
- type args:
argparse.Namespace
- param E_use:
使用されるフォトンエネルギー (eV)。
- type E_use:
float or None
- param P0_use:
使用される入射光パワー密度 (W/cm^2)。
- type P0_use:
float or None
- 戻り値:
なし
- electrical.pvanalyze.pv_metrics_from_iv(V, I, S)
- 概要:
I-Vデータから太陽電池の主要な性能指標(Voc, Jsc, FF, Pmaxなど)を計算します。
- 引数:
- param V:
電圧データ (V)。
- type V:
numpy.ndarray
- param I:
電流データ (A)。
- type I:
numpy.ndarray
- param S:
電極面積 (cm^2)。
- type S:
float
- 戻り値:
- returns:
以下の主要な太陽電池性能指標を含む辞書。
- rtype:
dict - Voc_V (float): 開放電圧 (V)。 - Jsc_A_cm2 (float): 短絡電流密度 (A/cm^2)。 - Jsc_mA_cm2 (float): 短絡電流密度 (mA/cm^2)。 - Vop_V (float): 最大出力動作電圧 (V)。 - Jop_A_cm2 (float): 最大出力動作電流密度 (A/cm^2)。 - Jop_mA_cm2 (float): 最大出力動作電流密度 (mA/cm^2)。 - Pmax_W_cm2 (float): 最大出力電力密度 (W/cm^2)。 - Pmax_mW_cm2 (float): 最大出力電力密度 (mW/cm^2)。 - FF (float): 曲線因子。
- electrical.pvanalyze.quantum_efficiencies(F0, A_abs, JPV_A_cm2, Jsc_A_cm2)
- 概要:
量子効率(EQEとIQE)を計算します。
- 詳細説明:
入射フォトンフラックス、吸収率、光電流(JPV)、短絡電流密度(Jsc)に基づいて、 生成効率と収集効率を評価します。
- 引数:
- param F0:
入射フォトンフラックス (cm^-2 s^-1)。Noneまたは0の場合はNaNを返します。
- type F0:
float or None
- param A_abs:
特定のエネルギーにおける吸収率。NoneまたはNaNの場合はIQEをNaNとします。
- type A_abs:
float or None
- param JPV_A_cm2:
光電流密度 (A/cm^2)。
- type JPV_A_cm2:
float
- param Jsc_A_cm2:
短絡電流密度 (A/cm^2)。
- type Jsc_A_cm2:
float
- 戻り値:
- returns:
計算された量子効率を含む辞書。
- rtype:
dict - EQE_gen (float): 生成外部量子効率。 - IQE_gen (float): 生成内部量子効率。 - EQE (float): 外部量子効率。 - IQE (float): 内部量子効率。
- electrical.pvanalyze.read_alpha_from_excel(infile)
- 概要:
Excelファイルから吸収スペクトル(alpha)データを読み込みます。
- 詳細説明:
save_alpha_to_excel関数によって保存された形式のExcelファイルを想定しています。 alpha_spectrumシートから波長、R、Tr、A、alphaのデータを抽出します。
- 引数:
- param infile:
読み込むExcelファイルのパス。
- type infile:
str
- 戻り値:
- returns:
波長、反射率、透過率、吸収率、吸収係数を含む辞書。
- rtype:
dict
- 例外:
- raises ValueError:
指定されたExcelファイルに'alpha_spectrum'シートが見つからない場合。
- raises ValueError:
ファイルから数値の吸収スペクトルデータが見つからない場合。
- electrical.pvanalyze.read_data(infile, xmin=None, xmax=None, ndataskip=0)
- 概要:
指定されたCSVファイルからI-Vデータを読み込みます。
- 詳細説明:
ファイル内のメタデータ(記録時間、データ名)を抽出し、電圧と電流のデータポイントをパースします。 複数のスイープを検出し、それぞれをリストに分割します。
- 引数:
- param infile:
読み込むCSVファイルのパス。
- type infile:
str
- param xmin:
X軸(電圧)の最小値。これより小さい値はスキップされます。
- type xmin:
float or None
- param xmax:
X軸(電圧)の最大値。これより大きい値はスキップされます。
- type xmax:
float or None
- param ndataskip:
データポイントをスキップする間隔。0の場合、スキップしません。
- type ndataskip:
int
- 戻り値:
- returns:
各スイープのX軸(電圧)データのリスト、各スイープのY軸(電流)データのリスト、ファイルから抽出されたメタデータのタプル。
- rtype:
tuple[list[numpy.ndarray], list[numpy.ndarray], dict]
- 例外:
- raises ValueError:
ファイルから有効なI-Vデータが見つからない場合。
- electrical.pvanalyze.read_optical_spectrum(infile)
- 概要:
指定されたテキストファイルから光学スペクトルデータ(反射率Rまたは透過率T)を読み込みます。
- 詳細説明:
ファイル内のタブ区切りまたはスペース区切りのデータをパースし、 波長とスペクトル値のペアを抽出します。 重複する波長を処理し、波長順にソートします。
- 引数:
- param infile:
読み込む光学スペクトルファイルのパス。
- type infile:
str
- 戻り値:
- returns:
波長 (nm)のnumpy.ndarray、スペクトル値 (RまたはTのパーセンテージ)のnumpy.ndarray、 ファイルから抽出されたメタデータを含む辞書のタプル。
- rtype:
tuple[numpy.ndarray, numpy.ndarray, dict]
- 例外:
- raises RuntimeError:
ファイルの読み込みに失敗した場合。
- raises ValueError:
ファイルから数値のスペクトルデータが見つからない場合。
- electrical.pvanalyze.save_alpha_to_excel(optical, outfile_xlsx, meta=None)
- 概要:
吸収スペクトルデータをExcelファイルに保存します。
- 詳細説明:
alpha_spectrumというシートにフォトンエネルギー、波長、R、Tr、A、alphaのデータを書き込みます。 summaryシートには膜厚やファイル名、平均値などのメタデータを保存します。
- 引数:
- param optical:
analyze_optical関数から返された光学データ辞書。
- type optical:
dict
- param outfile_xlsx:
保存するExcelファイルのパス。
- type outfile_xlsx:
str
- param meta:
保存する追加のメタデータ。
- type meta:
dict or None
- 戻り値:
なし
- electrical.pvanalyze.smooth_polyfit(y, window_points=5, poly_order=3)
- 概要:
多項式フィッティングを用いたSavitzky-Golay風の平滑化をデータに適用します。
- 詳細説明:
各データポイントを中心に指定されたウィンドウ内のデータに対して多項式フィッティングを行い、 中心点の値を予測することで平滑化を行います。
- 引数:
- param y:
平滑化するY軸データ。
- type y:
numpy.ndarray
- param window_points:
フィッティングに使用するウィンドウ内のデータポイント数。奇数である必要があります。
- type window_points:
int
- param poly_order:
多項式フィッティングの次数。
- type poly_order:
int
- 戻り値:
- returns:
平滑化されたY軸データ。
- rtype:
numpy.ndarray
- electrical.pvanalyze.zero_crossing_x(x, y)
- 概要:
Y値がゼロを横切るX座標を線形補間によって見つけます。
- 詳細説明:
2つの連続するデータポイントの間でY値の符号が変わる点、 またはY値が最もゼロに近い点のX座標を返します。
- 引数:
- param x:
X軸データ。
- type x:
numpy.ndarray
- param y:
Y軸データ。
- type y:
numpy.ndarray
- 戻り値:
- returns:
Y値がゼロを横切るX座標。
- rtype:
float