Sto lavorando a un programma che confronta due curve (derivate dall'uscita diodo quindi dalla sua curva di tensione/corrente).Calcolo dell'area tra due curve
Voglio calcolare l'area tra queste due curve (la curva BLU è il primo diodo e ROSSO è la seconda).
Ci sono 51 punti di dati per ciascuna curva (hanno sempre stessa quantità di dati poitns). Quello che sto facendo in questo momento è come questo:
public double CalculateArea(double[,] pin1, double[,] pin2)
{
double voltageArea = 0;
double currentArea = 0; //Current (Vertical axis) not yet!
double max = 0;
double min = 0;
for (int i = 0; i < pin1.GetLength(0); i++)
{
max = Math.Max(Math.Abs(pin1[i, 0]), Math.Abs(pin2[i, 0]));
min = Math.Min(Math.Abs(pin1[i, 0]), Math.Abs(pin2[i, 0]));
voltageArea += max - min;
}
return voltageArea;
}
Questo codice funziona in qualche modo, avendo in mente non faccio niente con corrente (asse verticale). Se il risultato è qualcosa vicino a 0 per esempio 0,05 allora la differenza tra le curve è negetable. Ma sono sicuro che questo non è il modo corretto, non ho assolutamente idea di quale sia il risultato del metodo che ho scritto ... sembra essere la differenza tra solo i punti di tensione.
Sono davvero grato se puoi aiutarmi a migliorare questo metodo.
Area di quadrilatero? –
Saluta [integrale] (http://en.wikipedia.org/wiki/Integral) :) – Reniuz
Detto, ma hanno detto ciao in cambio: PI non ha idea di come posso integrare utilizzando solo i punti dati –