Построение ВАХ солнечной панели для заданной освещенности и температуры. Проект C++ не работает [дубликат]C++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 Построение ВАХ солнечной панели для заданной освещенности и температуры. Проект C++ не работает [дубликат]

Сообщение Anonymous »

Код: Выделить всё

#include 
#include 
#include 
#include 
#include 
#include 

using namespace std;

const double q = 1.602e-19;
const double k = 8.617e-5;
const double Rs = 0.008 * 36;
const double Rsh = 1000 * 36;
const double Ns = 36;
const double I_sc = 3.8;
const double Voc = 21.1;
const double TR = 25;
const double a = 0.00065;
const double b = 0.08;
const double n = 2.1;

double I_ph(double T, double G) {
return (I_sc + (a * (T - 298.15))) * ( G / 1000.0);
}

double I_0(double T) {
double exponent = q * (Voc + b * (T - 298.15)) / (n * k * T * Ns);
double denominator = exp(exponent) - 1;

return (I_sc + a * (T - 298.15)) / denominator;
}

double calc_I(double V, double T, double G) {

double Vt = (k * (T + 273.15)) / q;

return I_ph(T, G) - I_0(T) * (exp((q * (V + (V / Rs))) / (n * k * T * Vt)) - 1) - ((V + (V / Rs)) / Rsh);
}

double calculateVmax(double T) {
double Vt = (k * (T + 273.15)) / q;
return Voc - ((k * (T + 273.15)) / q) * log(I_sc / (I_sc + I_0(T)));
}

double newtonRaphson(double V, double T, double G) {
const double epsilon = 1e-6; // Tolerance
const double dx = 1e-6; // Step size for derivative

double x0 = V;
while (true) {
double f = calc_I(x0, T, G) - V;
double df = (calc_I(x0 + dx, T, G) - calc_I(x0, T, G)) / dx;
double x1 = x0 - f / df;

cout 

Подробнее здесь: [url]https://stackoverflow.com/questions/78429163/plotting-the-i-v-characteristics-of-a-solar-panel-for-a-specified-irradiance-and[/url]
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C++»