Internet, Programmierung & Power Engineering

AC / C + +-Programm und Source Code für Computing Ybus und Zbus Matrizen

Unten ist ein C / C + + Programm-und Source-Code, berechnet die Ybus und Zbus eines bestimmten elektrischen Netz von beliebiger Größe. Die Eingabe ist auf "rx.txt" mit den folgenden Spalte-Format; "Von-Bus', 'in den Bus ',' R ', und' x '. Die "Aus-Bus' und 'bus" muss eine positive ganze Folge von Null angefangen. Bus Null ist davon ausgehen, dass sich die slack-oder Swing-Bus. Komplexe Header-Datei verwendet wurde, um die Matrix-Operationen. Zbus wurde berechnet, indem Sie einfach die Invertierung Ybus.

  //----------------------------- # Pragma hdrstop //-------------- --------------- # Pragma argsused # include <stdio.h> # include <conio.h> # include "matrix.h" # include <complex.h> mithilfe std:: komplex; using namespace math; typedef komplexen Complex; typedef Matrix-Matrix; void main (void) (/ / Variablen deklarieren int cnt, i, j, matsize = 1; doppelt tmp3, tmp4; Komplexe tmp6; Y-Matrix, Ybus, Zbus; FILE *; Y. SetSize (matsize, matsize) / / set eine temporäre Rastergröße / / Get the Zweigniederlassung Daten in = fopen ( "rx.txt", "r"); / / Datei öffnen if (in == NULL) (printf ( "nrx.txt nicht gefunden"); getch ();) cnt = j = i = 0; for (;;) (if (fscanf (in, "% d", & i) == EOF) (break;) if (i> matsize) (matsize = i;) fscanf (in, "% d", & j); if (j> matsize) (matsize = j;) Y. SetSize (matsize +1, matsize + 1); fscanf (in, "% lf", & tmp3); fscanf (in, "% lf", & tmp4); tmp6 = Complex (tmp3, tmp4); Y (i, j) = 1.0/tmp6; cnt + +;) fclose (in); / / Ende der Zweigstelle bekommen data / / Create Ybus Ybus.SetSize (matsize +1, matsize +1) / / Diagonal Einträge for (i = 0; i <= matsize; i + +) (for (j = 0; j <= matsize; j + +) (Ybus (i, i) = Ybus (i, i) + Y (i, j);)) for (j = 0; j <= matsize; j + +) (for ( i = 0; i <= matsize; i + +) (Ybus (j, j) = Ybus (J, J) + Y (i, j);)) / / end / / Off-Diagonale Einträge cnt = 0; for (j cnt = j <= matsize; j + +) (for (i = 0; i <= matsize; i + +) (if (j! = i) (Ybus (i, j) = Ybus (j, i) =- 1,0 * Y (i, j);)) cnt + +;) / / end / / Ende der Schaffung von Y-Bus / / 0-Bus ist nicht in der Matrix Ybus / / denn es ist der Verweis Bus for (j = 1; j <= matsize; j + +) (for (i = 1; i <= matsize; i + +) (Ybus (i-1, j-1) = Ybus (i, j);)) Ybus.SetSize (matsize, matsize); Zbus. SetSize (matsize, matsize); printf ( "nnYbus Matrixn"); cout <<Ybus <<endl; Zbus =! Ybus; / / Get the inverse von der Ybus printf ( "nnZbus Matrixn"); cout <<Zbus << endl; getch ();) 


Gespeichert in: Transmission System-und Load-Flow-Analyse, C + +

«Zurück Artikel in den Übertragungs-und Load-Flow-Analyse: Bustyp eines Busses mit Generator und Lasten auf die IT-Connected
«Vorheriger Artikel in C + +: Matrix TCL Lite: Es wird eine Header-Datei-Matrix-Matrix für Operationen in C + +

»Weiter Artikel in den Übertragungs-und Load-Flow-Analyse: eine Methode bei der Beurteilung der Auswirkungen der Windpark in der Power Transmission System
»Weiter Artikel in C + +: Wie führe ich eine Stand-Alone Borland C + +-Anwendung

Search this site

Web www.jcmiras.net

Sponsored Links


Übersetzungen

English flagItalian flagKorean flagChinese (Simplified) flagPortuguese flag
German flagFrench flagSpanish flagJapanese flagArabic flag
Russian flagHindi flag   
By N2H

Legal