Anuncio

Colapsar
No hay anuncio todavía.

[AYUDA] Diseño para reducir una Matriz (Metodo de Kron)

Colapsar
X
  • Filtrar
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes

  • [AYUDA] Diseño para reducir una Matriz (Metodo de Kron)

    Buenas Tardes, quisiera pedirles ayuda a usted, para que me guien, ayuden o aporten un programa u funcion, para utilizarla en mi calculadora CX CAS , en el cual pueda realizar la reduccion de una matriz (ej: 5x5 a 3x3), esta herramienta me seria de utiliza en el curso de Lineas de Transmision, de la carrera de Ing Electrica. El metodo utilizado para realizar dicha reduccion, se llama REDUCCION DE KRON, o METODO DE REDUCCION DE KRON, y en que consiste:

    Para poder simplificar una matriz en general para muchos casos 5x5 a 3x3, se realiza una serie de calculos en los cuales se van eliminando, elementos de la matriz original a partir de la siguiente formula:
    Zij(nuevo)= Zij(viejo) - ([ZikxZjk]/Zkk)

    donde: Zij(nuevo) = al elemento nuevo usado para la nueva matriz
    Zij(viejo) = al elemento viejo de la matriz para eliminar
    Zik = corresponde al elemento final de la fila donde se encuentra el elemento a eliminar o cambiar
    Zjk = elemento final de la columna donde se encuentra el elemento a cambiar
    Zkk = pivote (el cual se encuentra o se usa el elemento alojado en la parte inferior de la matriz a la derecha)

    Este procedimiento debe pasar primero por reducir la matriz 5x5 a 4x4 y luego finalmente 3x3, eliminando primero la fila y columna 5 para pasar a la matriz 4x4 y luego la fila y columna 4 para a la matriz 3x3.

    Mis dudas son, como introducir cada elemento para la matriz 5x5, como realizar el calculo, para luego hacer que aparezca los resultados de la matriz 5x5 a 4x4,y luego a 3x3(lo cual es el resultado que se quiere), por otro lado aqui se trabaja con numeros complejos.

    PD: poseo pocos conocimiento de programacion en la calculadora, pero he visto materias donde se programa con C++ , asi que mas o menos no ando en 0

    Les agadezco su ayuda!.

    ANEXO: Haga clic en la imagen para ver una versión más grande

Nombre:	7bd815d1e8a4f2565de669ad2886e4b4.jpg
Visitas:	1
Size:	36,7 KB
ID:	2378Haga clic en la imagen para ver una versión más grande

Nombre:	d55d92aa90dc4b36e2f1965f08b2c342.jpg
Visitas:	1
Size:	39,1 KB
ID:	2379

  • #2
    Ola colega, yo llevare el curso de líneas de transmisión y antenas el siguiente ciclo, pero te puedo ayudar - si tuvieras un ejemplo conciso, te agradecería mucho

    Comentario


    • #3
      semi-explicacion

      ok, realmente me gustaria hacer el ejemplo pero nada mas el profesor a mano lleva su tiempo por eso quiero hacer el programa para simplificar las cosas, ya que me tomaria demasiado realizar las operaciones en plena evaluacion.

      de todas manera, tratare de subir algun ejercicio que he realizado para que veas mejor a que me refiero, aunque es simple matematicas y algebra.

      para adelantar, quisiera saber como empezar introduciendo los datos a una matriz 5x5, es decir, mas o menos que diga: introduzca los datos de la fila 1, y se van almacenando, fila2, y asi sucesivamente hasta la fila 5, luego internamente, el programa reconoce quien sera cada elemento para realizar la operacion matematica, que en si consiste el metodo, entonces, alli entra la otra duda como cada resultado nuevo se va almacenando en una nueva variable, para formar la siguiente matriz 4x4 en ese caso!. mas o menos es asi como he pensando que va a ir el programa , espero por lo menos en 3 o 4 dias, hacer un ejemplo, en work de como seria una reduccion y subirlo, ya que seria de mucha ayuda tener esta herramienta para mi evaluacion dentro de 2 semanas!.

      asi sucesivamente aprendo como y me relaciono con el lenguaje para diseñar programas en la CX CAS, ya que es una excelente calculadora, y apenas hago cosas basicas, y no saco todo su potencial.

      Nota: ojala hubiera mas gente activa en este foro, para poder ayudarnos mas, sacar nuevas cosas, y nuevos temas, tutoriales, para gente principiante como yo , con ayuda de expertos! SALUDOS.

      Comentario


      • #4
        buenas encontre una funcion que hicieron en matlab y trato de reescribirla para que la cx cas la haga, a ver si me ayudan con eso por favor

        esto es lo que yo he hecho!.

        Define kron(m,p)=
        Func
        :Local i,j,p,m
        :dim(m)→q
        :q[1]→s
        :For i,1,s
        : For j,1,s
        : If i=p
        : If j=p
        : k[i,j]=m[i,j]-((m[i,p]*m[p,j])/(m[p,p]))
        : EndFor
        :EndFor
        :EndFunc

        modificado con ayuda!...

        original matlab

        function [K] = Kron(m, p)
        %function declara una funcion que acepta entradas y devuelve salidas
        %esta instruccion de declacracion debe ser la primera linea
        [s]=size(m);
        %La funcion[fila, columna] = size(X) devuelve el tamaño o dimension de la matriz
        for j = 1: 1: s
        %La funcion for ejecuta un numero especifico de veces una sentencia
        for k = 1: 1: s
        if (j ~= p)
        %if() permite que el programa pueda tomar una decision
        if (k ~= p)
        K(j,k) = m(j,k)-((m(j,p)*m(p,k))/m(p,p));
        %Formula para la reduccion de kron
        end
        end
        end
        end


        pagina de donde lo saque: http://itesla.blogspot.mx/2014/02/re...on-matlab.html
        Editado por última vez por naldo; http://www.calculadoras.cl/foro/member/96931-naldo en 10/05/14, 20:10:51.

        Comentario

        Trabajando...
        X