Ybus matlab codigo

download Ybus matlab codigo

of 5

Transcript of Ybus matlab codigo

  • Algoritmo que permite obtener la matriz Ybus de un sistema de potencia de

    N nodos.

    Aspectos generales acerca del cdigo y sus alcances:

    1. Este algoritmo no puede resolver un sistema de potencia donde se encuentren lneas

    conectadas en paralelo.

    2. Para transformadores tridevanados el modo de ingresar los datos es el siguiente:

    El valor de la admitancia se ingresa entre los nodos al cual se encuentra conectado cada

    devanado.

    3. Todos los datos se ingresan en valor en por unidad [PU].

    Algunas referencias:

    http://iaci.unq.edu.ar/materias/control2/web/tp/comandos.pdf

    http://www.mathworks.com/help/matlab/ref/sum.html

  • Nota:

    Para todo el cdigo el punto y coma (;) evita que me muestre el resultado de la operacin en

    pantalla.

    1 clear all;

    Remueve todas las variables que se encuentran presentes en workspace liberando memoria del

    sistema.

    2 clc;

    Borra todas las entradas y salidas desde la visualizacin de Command Window, en otras palabras

    limpia la pantalla y no afecta las variables de la sesin de trabajo workspace.

    3 display(' YBUS');

    Este comando permite visualizar texto y expresiones numricas.

    4 nbarras=input('SELECCIONE EL NUMERO DE BARRAS = ');

    Input es una funcin interna de Matlab para solicitar una entrada al usuario, esta entrada se guarda

    en el argumento de salida nbarras.

    Lo que se encuentra entre comilla simple es el argumento de entrada, es decir lo que se le asigna a

    la funcin Input luego de ser ejecutada.

    Es decir la funcin input pide al usuario el nmero total de nodos en el SEP y lo lleva al argumento

    de salida nbarras.

    5 display('DATOS DE LA LINEA');

    Este comando permite visualizar texto y expresiones numricas.

    6 nl=input('NUMERO DE LINEAS = ');

    Input es una funcin interna de Matlab para solicitar una entrada al usuario, esta entrada se guarda

    en el argumento de salida nl .

    Lo que se encuentra entre comilla simple es el argumento de entrada, es decir lo que se le asigna a

    la funcin Input luego de ser ejecutada.

    Es decir la funcin input pide al usuario el nmero total de lneas en SEP en anlisis y lo lleva al

    argumento de salida nl.

    7 A=zeros(nbarras,nbarras);

  • La funcin ceros genera una matriz de ceros de nbarras*nbarras es decir cuadrada de tamao

    dependiente del argumento de salida nbarras de la lnea de cdigo 4.

    8 for n=1:1:nl

    El bucle for se utiliza para repetir el conjunto de sentencias hasta llegar a nl.

    El bucle funciona de este modo:

    VARIABLE:INICIO:INCREMENTO:FIN Donde esto explica la funcin del operador (:), la variable de la

    cabecera va tomando sucesivamente cada uno de los valores desde el inicio, bajo un incremento

    hasta llegar a su fin y para cada uno de ellos repite las sentencias asociadas hasta finalizar el bucle.

    9 fb=input('DESDE EL BUS = ');

    Se pide al usuario ingresar la coordenada fb correspondiente al nodo donde se encuentra conectada

    la lnea de transmisin en su inicio. Finalmente se lleva al argumento de salida fb.

    10 tb=input('HASTA EL BUS = ');

    Se pide al usuario ingresar la coordenada tb correspondiente al nodo donde se encuentra conectada

    la lnea de transmisin en su final. Posteriormente se lleva al argumento tb.

    11

    12 y=input('VALOR DE ADMITANCIA= ');

    Se pide al usuario ingresar el valor de la admitancia correspondiente a la lnea de transmisin,

    posteriormente se lleva al argumento y.

    Para ver el funcionamiento completo de la funcin input remitirse a la lnea 4.

    13 ysh=input('ADMITANCIA SHUNT Y/2 = ');

    Se pide al usuario ingresar el valor de la admitancia shunt/2 correspondiente a la lnea de

    transmisin, posteriormente se lleva al argumento ysh.

    Para ver el funcionamiento completo de la funcin input remitirse a la lnea 4.

    14

    15 A(fb,tb)=ysh+y;

    El valor de la admitancia serie y shunt se le asigna a la matriz A de ceros definida en la lnea de cdigo

    7 en su respectiva posicin asignada por el bucle for.

    16

    17 end

    18 Fin del bloque de cdigo for para las lneas de transmisin.

  • 19 nT=input('NUMERO DE TRANSDORMADORES = ');

    Input es una funcin interna de Matlab para solicitar una entrada al usuario, esta entrada se guarda

    en el argumento de salida nT.

    Lo que se encuentra entre comilla simple es el argumento de entrada, es decir lo que se le asigna a

    la funcin Input luego de ser ejecutada.

    Es decir la funcin input pide al usuario el nmero total de lneas en SEP en anlisis y lo lleva al

    argumento de salida nT.

    20

    21 for n=1:1:nT

    El bucle for se utiliza para repetir el conjunto de sentencias hasta llegar a nT.

    El bucle funciona de este modo:

    VARIABLE:INICIO:INCREMENTO:FIN Donde esto explica la funcin del operador (:), la variable de

    la cabecera va tomando sucesivamente cada uno de los valores desde el inicio, bajo un incremento

    hasta llegar a su fin y para cada uno de ellos repite las sentencias asociadas hasta finalizar el bucle.

    22

    23 fb=input('DESDE EL BUS = ');

    Se pide al usuario ingresar la coordenada fb correspondiente al nodo donde se encuentra conectado

    el transformador. Finalmente se lleva al argumento de salida fb.

    24 tb=input('HASTA EL BUS = ');

    Se pide al usuario ingresar la coordenada tb correspondiente al nodo donde se encuentra conectado

    el transformador en su final. Posteriormente se lleva al argumento tb.

    25 A(fb,tb)=input('INGRESE ADMITANCIA TRAFO :');

    El valor de la admitancia del transformador se le asigna a la matriz A de ceros definida en la lnea de

    cdigo 7 en su respectiva posicin asignada por el bucle for.

    26

    27 M=A.'+ A;

    A la Matriz [A] que es triangular superior, es decir solo existen elementos en las posiciones por

    encima de la diagonal, para rellenar la zona triangular inferior se traspone [A] teniendo cuidado de

  • usar el comando A. para obtener la matriz transpuesta, sin conjugar y se le suma la matriz A original,

    obteniendo la matriz M que contiene todos los elementos por encima y por debajo de la diagonal.

    La diagonal de la Matriz M, est compuesta por ceros.

    28

    29

    30 end

    31

    32 X = sum(M,2);

    Sum es una funcin que suma los elementos de fila. Construye un vector columna X, que es la suma de los elementos de cada fila de la matriz M. Esto para cumplir que los elementos de la diagonal Yjj son iguales a la suma de las admitancias que

    estn conectadas directamente al nodo j.

    33

    34

    35 YBUS=diag(X)- M

    El argumento de salida X es un vector columna con la funcin diag se crea una matriz diagonal.

    A la matriz diagonal se le resta la matriz M, para rellenar toda la Ybus, y para dar cumplimiento que

    los elementos fuera de la diagonal Yij son iguales al negativo de la admitancia total conectada entre

    los nodos i y j.