(Parte 1 de 5)

Introdução à Solução de Problemas de EngenhariaIntrodução à Solução de Problemas de EngenhariaIntrodução à Solução de Problemas de Engenharia

Faculdade deEngenhariaLaboratório de Engenharia Elétrica

Programa Prodenge / Sub-Programa Reenge Universidade do Estado do Rio de Janeiro

Curso deMATLAB 5.1Curso de MATLAB 5.1

2a EDIÇÃORevista e Ampliada

2a EDIÇÃO Revista e Ampliada

I

Curso de MATLAB

Estas notas sobre o uso da versão 5.1 do MATLAB são o resultado do trabalho persistente dos alunos da Faculdade de Engenharia da UERJ, bolsistas de iniciação Tecnológica do Projeto REENGE - Joana Figueiredo Konte, Jorge Luís Pinheiro Teixeira, Pat Evie Alves - e da estagiária Luciana Faletti que se encarregaram de dar corpo à segunda edição de um curso de Introdução à Solução de Problemas de Engenharia usando a metodologia da Profa. Delores M. Etter, autora da obra ‘ Engeneering Problem Solving with MATLAB ’ que inspirou, de perto, a confecção desta apostila. A este grupo entusiasmado de jovens, aderiram outros estagiários do Laboratório de Engenharia Elétrica, como Hélio Justino Mattos Filho. A todos eles os cumprimentos pelo êxito e pela forma como se envolveram de corpo e alma na execução das tarefas. O sucesso obtido na implementação de ambos os cursos não é sem dúvida fruto de uma obra isolada. Dela participaram, com entusiasmo a equipe tecnicoadministrativa do Laboratório de Engenharia Elétrica, cujos membros contribuíram com a dedicação que lhes é peculiar, através do suporte e infra-estrutura e o envolvimento direto com os alunos e com a coordenação do projeto. Um muito obrigado à equipe formada pelos funcionários Alberto Avelar Santiago, André Vallim Stachlewski, José Emílio Gomes, Jair Medeiros Júnior, João Elias Souza da Costa, Luiz Roberto Franco Fagundes Filho, Marcos Augusto Mafra, Antônio Marcos Medeiros Corrêa, Sueli Ferreira dos Santos e pela Srta. Carla Aparecida Caldas de Almeida, do curso de Pós- Graduação ‘latu-senso’ em Engenharia Mecatrônica da UERJ. Uma palavra de reconhecimento especial ao diretor Dr. Nival Nunes de Almeida, coordenador geral do REENGE, pelo apoio e pelo incentivo dado à viabilização de inúmeras atividades no âmbito da faculdade como um todo e do LEE em particular. À Profa. Maria Eugênia Mosconi de Golveia, vice-diretora da faculdade de Engenharia uma palavra de gratidão pelo empenho em viabilizar juntamente com o diretor as solicitações de estágio interno no LEE. Ao grupo de colaboradores silenciosos da administração pelo apoio nas atividades no âmbito de suas competências, o obrigado sincero da Orientação do trabalho. Ao CNPq que patrocinou as bolsas que permitiram este trabalho mediante os recursos alocados pela FINEP, o nosso agradecimento.

Bernardo Severo da Silva Filho Orientador e chefe do Lab. De Engenharia Elétrica

Curso de MATLAB

Índice

Método Simples6 Arquivos MAT e ASCII6 Operador dois pontos8 Comando Input8 Imprimindo matrizes 1 Comando format11 Comando disp12 Comando fprintf12

Magic Square17 Matriz de Zeros17 Matriz de um’s17 Matriz identidade17 Triângulo de Pascal17

Hierarquia em operações aritméticas19 Limites Computacionais 21

Funções matemáticas elementares30 Funções trigonométricas 31 Funções hiperbólicas 32 Funções de Arquivos M32 Aplicação à solução de problemas: sinais de sonar34

Operações aritméticas com complexos37 Coordenadas polares e retangulares37

Curso de MATLAB

Comando break47 Aplicação à solução de problemas: fibras óticas47

Desvio médio, variância e desvio padrão56 Comando sort60 Histograma 61 Aplicação à solução de problemas: análise do sinal de voz64

Função número aleatório66 Função Densidade de Probabilidade66 Modelo uniforme68 Modelo normal68 Histograma: comando hist71 Aplicação à Solução de Problemas: simulador de vôo73

Energia de um sinal75 Cálculo de SNR76 Adicionando um ruído a um sinal existente77

Matriz transposta79 Somatório de produtos79 Comando sum80 Multiplicação de matrizes80 Matriz Power81 Matriz inversa81 Determinante 82 Aplicação à Solução de Problemas: peso molecular de proteínas82

Curso de MATLAB

Comando rot9084 Comando fliplr84 Comando flipud84 Comando reshape85 Comando diag85 Comando triu86 Comando tril87 Aplicação à Solução de Problemas: alinhamento de imagens87

Coordenadas retangulares 91 Legendas 91

Coordenadas Polares 92 Transformações retangular/polar 93 Gráficos de barras e degrau94

Divisão de matrizes104 Matriz Inversa104 Aplicação à Solução de Problemas: análise de um circuito elétrico105

Interpolação linear 107 Função table1107 Função table2109 Comando spline110 Aplicação à Solução de Problemas: braço robótico112

Curso de MATLAB

Comando polyval115

Regressão Linear113 Comando polyfit114

Comando polyval116 Operações Aritméticas 117 Aplicação à Solução de Problemas: balões meteorológicos118

Regra Trapezoidal e Regra de Simpson122 Comando Quadratura 122 Aplicação à Solução de Problemas: análise de escoamento de um óleo num oleoduto123

Derivação por expressão de diferença126 Comando diff127

Aproximação de Primeira Ordem (método de Euler)130 Comando ODE131 Aplicação à solução de problemas: aceleração de uma turbina UDF numa aeronave133

Curso de MATLAB

Fatoração Triangular 143 Fatoração QR144

Função de Transferência Analógica149 Função de Transferência Digital151

Filtros IIR156 Filtros FIR157 Aplicação à solução de problemas: filtros para separação de canais158

Transformada de Laplace173 Transformada de Fourier173 Transformada Z174

Curso de MATLAB

Cap. 1 - Uma Introdução à Solução de Problemas1

Capítulo 1 – Uma Introdução à Solução de Problemas

A solução de problemas é parte essencial não somente dos cursos de engenharia mas também dos cursos de Matemática, Física, Química e Ciência da Computação. Logo, é importante uma base sólida em solução de problemas. Também é de grande auxílio um embasamento suficiente para trabalhar em todas estas áreas, para que não tenhamos que aprender uma técnica para problemas de matemática, e uma técnica diferente para problemas de física, e assim por diante. A técnica de solução de problemas que apresentamos trabalhos para problemas de engenharia e pode ser seguida de perto para resolver problemas em outras áreas; mas, supõe-se que estamos usando o MATLAB para ajudar a resolvê-los.

O processo ou metodologia para resolução de problemas que usaremos ao longo do texto possui cinco passos:

Descreveremos cada um dos passos usando o exemplo do cálculo da distância entre dois pontos em um plano.

O primeiro passo é enunciar o problema claramente. É extremamente importante que o enunciado seja conciso para evitar desentendimentos. Para este exemplo, o enunciados do problema é: Calcule a distância em linha reta entre dois pontos num plano.

O segundo passo é descrever cuidadosamente a informação que é dada para resolver o problema e então identificar os valores a serem calculados. Estes itens representam a entrada e a saída para o problema e agregadamente podem ser chamados entrada/saída, ou I/0. Para muitos problemas, é útil usar um diagrama que mostra a entrada e a saída. Algumas vezes, este tipo de diagrama é chamado de “caixa preta” porque não estamos definindo para este ponto todos os passos para determinar a saída, mas estamos mostrando a informação que é usada para calcular a saída. Para este exemplo, poderíamos usar o diagrama na figura 1.1.

Curso de MATLAB

Cap. 1 - Uma Introdução à Solução de Problemas2

Figura 1.1 – Diagrama I/O 3. EXEMPLO MANUAL

O terceiro passo é trabalhar o problema manualmente ou com uma calculadora, usando um pequeno grupo de dados. É um passo muito importante e não deve ser ignorado por mais simples que seja o problema. É um item no qual você trabalha os detalhes da solução do problemas. Se você não pode pegar um simples grupo de números e calcular a saída (seja manualmente ou com uma calculadora), então você não está pronto para executar o próximo passo; você deve reler o problemas e talvez consultar material de referência. Uma vez que pode trabalhar o problema de um simples grupo de dados, então você está pronto para desenvolver um algoritmo ou um esboço passo a passo da solução. Este esboço é convertido para os comandos MATLAB para que possamos usar o computador para fazer todos os cálculos. O exemplo manual para o este exemplo é mostrado a seguir:

Suponha que os pontos p1 e p2 tenham as seguintes coordenadas:

Queremos calcular a distância entre dois pontos, que é a hipotenusa de um triângulo retângulo, conforme mostra a figura 1.2. Usando o Teorema de Pitágoras, podemos calcular a distância d com a seguinte equação:

Figura 1.2 – Distância entre dois pontos.

ponto 1ponto 2 distância entre os pontos

S1 x

Curso de MATLAB

Cap. 1 - Uma Introdução à Solução de Problemas3

No próximo capítulo, falaremos sobre os comandos MATLAB. Contudo, da solução você pode ver que os comandos são muito similares às equações que foram usadas no exemplo manual. O sinal de percentagem é usado para anteceder comentários que explicam os comandos MATLAB.

%distância, em linha reta, entre dois pontos. p1 = [1,5];% ponto 1 inicial p2 = [4,7];% ponto2 inicial d = sqrt (sum ((p2-p1).2))% calcular distância

O passo final em nosso processo de solução de problemas é testar a solução. Primeiramente, devemos testar a solução com os dados do exemplo manual, já que calculamos a solução. Quando os comandos MATLAB na solução são executados, o computador mostra a seguinte saída:

d = 3.6056

Esta saída coincide com o valor que calculamos no exemplo manual. Se a solução MATLAB não coincidir com o exemplo manual, devemos rever ambas soluções a fim de encontrar o erro. Uma vez que a solução trabalha com o exemplo manual, devemos também testá-la com vários grupos de dados para certificar que a solução é válida para outras séries de dados.

Curso de MATLAB

Cap. 2 – Matrizes, Vetores e Escalares4

Capítulo 2 - Matrizes, Vetores e Escalares

A capacidade de visualização dos dados é um fator importante na solução de problemas de engenharia. Às vezes, o dado é um simples número como o raio de um círculo. Outras, um grupo de coordenadas x-y-z que representam os quatro vértices de uma pirâmides com uma base triangular no espaço. Podemos representar o exemplos citados usando um tipo especial de estrutura de dados denominada matriz. Matriz é uma tabela de números dispostos em m linhas e n colunas. Assim, um simples número pode ser considerado uma matriz com uma linha e uma coluna, uma coordenada x-y pode ser considerada uma matriz com uma linha e duas colunas, e um grupo de quatro coordenadas x-y-z pode ser considerada uma matriz com quatro linhas e três colunas. Como exemplo, temos:

Se uma matriz contiver m linhas e n colunas, então conterá um total de m . n elementos.

indica a coluna onde o elemento se encontra. Assim, o elemento a1,2 da matriz B é 3.1Se o

Cada elemento da matriz é indicado por índices, aij. O primeiro, i, indica a linha, o segundo, j, número de linhas e colunas forem iguais, então dizemos que a matriz é uma matriz quadrada. Se a matriz tiver apenas uma linha e uma coluna, podemos dizer que o valor é um escalar, se a matriz contiver apenas uma linha ou uma coluna, ao matriz é chamada vetor-linha ou vetor-coluna, respectivamente.

E x e r c í c i o s

Responda às seguintes questões sobre esta matriz:

A = [ 3.5]B = [ 1.5 3.1]

Curso de MATLAB

Cap. 2 – Matrizes, Vetores e Escalares5

Definindo Matrizes no MATLAB

Suponha que queiramos agora criar as matrizes A, B e C usando o MATLAB. Há vários métodos de definição de matrizes no MATLAB. Vejamos cada um:

Modo mais simples:

Nome da matriz = [ a11 a12 a13 …a1n ; a21 a22 a23 … a2n ; … ; am1 am2 am3 … amn ]; Assim, as matrizes A, B e C serão representadas por:

A = [ 3.5]; B = [1.5, 3.1]; C = [-1,0,0; 1,1,0; 1,-1,0; 0,0,2];

O nome da matriz deve começar com uma letra e conter no máximo 19 caracteres que podem ser números, letras ou caracter sublinhado, e aparece ao lado esquerdo do sinal de igual. O lado direito contém os dados entre colchetes por ordem de linhas. O ponto-e-vírgula separa as linhas, e os valores das linhas podem estar separados por vírgulas ou por espaços. O valor pode conter um sinal de + ou -, e um ponto decimal, mas não pode conter uma vírgula, como 32,154.

Quando definimos uma matriz, o MALTAB imprime o valor da matriz na próxima linha a menos que coloquemos um ponto-e-vírgula depois da definição. Tente entrar com as matrizes A, B e C sem o ponto-e-vírgula.

Você também pode definir uma matriz digitando uma cada linha separadamente. Como exemplo, a matriz C:

C = [ -1 0 0 1 1 0 1 –1 0 0 0 2];

Se quisermos, por exemplo, definir um vetor-linha F com 10 valores, também podemos fazer:

F = [1 52 64 197 42 –42 5 82 2 109] F = [1 52 64 197 42 –42, … 5 82 2 109]

Esta forma é muito usada quando a linha de uma matriz é extensa. Podemos terminar uma linha com uma vírgula seguida de três ou mais pontos, e continuar a entrar com os valores restantes na próxima linha da área de trabalho do MATLAB.

Curso de MATLAB

Cap. 2 – Matrizes, Vetores e Escalares6

Podemos também definir uma matriz usando outra que já definida. Por exemplo, considere as seguintes matrizes:

B = [ 1.5 , 3.1]; S = [3.0 B];

Estes comandos equivalem a: S = [ 3.0 1.5 3.1];

Podemos também mudar e adicionar valores na matriz usando um referência entre parênteses. Assim, o seguinte comando;

S (2) = -1.0; Muda o segundo valor da matriz S de 1.5 para –1.0. A ordem da matriz pode ser alterada. Se executarmos o seguinte comando: S(4) = 5.5 Então a matriz S terá quatro valores em vez de três. Se executarmos o comando: S(8) = 9.5;

Então a matriz S terá 8 elementos, e os valores de S(5), S(6) e S(7) são automaticamente nulos, já que não foram atribuídos valores para eles.

E x e r c í c i o s

Determine a ordem das matrizes a seguir. Verifique suas respostas usando o MATLAB.

1. A = [ 1, 0, 0, 0, 0, 1]; 2. B = [ 2; 4; 6; 10]; 3. C = [ 5 3 5 ; 6 2 –3]; 4. D = [ 3 4 5 7 9 10 ]; 5. E = [3 5 10 0; 0 0 0 3; 3 9 9 8];

Q = [ T 0 T ];

6. T = [ 4 24 9]; 7. X = [ 3 6]; 8. R = [C; X, 5 ]; 9. V = [ C(2,1) ; B ]; 10. A(2,1) = -3;

Curso de MATLAB

Cap. 2 – Matrizes, Vetores e Escalares7

As matrizes também podem ser definidas através de informação armazenada em arquivos. O MATLAB trabalha com dois tipos diferentes de arquivos: Os arquivos MAT e os arquivos ASCII.

Os arquivos MAT

Os arquivos MAT são gerados por um programa MATLAB usando o comando save, que contém o nome do arquivo e as matrizes que devem ser armazenadas. A extensão .mat é automaticamente adicionada ao nome do arquivo. Assim, para salvar matrizes A, B e C, em um arquivo .mat nomeado “teste_1” devemos fazer:

save teste_1 A B C;

Para recuperar as matrizes no programa MATLAB, usamos o comando: load teste_1

Arquivos ASCII

Um arquivo ASCII que será usado juntamente com um programa MATLAB deve conter informação exclusivamente numérica, e cada linha do arquivo deve conter o mesmo número de dados. O arquivo pode ser gerado utilizando um processador de texto ou, por exemplo, utilizando programas como o Fortran ou ainda, por um programa MATLAB usando a seguinte forma do comando save:

save teste_1.dat R /ascii

Cada linha da matriz R será escrita para linhas distintas no arquivos de dados.

Recomenda-se utilizar a extensão .dat para ser mais fácil distingui-los dos arquivos MAT e dos arquivos M.

O comando load seguido do nome do arquivo irá recuperar a informação da matriz R. load teste_1.dat;

(Parte 1 de 5)

Comentários