This document presents a mathematical model for modeling solar photovoltaic panels and evaluates a perturb and observe maximum power point tracking (MPPT) control algorithm. The author first derives equations to model an ideal solar cell and compares the results to a component simulation model and practical hardware model. MATLAB programs are used to analyze the effects of solar irradiation and temperature on the panel output. Finally, a perturb and observe MPPT control algorithm is implemented and shown to improve power extraction from the panel compared to without the controller. The results show that the mathematical model accurately represents the practical solar panel.