Hacktoberfest 2026:維護者為十月標記出來的 issue,仍然開放、適合新手。 瀏覽 Hacktoberfest issue

A method of finding the MPP using Newton with guaranteed convergence

未關閉
#2,561 2 則留言 1 個 reaction 已指派 0 人 在 GitHub 檢視

維護者通常 1 天內回覆

還沒有人認領這個 Issue。

評估

難度
5/5
預估耗時
一週以上
新手友好度
10/100
Issue 類型
功能
描述清晰度
需要釐清
活躍度
停滯
技術堆疊
python
領域
backend

研究方向

The issue asks whether to add a Newton-based maximum power point method to the existing method options (lambertw, newton, brentq, chandrupatla) and compares timings. Start with the existing MPP method dispatch and the i_from_v and v_from_i helpers it uses, and read the linked paper's algorithm. Nothing is decided: the issue asks a maintainer whether the method is worth including, so done means a maintainer agrees to a scope and a benchmarked implementation is reviewed.

由索引模型根據 Issue 內容生成。

描述

enhancement

This paper provides a Newton-based method of finding the MPP, with the function and starting point constructed in such a way that they claim guarantees convergence. Rough timing (for 1000 sets of SDE parameters) compared with our existing methods:

  • method='lambertw': 42.5 ms ± 1.64 ms per loop (mean ± std. dev. of 7 runs, 10 loops each)
  • method='newton': 8.57 ms ± 236 μs per loop (mean ± std. dev. of 7 runs, 100 loops each)
  • method='brentq': 877 ms ± 20.3 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)
  • method='chandrupatla': 22.3 ms ± 974 μs per loop (mean ± std. dev. of 7 runs, 10 loops each)
  • Toledo et al. : 9.4 ms ± 713 μs per loop (mean ± std. dev. of 7 runs, 100 loops each)

The implementation is fewer than 100 lines of code (although Isc and Vmp are calculated using pvlib's i_from_v and v_from_i functions instead of the method in the paper).

Reference:

Toledo, F.J., Galiano, V., Herranz, V. et al. A comparison of methods for the calculation of all the key points of the PV single-diode model including a new algorithm for the maximum power point. Optim Eng 25, 1469–1503 (2024). https://doi.org/10.1007/s11081-023-09850-8

Worth including in pvlib?

主要語言
Python
星號
1.7k
分支
1.2k
平均合併
3 天 18 小時
30 天內合併 PR
13

環境準備

從這裡開始

  1. 先讀完整個 Issue,再讀專案的貢獻指南。
  2. 在 Issue 下留言說明你要接手 —— 這能避免兩個人做同樣的事。
  3. Fork 儲存庫,在一個分支上完成修改。
  4. 送出 Pull Request,並在描述裡引用這個 Issue 編號。

pvlib/pvlib-python 的其他 Issue

查看 pvlib/pvlib-python 的全部 Issue

相似的 Issue

更多 Python Issue

把新 issue 寄到你的電子郵件信箱

精選適合新手參與的 GitHub issue 摘要。