LE1

download LE1

of 38

description

Métodos Numéricos.Exercícios resolvidos em Matlab sobre Sistemas Lineares

Transcript of LE1

  • CENTRO FEDERAL DE EDUCAO TECNOLGICA DE

    MINAS GERAIS

    Mestrado em Engenharia Eltrica

    THASA RODRIGUES LOBACK DURES

    1a LISTA DE EXERCCIOS:

    Erros e Sistemas Lineares

    Belo Horizonte

    07 de abril de 2015

  • 2

    1. Introduo

    A soluo computacional de um dado problema desenvolvida atravs das

    tcnicas de clculo numrico. Para que a aplicao desses tcnicas seja possvel, deve-se

    seguir a sequncia de quatro etapas: definio do problema, modelagem matemtica,

    soluo numrica e anlise dos resultados.

    Ao definir um problema, espera-se chegar a uma determinada soluo atravs da

    manipulao matemtica das variveis que influenciem essa soluo. Nessa primeira

    etapa, so, ento, identificadas essas variveis e os possveis resultados para a soluo

    do problema.

    A modelagem matemtica consiste em se obter equaes que relacionem as

    variveis conhecidas com os resultados possveis. J a soluo numrica, comea pela

    escolha do mtodo numrico mais apropriado para as condies do problema. Passa-se,

    ento, para a sua descrio computacional atravs da elaborao de um algoritmo, que,

    por sua vez implementado numa das linguagens de programao existentes.

    Finalmente, o programa editado em um arquivo e executado pelo computador.

    Atravs da anlise dos resultados possvel verificar se houve adequao da

    soluo numrica ao problema real, anteriormente definido. Observa-se tambm, nessa

    etapa, os possveis erros que a modelagem matemtica e sua implementao pode

    incorrer.

    Este relatrio tem o objetivo de introduzir alguns mtodos na soluo

    computacional de problemas de lgebra linear. Procura-se a implementao de

    algoritmos prticos, com baixo custo computacional e com menor infringncia de erros.

    Utiliza-se a linguagem de programao C++ para elaborao dos algoritmos e sua

    compilao pelo programa DEV C/C++. Para melhor segurana em relao ao uso das

    tcnicas apresentadas, comparou-se alguns resultados com os obtidos pelo programa

    Matlab.

    2. Exerccios Propostos

    1) Desenvolva um algoritmo em C para realizar a multiplicao de duas matrizes. No se esqueam de verificar se a multiplicao possvel antes de realiz-la.

    Teste os resultados obtidos com aqueles gerados pelo MATLAB. Considerar

    preciso simples e preciso estendida. Para comparar os resultados calcule a

    norma 2 da matriz resultado. Comente!

    2) Desenvolva um algoritmo em C para resolver sistemas lineares triangulares (Superior e Inferior). Teste os resultados obtidos com aqueles gerados pelo

    MATLAB. Considerar preciso simples e preciso estendida. Para comparar os

    resultados calcule a norma 2 da matriz resultado. Comente!

    3) Desenvolva um algoritmo em C para resolver sistemas lineares utilizando eliminao de Gauss com pivoteamento. Como subproduto calcule o

    determinante da matriz. Considerar preciso simples e preciso estendida. Para

    comparar os resultados calcule a norma 2 da matriz resultado. Comente!

  • 3

    4) Apresente uma pesquisa sobre aplicao de sistemas lineares nas seguintes reas: Eletromagnetismo, controle, SEP, modelagem de sistemas. Apresente no

    mnimo 4 aplicaes por rea, faa uma breve descrio de cada uma delas

    destacando as caractersticas das matrizes e os mtodos utilizados para a soluo

    do sistema.

    3. Resoluo

    1 Exerccio:

    A forma geral de representao de um nmero na atimtica de ponto flutuante

    tem a seguinte notao cientfica:

    onde os s so os dgitos da parte fracionria, tais que

    B o valor da base (geralmente 2, 10 ou 16), o nmero de dgitos e um expoente

    inteiro. Deste modo, um nmero de ponto flutuante tem trs partes: o sinal, a parte

    fracionria (chamada de significando ou mantissa) e o expoente. Essas trs partes tm

    um comprimento total fixo que depende do computador e do tipo de nmero: preciso

    simples, dupla ou estendida.

    A Tabela 1 mostra formato proposto pelo IEEE (Insitute of Electrical and

    Electronics Engineers), utilizado pela maioria dos computadores do mundo:

    Tabela 1: Formato IEE de ponto flutuante

    Propriedade

    Preciso

    Simples Dupla Estendida

    Comprimento total 32 64 80

    Bits na mantissa 23 52 64

    Bits no expoente 8 11 15

    Base 2 2 2

    Expoente mximo 127 1023 16383

    Expoente mnimo -126 -1022 -16382

    Maior nmero Menor nmero Dgitos decimais 7 16 19

    Neste primeiro exerccio proposto, o objetivo verificar se possvel a

    multiplicao de duas matrizes dadas pelo usurio, realizar a multiplicao dessas

    matrizes, tanto na preciso simples, quanto na estendida, calcular a norma-2 da matriz

    para os dois casos e comparar os resultados com aqueles obtidos no Matlab.

  • 4

    Para que a multiplicao de matrizes seja possvel, basta que o nmero de

    colunas da primeira matriz seja igual ao nmero de linhas da segunda matriz. O mtodo

    utilizado para o clculo foi com base na relao das posies dos elementos de cada

    matriz e suas equaes para a obteno da matriz resultante.

    O algoritmo desenvolvido para a multiplicao de matrizes na preciso simples

    mostrado a seguir:

    #include

    #include

    #include

    int main ()

    {

    //Variaveis com numeros de linhas e colunas da matriz 1

    short int numeroLinhaMatriz1 = 0;

    short int numerocolunasMatriz1 = 0;

    //Variaveis com numeros de linhas e colunas da matriz 2

    short int numeroLinhaMatriz2 = 0;

    short int numerocolunasMatriz2 = 0;

    //Entrada de dados com os numero de linhas e colunas das matrizes

    printf ("****** Primeira Matriz ******\n");

    printf ("Entre com o numero de linhas da matriz 1 (maximo 10): ");

    scanf ("%hd", &numeroLinhaMatriz1);

    printf ("Entre com o numero de colunas da matriz 1 (maximo 10): ");

    scanf ("%hd", &numerocolunasMatriz1);

    printf ("\n****** Segunda Matriz ******\n");

    printf ("Entre com o numero de linhas da matriz 2 (maximo 10): ");

    scanf ("%hd", &numeroLinhaMatriz2);

    printf ("Entre com o numero de colunas da matriz 2 (maximo 10): ");

    scanf ("%hd", &numerocolunasMatriz2);

    if (numerocolunasMatriz1 == numeroLinhaMatriz2)

    {

    //Numero de elementos da matriz resultante

    short int numeroElementosMatrizResultante = numeroLinhaMatriz1 * numerocolunasMatriz2;

    printf ("\n\nNumero de elementos da matriz resultante: %hd\n", numeroElementosMatrizResultante);

    //Alocando a primeira matriz

    float matriz1[10][10];

    //Alocando a segunda matriz

    float matriz2[10][10];

    int contLinha, contColuna;

    float valor;

    //Preenchedo a matriz 1

    printf ("\n****** Entre com os valores da primeira matriz ******\n"); for (contLinha=0; contLinha

  • 5

    for (contColuna=0; contColuna

  • 6

    Coloca-se como observao que tanto o algoritmo anterior, como o que vm a

    seguir, declaram matrizes correspondentes a sistemas de ordem mxima igual a 10. Para

    sistemas de ordem superiores, basta trocar as declaraes das matrizes para as da ordem

    desejada. Alm disso, o algoritmo para o clculo da norma 2 est incluso no algoritmo

    acima. A seguir apesenta-se o mesmo algoritmo na preciso estendida (nica diferena

    do algoritmo anterior). O cdigo da norma 2, embora tenha sido implementado na

    prxima rotina computacional, foi omitido para evitar vs repeties.

    contLinha = 0; contColuna = 0;

    for(contLinha = 0; contLinha < numeroLinhaMatrizResultante; contLinha++)

    {

    for(contColuna = 0; contColuna < numerocolunasMatrizResultante; contColuna++)

    {

    printf ("Linha %d coluna %d: %10f \n", contLinha, contColuna, matrizResultante[contLinha][contColuna]);

    }

    }

    float soma = 0;

    float normaMatriz = 0;

    for(int w=0;w

  • 7

    #include

    #include

    #include

    int main ()

    {

    //Variaveis com numeros de linhas e colunas da matriz 1

    int numeroLinhaMatriz1 = 0;

    int numerocolunasMatriz1 = 0;

    //Variaveis com numeros de linhas e colunas da matriz 2

    int numeroLinhaMatriz2 = 0;

    int numerocolunasMatriz2 = 0;

    //Entrada de dados com os numero de linhas e colunas das matrizes

    printf ("****** Primeira Matriz ******\n");

    printf ("Entre com o numero de linhas da matriz 1 (maximo 10): ");

    scanf ("%d",&numeroLinhaMatriz1);

    printf ("Entre com o numero de colunas da matriz 1 (maximo 10): ");

    scanf ("%d", &numerocolunasMatriz1);

    printf ("\n****** Segunda Matriz ******\n");

    printf ("Entre com o numero de linhas da matriz 2 (maximo 10): ");

    scanf ("%d", &numeroLinhaMatriz2);

    printf ("Entre com o numero de colunas da matriz 2 (maximo 10): ");

    scanf ("%d", &numerocolunasMatriz2);

    if (numerocolunasMatriz1 == numeroLinhaMatriz2)

    {

    //Numero de elementos da matriz resultante

    int numeroElementosMatrizResultante = numeroLinhaMatriz1 * numerocolunasMatriz2;

    printf ("\n\nNumero de elementos da matriz resultante: %d\n", numeroElementosMatrizResultante);

    //Alocando a primeira matriz

    long double matriz1[10][10];

    //Alocando a segunda matriz

    long double matriz2[10][10];

    int contLinha, contColuna;

    long double valor;

    //Preenchedo a matriz 1

    printf ("\n****** Entre com os valores da primeira matriz ******\n");

    for (contLinha=0; contLinha

  • 8

    //Iniciando variaveis contadoras

    contLinha = 0;

    contColuna = 0;

    //Preenchedo a matriz 2

    printf ("\n****** Entre com os valores da segunda matriz ******\n");

    for (contLinha=0; contLinha

  • 9

    2 Exerccio:

    O algoritmo elaborado para esse exerccio pede que o usurio escolha se o

    sistema ser triangular inferior ou superior. Para o sistema triangular inferior, os

    elementos cuja posio da linha tem valor menor que a posio da coluna so

    automaticamente preenchidos com zeros e o sistema solucionado pela expresso a

    seguir:

    cn

    c

    c

    x

    x

    x

    lll

    ll

    l

    nnnnn

    ....

    ....

    .,.

    0

    ......

    00

    2

    1

    2

    1

    21

    2221

    11

    .,...,2,1,

    1

    1ni

    l

    xlc

    xij

    i

    j

    jiji

    i

    Para o sistema triangular superior, ocorre o contrrio, os elementos cuja posio

    da linha superior da coluna que so preenchidos com zero. Esse sistema , por sua

    vez, solucionado a partir das seguintes equaes:

    nnnn

    n

    n

    d

    d

    d

    x

    x

    x

    u

    uu

    uuu

    ....

    ....

    00

    .,.......

    0 2

    1

    2

    1

    222

    11211

    .1,...,1,,1

    nniu

    xld

    xii

    n

    ij

    jiji

    i

    }

    else

    {

    printf ("\n\n!!!! Erro\n");

    printf ("ERRO!!!! No possvel multiplicar:\n Numero de colunas da primeira matriz diferente do numero de linhas da segunda matriz\n\n");

    system("pause");

    }

    return 0;

    }

  • 10

    A seguir so apresentados os algoritmos desenvolvidos para a resoluo de

    sistemas triangulares superior e inferior, respectivamente, na preciso simples e

    estendida. Da mesma forma que no exerccio anterior, a rotina para o clculo da norma

    2 mostrada apenas no primeiro algoritmo e as matrizes declaradas corespondem a

    sistemas de ordem mxima igual a 10. Para sistemas de ordem superiores, basta trocar

    as declaraes das matrizes para as da ordem desejada.

    4 Exerccio:

    figure(2)

    subplot(3,2,1);

    plot(t1A,p1A);

    gridon

    xlabel'Tempo (s)';

    ylabel'Potncia (W)';

    title'Potncia Ativa 1a noite';

    subplot(3,2,2);

    plot(t1A,q1A);

    gridon

    xlabel'Tempo (s)';

    ylabel'Potncia (VAr)';

    title'Potncia Reativa 1a noite';

    subplot(3,2,3);

    plot(t2A,p2A);

    gridon

    xlabel'Tempo (s)';

    ylabel'Potncia (W)';

    title'Potncia Ativa 2a noite';

    #include

    #include

    #include

    int main ()

    {

    int ordemDoSistema = 0;

    char seSuperiorOuInferior;

    //Ordem do sistema

    printf ("Digite a ordem do sistema (maximo 10): ");

    scanf ("%d", &ordemDoSistema);

    //Verifica se o sistema e triangular superior ou inferior

    printf ("\n\nO Sistema e triangular superior ou inferior?\n (Digite S para superior ou I para inferior): ");

    scanf(" %c", &seSuperiorOuInferior);

    //Entra com a matriz dos termos independentes printf ("\n\n Entre com a matriz dos termos independentes\n");

    float matrizTermosIndependentes[10];

    float coeficiente;

    for (int a = 0; a < ordemDoSistema; a++)

    {

    coeficiente = 0;

    printf ("Termo %d: ", a);

    scanf ("%f", &coeficiente);

    matrizTermosIndependentes[a] = coeficiente;

    }

    int contLinha, contColuna;

    //Alocando a matriz

    float matriz[10][10];

    float valor;

    //Preenchedo a matriz dos coeficientes

    printf ("\n****** Entre com os valores da matriz dos coeficientes******\n");

    for (contLinha=0; contLinha

  • 11

    valor = 0;

    printf ("Linha %d coluna %d: ", contLinha, contColuna);

    scanf ("%f", &valor);

    matriz[contLinha][contColuna] = valor;

    }

    }

    else

    {

    if(seSuperiorOuInferior == 'S' || seSuperiorOuInferior == 's')

    {

    if(contLinha

  • 12

    Para a preciso estendida, tem-se:

    else

    {

    if(seSuperiorOuInferior == 'I' || seSuperiorOuInferior == 'i')

    {

    for (int w = 0; w < ordemDoSistema; w++)

    {

    numerador = 0;

    denominador = 0;

    numerador = matrizTermosIndependentes[w];

    for(int j = 0; j < count; j++)

    {

    numerador -= matriz[w][w - j -1] * matrizResultado[w - j - 1];

    }

    denominador = matriz[w][w];

    matrizResultado[w] = numerador / denominador;

    count = count + 1;

    }

    }

    }

    //Imprime matriz resultado

    printf ("\n******Resultado******\n");

    for (int k=0; k < ordemDoSistema; k++)

    {

    printf ("%f\n", matrizResultado[k]);

    }

    // Clculo da norma 2

    float adiciona = 0;

    float normaMatriz = 0;

    for(int w=0;w

  • 13

    //Entra com a matriz dos termos independentes

    printf ("\n\n Entre com a matriz dos termos independentes\n");

    float matrizTermosIndependentes[10];

    float coeficiente;

    for (int a = 0; a < ordemDoSistema; a++)

    {

    coeficiente = 0;

    printf ("Termo %d: ", a);

    scanf ("%f", &coeficiente);

    matrizTermosIndependentes[a] = coeficiente;

    }

    int contLinha, contColuna;

    //Alocando a matriz

    float matriz[10][10];

    float valor;

    //Preenchedo a matriz dos coeficientes

    printf ("\n****** Entre com os valores da matriz dos coeficientes******\n");

    for (contLinha=0; contLinha

  • 14

    scanf ("%f", &valor);

    matriz[contLinha][contColuna] = valor;

    }

    }

    else

    {

    printf("ERRO!!! ESSE SISTEMA NO TRIANGULAR");

    }

    }

    }

    }

    float matrizResultado[10];

    float numerador;

    float denominador;

    int count = 0;

    //Se for superior

    if(seSuperiorOuInferior == 'S' || seSuperiorOuInferior == 's')

    {

    for (int i = ordemDoSistema-1; i >= 0; i--)

    {

    numerador = 0;

    denominador = 0;

    numerador = matrizTermosIndependentes[i];

    for(int j = 0; j < count; j++)

    {

    numerador -= matriz[i][i+j+1] * matrizResultado[i +j+ 1];

    }

    denominador = matriz[i][i];

    matrizResultado[i] = numerador / denominador;

    count = count + 1;

    }

    }

    else

    {

    if(seSuperiorOuInferior == 'I' || seSuperiorOuInferior == 'i')

    {

    for (int w = 0; w < ordemDoSistema; w++)

    {

    numerador = 0;

    denominador = 0;

    numerador = matrizTermosIndependentes[w];

    for(int j = 0; j < count; j++)

    {

    numerador -= matriz[w][w - j -1] * matrizResultado[w - j - 1];

  • 15

    3 Exerccio:

    .O mtodo da eliminao de Gauss consiste em transformar o sistema linear

    original num outro sistema linear equivalente com matriz dos coeficientes triangular

    superior, pois estes so de resoluo imediata. Dizemos que dois sistemas lineares so

    equivalentes quando possuem a mesma soluo. O determinante de sistemas lineares

    equivalentes so iguais.

    Com (n 1) passos o sistema linear Ax = B transformado num sistema

    triangular equivalente: Ux= C, o qual se resolve facilmente por substituies.

    Obtm-se a soluo de Ax= B em trs etapas:

    1 etapa: Matriz Completa

    Consiste em escrever a matriz completa ou aumentada do sistema linear original.

    for(int j = 0; j < count; j++)

    {

    numerador -= matriz[w][w - j -1] * matrizResultado[w - j - 1];

    }

    denominador = matriz[w][w];

    matrizResultado[w] = numerador / denominador;

    count = count + 1;

    }

    }

    }

    //Imprime matriz resultado

    printf ("\n******Resultado******\n");

    for (int k=0; k < ordemDoSistema; k++)

    {

    printf ("%f\n", matrizResultado[k]);

    }

    float soma = 0;

    float normaMatriz = 0;

    for(int z = 0;z

  • 16

    2 etapa: Triangulao

    Consiste em transformar a matriz A numa matriz triangular superior, mediante uma

    seqncia de operaes elementares nas linhas da matriz.

    3 etapa: Retro-substituio

    Consiste no clculo dos componentes x1, x2, ..., xn, soluo de Ax= B, a partir da

    soluo do ltimo componente (xn), e ento o substitui regressivamente nas equaes

    anteriores.

    Teorema: Seja Ax = B um sistema linear. Aplicando sobre as equaes deste sistema

    uma seqncia de operaes elementares escolhidas entre:

    i) Trocar a ordem de duas equaes do sistema;

    ii) Multiplicar uma equao do sistema por uma constante no nula;

    iii) Adicionar um mltiplo de uma equao a uma outra equao;

    obtemos um novo sistema Ux= C e os sistemas Ax= B e Ux= C so equivalentes.

    O algoritmo para o mtodo de eliminao de Gauss requer o clculo dos

    multiplicadores:

    a cada etapa do processo. Sendo o coeficiente chamado de piv.

    Se o piv for nulo ou se o piv estiver prximo de zero uma ateno especial de

    ve ser tomada, pois impossvel trabalhar com um piv nulo. E trabalhar com um piv

    prximo de zero pode resultarem resultados totalmente imprecisos. Isto porque em

    qualquer calculadora ou computador os clculos so efetuados com preciso finita, e

    pivs prximos de zero so origem a multiplicadores bem maiores que a unidade que,

    por sua vez, origina uma ampliaodos erros de arredondamento.

    Para se contornar esses problemas deve-se adotar uma estratgia de

    pivoteamento, ou seja, adotar um processo de escolha da linha e/ou coluna pivotal.

    Esta estratgia consiste em:

    i) no incio da etapa k da fase de escalonamento, escolher para piv o elemento de maior

    mdulo entre os coeficientes: .

    ii) trocar as linhas k e se for necessrio.

    A seguir so apresentados os algoritmos desenvolvidos para a resoluo de

    sistemas lineares pelo mtodo de Gauss com pivotamento, na preciso simples e

    estendida respectivamente. Para a resoluo do sistema triangular superior resultante,

  • 17

    utilizou-se os algoritmos j implementados no exerccio anterior e obteve-se a norma 2,

    cuja rotina j foi evidenciada nos exerccios anteriores, para os dois tipos de preciso.

    #include

    #include

    #include

    int main ()

    {

    //Variaveis com numeros de linhas e colunas da matriz

    unsigned int ordem;

    //Escolha da ordem do sistema

    printf ("****** Ordem do Sistema ******\n");

    printf ("Entre com a ordem do sistema (maximo 10): ");

    scanf ("%d", &ordem);

    //Alocando as matrizes dos coeficientes e dos termos independentes

    float mcoeficientes[10][10];

    float mindependentes[10];

    char S;

    unsigned int x, y;

    float valor;

    //Preenchedo as matrizes do sistema

    printf ("\n****** Entre com os valores da matriz dos coeficientes ******\n");

    for (x=0; x

  • 18

    for (x=0; x

  • 19

    {

    novaordem = novaordem - 1;

    }

    }

    printf("\n\n************* MATRIZ TRIANGULAR SUPERIOR ******************\n");

    for (x=0; x

  • 20

    RESULTADOS 1 Exerccio:

    O algoritmo rodado em Dev C++, com preciso simples, apresentou o seguinte

    resultado:

    ****** Primeira Matriz ******

    Entre com o numero de linhas da matriz 1: 5

    Entre com o numero de colunas da matriz 1: 2

    ****** Segunda Matriz ******

    Entre com o numero de linhas da matriz 2: 2

    Entre com o numero de colunas da matriz 2: 7

    Numero de elementos da matriz resultante e igual a: 35

    ****** Entre com os valores da primeira matriz ******

    Linha 0 coluna 0: 3.145

    Linha 0 coluna 1: 0.234

    Linha 1 coluna 0: 0.002

    Linha 1 coluna 1: 10.42

    Linha 2 coluna 0: 8.44

    Linha 2 coluna 1: 0.03

    Linha 3 coluna 0: 6.12

    Linha 3 coluna 1: 0.15

    Linha 4 coluna 0: 0.014

    Linha 4 coluna 1: 12

    ****** Entre com os valores da segunda matriz ******

    Linha 0 coluna 0: 2.35

    Linha 0 coluna 1: 6.36

    Linha 0 coluna 2: 0.179

    Linha 0 coluna 3: 0.098

    Linha 0 coluna 4: 0.432

    Linha 0 coluna 5: 9.32

    Linha 0 coluna 6: 7.77

    Linha 1 coluna 0: 4.32

    Linha 1 coluna 1: 8.43

    Linha 1 coluna 2: 0.086

    Linha 1 coluna 3: 3.75

  • 21

    Linha 1 coluna 4: 0.734

    Linha 1 coluna 5: 8.95

    Linha 1 coluna 6: 7.33

    ****** Resultado da multiplicacao das matrizes ******

    Linha 0 coluna 0: 8.401629

    Linha 0 coluna 1: 21.974821

    Linha 0 coluna 2: 0.583079

    Linha 0 coluna 3: 1.185710

    Linha 0 coluna 4: 1.530396

    Linha 0 coluna 5: 31.405699

    Linha 0 coluna 6: 26.151869

    Linha 1 coluna 0: 45.019104

    Linha 1 coluna 1: 87.853325

    Linha 1 coluna 2: 0.896478

    Linha 1 coluna 3: 39.075195

    Linha 1 coluna 4: 7.649144

    Linha 1 coluna 5: 93.277641

    Linha 1 coluna 6: 76.394142

    Linha 2 coluna 0: 19.963598

    Linha 2 coluna 1: 53.931297

    Linha 2 coluna 2: 1.513340

    Linha 2 coluna 3: 0.939620

    Linha 2 coluna 4: 3.668100

    Linha 2 coluna 5: 78.929298

    Linha 2 coluna 6: 65.798698

    Linha 3 coluna 0: 15.029999

    Linha 3 coluna 1: 40.187698

    Linha 3 coluna 2: 1.108380

    Linha 3 coluna 3: 1.162260

    Linha 3 coluna 4: 2.753940

    Linha 3 coluna 5: 58.380898

    Linha 3 coluna 6: 48.651897

    Linha 4 coluna 0: 51.872902

    Linha 4 coluna 1: 101.249046

  • 22

    Pelo Matlab obtem-se os seguintes resultados para o resultado da multiplicao e

    sua norma:

    No houve diferenas significativas da preciso simples para a dupla. Observou-

    se que com uma maior preciso, o comprimento da matriz fica levemente inferior.

    A =

    3.1450 0.2340

    0.0020 10.4200

    8.4400 0.0300

    6.1200 0.1500

    0.0140 12.0000

    B =

    2.3500 6.3600 0.1790 0.0980 0.4320 9.3200 7.7700

    4.3200 8.4300 0.0860 3.7500 0.7340 8.9500 7.3300

    Resultado =

    8.4016 21.9748 0.5831 1.1857 1.5304 31.4057 26.1519

    45.0191 87.8533 0.8965 39.0752 7.6491 93.2776 76.3941

    19.9636 53.9313 1.5133 0.9396 3.6681 78.9293 65.7987

    15.0300 40.1877 1.1084 1.1623 2.7539 58.3809 48.6519

    51.8729 101.2490 1.0345 45.0014 8.8140 107.5305 88.0688

    norma =

    287.1871

    >>

    Linha 4 coluna 2: 1.034506

    Linha 4 coluna 3: 45.001373

    Linha 4 coluna 4: 8.814049

    Linha 4 coluna 5: 107.530479

    Linha 4 coluna 6: 88.068779

    A norma da Matriz : 289.776093

    Pressione qualquer tecla para continuar. . .

  • 23

    2 Exerccio:

    O algoritmo rodado em Dev C++, com preciso simples, apresentou o seguinte

    resultado para um sistema triangular superior:

    A mesma implementao feita em Matlab (preciso double):

    Digite a ordem do sistema (maximo 10): 3

    O Sistema e triangular superior ou inferior?

    (Digite S para superior ou I para inferior): S

    Entre com a matriz dos termos independentes

    Termo 0: 1.4142135

    Termo 1: 3.1415926

    Termo 2: 1.7320508

    ****** Entre com os valores da matriz dos coeficientes******

    Linha 0 coluna 0: 3.1415926

    Linha 0 coluna 1: 2.7182818

    Linha 0 coluna 2: 1.4142135

    Linha 1 coluna 1: 1.4142135

    Linha 1 coluna 2: 1.7320508

    Linha 2 coluna 2: 2.7182818

    ******Resultado******

    -1.083555

    1.441051

    0.637186

    Norma da Matriz: 1.9112257

    Press any key to continue . . .

    >> A

    A =

    3.1416 2.7183 1.4142

    0 1.4142 1.7321

    0 0 2.7183

  • 24

    Para esse exemplo, observa-se que a preciso simples obtem praticamente os

    mesmos valores que a preciso double. O resultado para um sistema triangular inferior

    com preciso simples apresentado a seguir:

    Digite a ordem do sistema (maximo 10): 3

    O Sistema e triangular superior ou inferior?

    (Digite S para superior ou I para inferior): I

    Entre com a matriz dos termos independentes

    Termo 0: 1.4142135

    Termo 1: 3.1415826

    Termo 2: 1.7320508

    ****** Entre com os valores da matriz dos coeficientes******

    Linha 0 coluna 0: 3.1415926

    Linha 1 coluna 0: 2.7182818

    Linha 1 coluna 1: 1.4142135

    Linha 2 coluna 0: 1.4142135

    Linha 2 coluna 1: 1.7320508

    Linha 2 coluna 2: 2.7182818

    ******Resultado******

    0.450158

    1.356178

    -0.461151

    Norma da Matriz: 1.501507

    Press any key to continue . . .

    >> B

    B =

    1.4142

    3.1416

    1.7321

    >> c=inv(A)*B

    c =

    -1.0836

    1.4411

    0.6372

    >> norm(c)

    ans =

    1.9123

  • 25

    A implementao do mesmo sistema triangular inferior, feita em Matlab

    (preciso double):

    Mais uma vez os resultados da preciso simples e dupla foram os mesmos.

    3 Exerccio:

    O mtodo de Gauss com pivoteamento foi rodado e apresentou os seguintes

    resultados para preciso simples:

    A=[3.1415926 0 0; 2.7182818 1.4142135 0; 1.4142135 1.7320508 2.7182818]

    A =

    3.1416 0 0

    2.7183 1.4142 0

    1.4142 1.7321 2.7183

    >> B=[1.4142135; 3.1415826;1.7320508]

    B =

    1.4142

    3.1416

    1.7321

    >> C=inv(A)*B

    C =

    0.4502

    1.3562

    -0.4612

    >> norma=norm(C)

    norma =

    1.5015

    ****** Ordem do Sistema ******

    Entre com a ordem do sistema (maximo 10): 3

    ****** Entre com os valores da matriz dos coeficientes ******

    Linha 0 coluna 0: 1

    Linha 0 coluna 1: -3

    Linha 0 coluna 2: 2

    Linha 1 coluna 0: -2

    Linha 1 coluna 1: 8

    Linha 1 coluna 2: -1

    Linha 2 coluna 0: 4

    Linha 2 coluna 1: -6

    Linha 2 coluna 2: 5

  • 26

    ****** Entre com os valores da matriz dos termos independentes ******

    Coluna 0: 11

    Coluna 1: -15

    Coluna 2: 29

    multiplicador 00: -0.250000

    multiplicador 10: 0.500000

    multiplicador 01: 0.300000

    ************* MATRIZ TRIANGULAR SUPERIOR ******************

    Linha 0 coluna 0: 4.000000

    Linha 0 coluna 1: -6.000000

    Linha 0 coluna 2: 5.000000

    Linha 1 coluna 0: 0.000000

    Linha 1 coluna 1: 5.000000

    Linha 1 coluna 2: 1.500000

    Linha 2 coluna 0: 0.000000

    Linha 2 coluna 1: 0.000000

    Linha 2 coluna 2: 1.200000

    ************* MATRIZ DOS TERMOS INDEPENDENTES ****************

    Termo 0: 29.000000

    Termo 1: -0.500000

    Termo 2: 3.600000

    ******************* VALOR DO DETERMINANTE *************************

    Valor do determinante: -24.000000

    Press any key to continue . . .

    Digite a ordem do sistema (maximo 10): 3

    O Sistema e triangular superior ou inferior?

    (Digite S para superior ou I para inferior): S

    Entre com a matriz dos termos independentes

    Termo 0: 29

    Termo 1: -0.5

    Termo 2: 3.6

    ****** Entre com os valores da matriz dos coeficientes******

    Linha 0 coluna 0: 4

    Linha 0 coluna 1: -6

  • 27

    4 Exerccio: Pesquisa sobre aplicao de sistemas lineares nas reas de

    Eletromagnetismo, SEP, controle e modelagem de sistemas

    4.1. Eletromagnetismo

    Mtodo das Diferenas Finitas

    O Mtodo das Diferenas Finitas apresenta solues diretas para campos

    eltricos e magnticos nos pontos de uma malha regular formada pela discretizao de

    uma superfcie ou volume de um objeto. Para tanto, divide-se o domnio de clculo em

    diversos pontos calcula-se o campo eltrico correspondente a cada ponto a partir dos

    valores de pontos adjacentes.

    Essa tcnica numrica possibilita resolver situes que abrangem equaes

    diferenciais parciais (EDPs), que so equaes envolvendo uma funo de variveis

    independentes e suas derivadas. Assim, essa viabilidade permite resolver equaces

    como as de Poisson e as de Laplace, delimitando-se um domnio por condies de

    contorno e/ou condies iniciais.

    Para se determinar o campo eltrico ou potencial eltrico, em muitos casos, so

    utilizados a Lei de Coulomb, ou a Lei de Gauss quando a distribuio de cargas

    conhecida, ou utilizar a equao que relacion intensidade do campo eltrico direo

    contrria do divergente do potencial, quando esse conhecido em uma regio. No

    entanto, na maioria das situaes prticas, tais parmetros no so conhecidos.

    Ento para essas situaes, onde so apenas conhecidas as condies

    eletrostticas em algumas fronteiras numa determinada regio, em que se deseja obter o

    campo eltrico e o potencial eltrico ao longo de toda a regio em questo, so

    Linha 0 coluna 2: 5

    Linha 1 coluna 1: 5

    Linha 1 coluna 2: 1.5

    Linha 2 coluna 2: 1.2

    ******Resultado******

    2.000000

    -1.000000

    3.000000

    Norma da Matriz: 3.741657

    Press any key to continue . . .

  • 28

    utilizados usualmente a Equao de Poisson ou a de Laplace ou, ainda, o metodo das

    imagens.

    A idia bsica discretizar as equaes de Maxwell no espao e no tempo,

    obtendo-se os campos a partir da resoluo contnua das mesmas, com base nos valores

    dos campos adquiridos em iteraes anteriores de maneira alternada.

    O sistema de equaes vetoriais de Maxwell mostrado a seguir:

    O sistema de coordenadas cartesianas utilizado para expandir o sistema em seis

    equaes a derivadas espaciais e temporais:

    (

    )

    (

    )

    (

    )

    (

    )

    (

    )

    (

    )

    As tcnicas de diferenas finitas no domnio do tempo (FDTD) so baseadas em

    aproximaes numricas, permitindo transformar equaes diferenciais em equaes

    por diferenas finitas. A obteno destas equaes efetuada a partir da expanso em

    sries de Taylor. Na prtica, a srie truncada, o que implica na insero de um erro de

    aproximao.

    Considera-se, por exemplo, uma funo qualquer dentro de um espao

    cartesiano discretizado , discretizada tambm no tempo :

  • 29

    Onde: so incrementos espaciais; o incremento temporal; e , o

    nmero da iterao. Pode-se utilizar a aproximao mostrada abaixo, que demonstrada

    na figura 4.1.

    ( ) (

    )

    Figura 4. 1: Aproximao por diferenas finitas.

    Fonte: Silveira, Jony L., UFSC, 2002

    Tm-se, portanto:

    * (

    ) (

    )+

    * (

    ) (

    )+

    * (

    ) (

    )+

    Onde: o erro introduzido por truncagem.

    E para o tempo:

    *

    +

    Para aplicar as equaes 4.5 e 4.6 tem-se que discretizar a regio com elementos

    regulares. O sistema de coordenadas pode ser cartesiano ou polar, e os elementos

    quadrados, retangulares ou hexagonais. A figura 4.2 ilustra a clula introduzida por Yee

    para discretizao tridimensional.

  • 30

    Figura 4. 2: Disposio dos campos E e H na clula de Yee. Fonte: Silveira, Jony L., UFSC, 2002

    importante observar que alm de estarem defasados no espao as componentes

    sw campo eltrico e magntico sero, por fora da equao 4.6, calculadas em passos de

    temmpo alternados. Assim, o campo magntico ser calculado a cada ( ) ,

    enquanto o campo eltrico calculado a cada .

    Para a resoluo de uma equao de Laplace ou de Poisson, deve-se dividir o

    domnio em uma grade de maneira similar ao cubo de Yee. Os ns da grade da

    extremidade da regio so prefixados pela condio de contorno e so chamados de ns

    fixos,enquanto os ns internos sao denominados de pontos livres. Em seguida, obtm-se

    as aproximaes por diferencas finitas para equacao diferencial de Poisson, pela qual

    possvel determinar o potencial o potencial em todos os pontos livres.

    Abaixo, mostra-se a aplicao das equaes 4.5 e 4.6 na clula de Yee para a

    compontente do campo magntico (Eq. 4.7) e eltrico (Eq. 4.8). Encontra-se as

    demais componentes de forma anloga, pela mesma aplicao da aproximao por

    diferenas finitas s outras equaes 4.2.

    (

    )

    (

    )

    *

    (

    )

    (

    )

    (

    )+

  • 31

    (

    )

    (

    )

    [

    (

    )

    (

    )

    (

    )

    (

    ) ]

    O mtodo de diferenas finitas permite realizar clculos em geometrias

    complexas e materiais com configuraes no homogneas lineares e no lineares. No

    entanto, existem alguns inconvenientes ligados a esta tcnica:

    Para garantir a estabilidade do mtodo devemos garantir que:

    ,

    onde: a mxima velocidade de fase;

    As condies de fronteira devem ser usadas convenientemente para simular a

    extenso da soluo no infinito.

    Existem, porm,vrias tcnicas aplicveis s fronteiras de modo a simular o

    espao aberto. O mtodo das diferenas finitas um mtodo de resoluo de problemas

    que englobam equaes diferenciais parciais. Tais problemas so definidos

    univocamente por trs caractersticas: seja por uma equao diferencial parcial, como

    o caso das equaes de Laplace ou de Poisson; seja pela delimitao de um domnio; ou

    at mesmo por condies de contorno e/ou por condies iniciais.

    O mtodo de diferenas finitas um dos mais populares na anlise de problemas

    no domnio do tempo. Dentre as vrias aplicaes do mtodo, em engenharia eltrica,

    destacam-se:

    Obteno das caractersticas de espalhadores (scattering);

    Anlise de antenas e microstrips;

    Avaliao dos efeitos da radiao de microondas em organismos vivos;

    Anlise de problemas de interferncia eletromagntica (EMI);

    Anlise de propagao em cavidades ressonantes, guias de onda;

    Anlise da propagao eletromagntica em fibras opticas, etc.

    Como aplicao do mtodo descreve-se apenas a obteno das caracterstias de

    espalhadores. O fenmeno de espalhamento eletromagntico pode ser entendido como o

    campo gerado a partir da interao entre uma onda eletromagntica viajante e um

    obstculo que a intercepta. Caracteriza-se pela influncia dos campos eltrico e

    magntico incidentes (Ei ,Hi ) em um corpo, designado objeto espalhador ou,

    simplesmente,e spalhador, nele induzindo correntes em sua superfcie ou volume. As

    correntes no espalhador variam no tempo e o faz, por sua vez, exercer o papel de uma

    antena que irradia campos eletromagnticos espalhados (Es ,Hs ) . Dessa forma, o

  • 32

    campoeletromagntico total (Et ,Ht ) se torna uma composio de campos espalhados e

    campos incidentes, conforme mostrado a seguir:

    A equao 4.9 mostra que o campo eltrico total dado pela soma do campo

    eltrico incidente com o campo eltrico espalhado. Da mesma forma, por meio da

    equao 4.10, tem-se que o campo magntico total a soma dos campos magnticos

    incidente e espalhado.

    Em uma situao em que o espao destitudo de corpos, tem-se que toda

    medida de campo realizada, em qualquer que seja o ponto desse espao, indica um valor

    de campo igual ao campo original produzido pela antena. Entretanto, em situaes em

    que um espalhador esteja presente, o objeto iluminado pelos campos eletromagnticos

    incidentes e h interao entre estes campos e os campos espalhados, caracterizando

    assim, o fenmeno do espalhamento eletromagntico. Assim, tem-se que duas entidades

    distintas esto envolvidas neste fenmeno: os campos eletromagnticos e o espalhador.

    Considerando-se uma regio fonte de campo eletromagntico e outra onde se

    situa um objeto espalhador, o fenmeno de espalhamento ocorre nessa segunda regio.

    As influncias dos campos incidentes sobre o espalhador so computadas por meio de

    expresses analticas para os campos incidentes originais. Dessa maneira, para o clculo

    do campo eletromagntico total, necessrio somente encontrar a parcela do campo

    espalhado. Tem-se, tambm, que as ondas eletromagnticas geradas pela fonte

    propagam-se pelo espao livre 0 e que a geometria do

    espalhador e seu material podem ser considerados arbitrrios.

    O espalhamento eletromagntico pode ser modelado matematicamente atravs

    das

    equaes de campo eletromagntico e das condies de contornos inerentes ao

    problema tratado. As equaes de campo, eltrico e magntico, so obtidas atravs das

    equaes de Maxwell, conforme demonstrado na explicao do Mtodo das Diferenas

    Finitas.

    Mtodo Sem Malhas

    Diferentemente dos mtodos baseados em malhas, os mtodos sem malha so

    caracterizados pelo uso de um conjunto de ns espalhados pelo domnio do problema,

    ao invs de uma malha ou grid. Um dos gargalos computacionais desses mtodos o

    processamento dos ns, cujo tempo muito grande quando comparado, por exemplo,

    com o Mtodo de Elementos Finitos (FEM). Apesar disso, o processamento de cada n

    pode ser feito de maneira independente, tornando o processo facilmente paralelizvel. .

    Cada n contribui com uma linha do sistema, no interferindo na contribuio dos

    demais ns.

  • 33

    Embora existam vrios tipos de mtodos sem malha, discute-se aqui em maiores

    detalhes o MLPG (Meshless Local Petrov Galerkin method) para a resoluo de

    problemas eletromagnticos, principalmente problemas estticos (eletrostticos e

    magnetostticos). Esse mtodo foi escolhido por ser um mtodo bastante flexvel e por

    ser considerado um mtodo verdadeiramente sem malha.

    O conjunto de equaes simplificadas para os casos eletrosttico e

    magnetosttico combinadas com as condies de contorno so denominados forma forte

    para os problemas eletrostticos e magnetostticos.

    Como no existe uma malha para dar conectividade aos ns, um desafio para

    esse mtodo determinar com eficincia quais ns pertencem vizinhana de um

    determinado n. Para resolver esse problema, utiliza-se uma rvore de busca

    denominada kd-tree. Outra dificuldade dos mtodos sem malha est na imposio das

    condies de contorno de Dirichlet quando as funes de forma no apresentam a

    propriedade do delta de Kronecker, o que o caso para funes de forma construdas a

    partir do mtodo de mnimos quadrados mveis (MLS).

    No FEM, o processo de gerao da malha pode ser extremamente custoso e no

    apresenta a facilidade de ser paralelizado. Alm disso, mtodos com malha nem sempre

    so apropriados para quaisquer tipos de problemas, como aqueles em que a

    configurao espacial muda com o tempo (e.g. fluidos) ou problemas em que a presena

    de elementos degenerados so comuns.

    Apesar do grande avano de mtodos tradicionais baseados em malha, existem

    casos em que se justifica a utilizao de mtodos sem malha e a paralelizao de tais

    mtodos os torna mais competitivos.

    O MLPG se difere de outros mtodos sem malha baseados no mtodo de

    Galerkin, pois a abordagem Petrov-Galerkin permite que as funes de teste e de forma

    sejam diferentes. Esse procedimento torna possvel a soluo do problema global

    atravs de integraes de vrios subdomnios locais, ao invs de se resolver uma nica

    integrao sobre todo o domnio, como acontece no EFG (Element Free Galerkin). Cada

    subdomnio pode ter qualquer tamanho ou forma geomtrica e o conjunto de

    subdomnios deve cobrir completamente o domnio global.

    Nos mtodos sem malha, a funo de aproximao pode ser definida usando

    diferentes abordagens, como o mtodo de Mnimos Quadrados Mveis (MLS),

    Reproducing Kernel Particle Method (RKPM), Funes de Base Radial (RBF),

    aproximaes polinomiais, entre outras.

    A abordagem Petrov-Galerkin, utilizada no MLPG, permite que as funes de

    teste e de peso sejam diferentes. Para ilustrar o conceito do MLPG, considere um

    domnio arbitrrio descrito por um conjunto de nos dispostos em seu interior e ao

    longo de seu contorno . Considera-se como vlida em a seguinte forma fraca:

  • 34

    ( ) ( )

    onde o valor da funo ao longo do contorno , a funo de peso,

    um parmetro utilizado pelo mtodo das penalidades para forar o valor de ser igual

    ao valor conhecido em um contorno com condies de Dirichlet. O valor da funo

    em um n k definido por:

    Onde a funo de forma do n e o nmero de ns da vizinhana do n

    k que so usadas para calcular a aproximao.

    O suporte compacto da funo de peso W define um subdomnio fechado ao

    redor de cada n, como ilustrado na figura a seguir:

    Figura 4. 2: Representao do domnio.

    Fonte: Fonseca, Alexandre R. et al., UFMG, 2008

    Conseqentemente, a equao inicial pode ser resolvida localmente em cada

    subdomnio , pela seguinte expresso:

    ( ) ( )

    Nos metodos sem malha, a funo de aproximao (2) pode ser definida usando

    diferentes abordagens, como o mtodo de Minimos Quadrados Moveis (MLS),

    Reproducing Kernel Particle Method (RKPM), Funcoes de Base Radial (RBF),

    aproximaes polinomiais, entre outras.

    Algumas possveis funes que podem ser usadas para definir W, como a funo

    degrau de Heaviside ou a funo de peso MLS. Assume-se que W definido pela

    funo de Heaviside, i.e. W = 1, o que leva a:

    ( ) ( )

  • 35

    A funo de Heaviside permite a simplificao da funo da forma fraca local,

    eliminando a necessidade de integraes no interior dos subdomnios, o que simplifica o

    mtodo e diminui o custo computacional. Substituindo (2) em (4), aplicando o teorema

    da divergncia e uma identidade vetorial, obtem-se o sistema linear Kx = f, onde x o

    vetor de incognitas, e as matrizes Ke f so dadas por:

    Resolvendo o sistema, obtm-se os valores de V em qualquer ponto dentro do

    domnio atravs de (2).

    4.2. SEP

    Anlise de Redes Eltricas

    Os sistemas eltricos de potncia nos tempos atuais so, na maioria das vezes,

    sistemas complexos, formados a partir de sistemas regionais de mdio porte,

    interligados uns aos outros, resultando numa grande rede eltrica, que pode conter

    milhares de barras trifsicas e equipamentos, tais como geradores sncronos,

    transformadores, autotransformadores, linhas de transmisso e cargas.

    Para tratar esses equipamentos de uma forma interligada e dirigida para sistema

    ser de grande porte, eles devem ser representados por seus modelos de circuito, no

    domnio das fases ou das componentes simtricas, resultando em matrizes de

    impedncia ou admitncia primitivas. A interligao destes equipamentos de maneira a

    formar a rede eltrica tratada atravs de matrizes de incidncia, que descrevem como

    cada um dos elementos est disposto na rede eltrica, dando total informao sobre a

    sua topologia. Elas so essenciais para, entre outras funes, se determinar as

    formulaes nodal e de lao de redes eltricas.

  • 36

    Na formulao nodal, existe a matriz de incidncia elemento-n , que uma

    matriz de linhas e colunas que descreve como os elementos esto ligados aos ns

    de um grafo orientado. Seus elementos so tais que:

    {

    J na formulao de lao, existe a matriz de incidncia elemento-lao , que

    uma matriz cujo nmero de linhas o nmero de malhas possvesi de se obter em um

    determinado grafo. Esta matriz possui colunas e descreve como os elementos de um

    grafo esto dispostos numa determinada malha ou lao . Assim, seus elementos so

    tais que:

    {

    As relaes tenso-corrente ou equaes primitivas dos elementos de

    circuito podem ser apresentadas no formato de impedncia como:

    em que a diferena de potencial entre os terminais da linha,

    representa a soma das tenses das fontes existentes na linha, a corrente da

    linha e a matriz de impedncias primitiva, que descreve os parmetros da

    linha. As formulaes para a resoluo do sistema linear matricial so mostradas

    a seguir:

    [ ]

    Na forma de admitncia, as relaes tenso-corrente so:

  • 37

    Que, ao invs da somas das tenses das fontes, so somadas as correntes

    das fontes e os parmetros da linha so representados pela matriz admitncia .

    As formulaes para a resoluo do sistema linear matricial so mostradas a

    seguir:

    [ ]

    4. Concluses

    Esse trabalho propiciou o amadurecimento das tcnicas de mtodos numricos

    para sistemas lineares, bem como da programao na linguagem C++. Avaliou-se os

    erro susceptveis, diferentes tipos de a preciso e verificou-se um alto custo

    computacional dessa linguagem para precises maiores.

    5. Referncias Bibliogrficas

    CORREA, Sonia M. B. B. (2003). Probabilidade e Estatstica. Segunda

    Edio. Belo Horizonte MG. Puc Minas Virtual. 116p.

    BOLDRINI, C. (1986). lgebra Linear. 3 ed. Editora Harbra.

    PEREIRA, Clever (2012). Redes Eltricas no domnio da frequncia. UFMG.

    Belo Horizonte, MG.

    SILVEIRA, Jony Laureano (2002). Modelagem numrica 3D de problemas de compatibilidade eletromagntica utilizando o mtodo TLM-TD. Tese de

    doutorado. UFSC. Florianpolis, SC.

    YEE K. S. Numerical solution of initial Boundary Value Problems involving Maxwells Equations in Isotropic Media. IEEE Trans. on Antennas and Propagation, New York, v. 14, n. 3, p. 302-307, May 1966.

    AZEVEDO, Rayann P. de Alencar; ARAJO, Icaro B. de Queiroz; SANTOS, Eliel P. dos; FONSECA SILVA, Paulo H. da. Aplicao do mtodo das

    diferenas finitas para soluo das equaes de Laplace e Poisson para

  • 38

    linhas de microfitas acopladas. Instituto Federal de Educacao, Cincia e

    Tecnologia da Paraiba. Joo Pessoa, PB.

    FONSECA, Alexandre Ramos ; MENDES, Miguel Lima ; MESQUITA, Renato Cardoso ; SILVA, Elson Jos da . Programao Paralela em Mtodos sem

    Malha Aplicados a Problemas Eletromagnticos. In: MOMAG 2008 - 13

    Simpsio Brasileiro de Microondas e Optoeletrnica - 8 Congresso Brasileiro de

    Eletromagnetismo, 2008, Florianpolis. Anais do MOMAG 2008 - 13 Simpsio

    Brasileiro de Microondas e Optoeletrnica - 8 Congresso Brasileiro de

    Eletromagnetismo., 2008. p. 632-635.

    FONSECA, Alexandre Ramos. Algoritmos eficientes em Mtodos sem Malha. Tese de doutorado. UFMG. Belo Horizonte, MG.