Пример #1
0
void timeStep(Circuit &c){
    double dt = c.dt;
    double iR = c.iR;
    double iC = c.iC;
    for(int i = 0; i < c.Vin.rows; i++){
        for(int j = 0; j < c.Vin.cols; j++){
            for(int index = 0; index < 3;index++){
                double _Vout = c.Vout(i,j)[index];
                double _dVout = c.dVout(i,j)[index];
                double _ddVout = ((c.Vin(i,j)[index]
                                    -c.Vin_prev(i,j)[index])
                                    -_dVout)*iR*iC;
    
                c.Vout(i,j)[index] = _Vout+_dVout*dt;
                c.dVout(i,j)[index] = _dVout+_ddVout*dt;
                c.qVout(i,j)[index] = _Vout;
            }
        }
    }
}