Noções Básicas De Programação Em MATLAB

3y ago
31 Views
2 Downloads
1.86 MB
68 Pages
Last View : 2m ago
Last Download : 2m ago
Upload by : Milena Petrie
Transcription

Noções Básicas de Programaçãoem MATLABAlex Jenaro BeckerDaiane Medianeira Ilha da SilvaFrancisco Helmuth Soares DiasLucélia Kowalski PinheiroSanta Maria, Outubro de 2010

Noções Básicas de Programação em MATLABAPRESENTAÇÃOEste trabalho trata-se da Apostila do Minicurso “Noções Básicas deProgramação em MATLAB”, elaborado e ministrado pelos bolsistas do PETMatemática da UFSM: Daiane Medianeira Ilha da Silva e Francisco HelmuthSoares Dias, e pelos colaboradores Alex Jenaro Becker e Lucélia KowalskiPinheiro.A Apostila traz noções básicas do software matemático MATLAB : Ambiente de trabalho, comandos básicos, funções básicas,manipulação de matrizes; comandos para cálculo de limites, derivadas e integrais, cálculode zeros de funções; comandos paratridimensionais, Noções básicas de programação em MATLAB.plotagemdegráficosbidimensionaiseNossa intenção com a proposta do Minicurso, não é cobrir todos ostópicos do MATLAB, até por que isso seria praticamente impossível, poisnossos conhecimentos são restritos se comparados à amplitude e àsabrangentes possibilidades de utilização do mesmo. Além do mais a cargahorária seria insuficiente.Pretende-se, com o Minicurso e a Apostila incentivar e motivar o estudoda ferramenta MATLAB, a partir das noções básicas que apresentaremos.Boa aprendizagem!2

Noções Básicas de Programação em MATLABSUMÁRIO1. INTRODUÇÃO.41.1 O ambiente MATLAB.52. COMANDOS BÁSICOS.62.1 Operações Básicas.62.1.1 Comandos para utilização de Funções:.72.2 Comandos de ajuda .82.2.1 O comando help.82.2.2 O comando lookfor.93. MANIPULAÇÃO DE MATRIZES.103.1 Matrizes elementares.103.2 Operações com matrizes.104. ZEROS DE FUNÇÕES.125. MÁXIMOS E MÍNIMOS DE FUNÇÕES.126. CÁLCULO .136.1 Construindo funções com variáveis simbólicas.136.2 Limites .136.2.1 Limite lateral à esquerda.146.2.2 Limite lateral à direita.146.3 Derivadas.146.4 Integração.146.4.1 Integrais Indefinidas.146.4.2 Integrais Definidas.157. PLOTANDO GRÁFICOS NO MATLAB.157.1 O comando plot .167.1.1 Comando subplot.227.2 Comando fplot.237.3 Coordenadas Polares.247.4 Curvas Paramétricas.257.5 Diagramas Bidimensionais.268. ALGORITMOS.318.1 Representação de Algoritmos.328.1.1 Linguagem Natural.338.1.2 Fluxograma Convencional.338.1.3 Pseudo-Código.359. M-FILES: CRIANDO SEUS PRÓPRIOS PROGRAMAS E FUNÇÕES.369.1 Saída de dados - Comando format.399.2 Saída de dados - Função Disp.409.3 Saída de dados - Saída fprintf.409.4 Saída de dados - Interação com o usuário através do comando input.429.5 Saída de dados - Operadores lógicos.4310. CONDICIONAIS E LAÇOS.4410.1 A estrutura condicional if-end.4410.2 A estrutura condicional if-else-end.4510.3 A estrutura condicional if-elseif-else-end.4510.4 O laço for.4710.5 O laço while.5110.6 O comando break.5410.7 O comando switch.5611. VETORIZAÇÃO.5712. RESERVA DE ESPAÇO PARA VARIÁVEIS.5813. CAIXAS DE DIÁLOGOS.5814.MÉTODOS NUMÉRICOS.6114.1 Bisseção.6114.2 Newton.6314.3 Secante.653

Noções Básicas de Programação em MATLAB1. INTRODUÇÃOO MATLAB (do inglês Matrix Laboratory) é um software de computaçãonumérica de análise e visualização de dados. Embora seu nome signifique Laboratóriode Matrizes, seus propósitos atualmente são bem mais amplos. Ele nasceu como umprograma para operações matemáticas sobre matrizes, mas ao longo dos anostransformou-se em um sistema computacional bastante útil e flexível.Seu ambiente de trabalho é fácil de ser utilizado, pois os problemas e soluçõessão escritos em linguagem matemática e não na linguagem de programaçãotradicional, como muitos outros softwares utilizam.Assim o MATLAB é uma ferramenta e uma linguagem de programação de altonível, e tem como principais funções: construção de gráficos e compilação de funções,manipulação de funções específicas de cálculo e variáveis simbólicas.Além disso, o MATLAB possui uma grande quantidade de bibliotecas auxiliares(“Toolboxes”) que otimizam o tempo gasto para realizar tarefas, uma vez que, ousuário poderá utilizar muitas funções já definidas, poupando o tempo de criá-las. Poroutro lado, infelizmente, os programas feitos são difíceis de serem executados numambiente fora do MATLAB.4

Noções Básicas de Programação em MATLAB1.1O ambiente MATLABO primeiro passo para iniciarmos nosso estudo do MATLAB é nosfamiliarizarmos com a interface do programa.a) Command Window: Local onde as operações podem ser diretamente feitas.b) Workspace: espaço destinado às variáveis que estão salvas na memória, onde épossível visualizar o nome, valor e classe da mesma.c) Command History: Lista de comandos realizados, organizados por data de execução,permitindo o comando ser realizado novamente com duplo clique.Podemos também utilizar M-files, na barra de Menus acessando a guiaFile New M-file, caso se deseje criar procedimentos de forma que estes fiquem salvosem arquivo. O MATLAB gera a seguinte janela:5

Noções Básicas de Programação em MATLABOs arquivos salvos são gerados na extensão ‘nomedoarquivo’.m. que sãocompilados utilizando-se a Command Window como espaço de comunicação de dados,de entrada e saída, entre o programa e o usuário.Pode-se também chamar um M-file, escolhendo-se em Current Directory apasta em que o mesmo está localizado. Depois de escolhido o diretório, digite naCommand Window o nome do arquivo, e então a programação salva será compilada.2. COMANDOS BÁSICOS2.1 Operações BásicasOperaçãoSímboloExemploAdição 5 3Subtração-23 - 12Multiplicação*3,14 * 0,856

Noções Básicas de Programação em MATLABDivisãoPotenciação/ ou \56/8 8\56 5 2 25As operações são realizadas da esquerda para a direita calculando-as conformea ordem:1º Potenciação;2º Multiplicação e divisão;3º Adição e subtração.2.1.1 Comandos para utilização de Funções:ComandoDescriçãoabs(x)Valor absoluto ou módulo de um número complexoacos(x)Arco cossenoacosh(x)Arco cosseno hiperbólicoangle(x)Ângulo de um número complexoasin(x)Arco senoasinh(x)Arco seno hiperbólicoatan(x)Arco tangentatan2(x,y)Arco tangente em quatro quadrantesatanh(x)Arco tangente hiperbólicaceil(x)Arredondar para inteiro na direção de mais infinitoconj(x)Conjugado complexcos(x)Cossenocosh(x)Cosseno hiperbólico7

Noções Básicas de Programação em MATLABexp(x)Exponencialfix(x)Arredonda para inteiro na direção de zerofloor(x)Arredondar para inteiro na direção de menos infinitoimag(x)Parte imaginária de um número complexolog(x)Logaritmo naturallog10(x)Logaritmo na base 10real(x)Parte real de um número complexorem(x,y)Resto da divisão de x por yround(x)Arredondar para o próximo número inteirosign(x)Função sinal: retorna o sinal de um argumento.sin(x)EX:sign(1.2) 1 e sign(-1.2) -1, sign(0) 0Senosinh(x)Seno hiperbólicosqrt(x)Raiz quadradatan(x)Tangentetanh(x)Tangente hiperbólica2.2 Comandos de ajuda2.2.1 O comando helpComando help é a maneira mais simples de se conseguir ajuda caso você saibaexatamente o tópico a respeito do qual você necessita de informações. Por exemplo:8

Noções Básicas de Programação em MATLABO comando help funciona muito bem se você sabe exatamente o tópico sobre o qualnecessita de ajuda. Já que isso não é sempre o caso, o help pode também levá-lo aotópico exato que deseja digitando help, sem especificação do tópico.2.2.2 O comando lookforEmbora o comando help permita-lhe conseguir ajuda, ele pode não ser amaneira mais conveniente, a menos que você saiba o tópico exato sobre o qualnecessita de informações.Para isso, o comando lookfor fornece ajuda fazendo uma busca em todaprimeira linha dos tópicos de ajuda e retornando aqueles que contém as palavraschave que você especificou. O mais importante é que a palavra-chave não precisa serum comando MATLAB. Por exemplo:9

Noções Básicas de Programação em MATLAB3. MANIPULAÇÃO DE MATRIZESO MATLAB trabalha essencialmente com um tipo de objeto: uma matriznumérica retangular podendo conter elementos complexos. Observa-se que umescalar é uma matriz de dimensão 1x1 e que um vetor é uma matriz que possuisomente uma linha ou uma coluna.O método mais fácil de introduzir pequenas matrizes no MATLAB é utilizando uma listaexplícita. Os elementos de cada linha da matriz são separados por espaços em brancoou vírgulas e as colunas separadas por ponto e vírgula, colocando-se colchetes emvolta do grupo de elementos que formam a matriz com o objetivo de limitá-la.3.1 Matrizes elementaresTipo de MatrizComandoMatriz Identidadeeye(n)Matriz Nulazeros(m,n)Matriz com todos oselementos iguais a 1ones(m,n)Matriz Aleatóriarand(m,n)3.2 Operações com matrizesOperaçãoComandoTransposta de uma matriz AA’t10

Noções Básicas de Programação em MATLABMultiplicação por um escalar kK*AMultiplicação de duas matrizes A e BA.*BQuadrado e uma Matriz AA. 2Soma de duas matrizes A e BA BUma boa aplicação do MATLAB é suas funções matriciais. Dentre as maisusadas podemos citar:COMANDODESCRIÇÃOeigAutovalores e Autovetores;cholFatorização de Cholesky;svdDecomposição em fator singular;invInversa;luFatorização triangular LU;qrFatorização ortogonal QR;hessForma de Hessenberg;schurDecomposição de Schur;expmMatriz Exponencial;sqrtmMatriz de raiz quadrada;polyPolinômio rma 1, Norma 2, Norma F, Norma Infinita;condNúmero de condição na norma 2;rankNúmero de linhas linearmente independentes;triu(A)tril(A)Gera uma matriz com os elementos acima da diagonal principal deA e zera os elementos que estão abaixo;Gera uma matriz com os elementos abaixo da diagonal principal deA e zera os elementos que estão acima;diag(A)Fornece os elementos da diagonal;11

Noções Básicas de Programação em MATLABdiag(diag(a))flipud(A)Gera uma matriz com os elementos da diagonal principal de A ecom zeros nas outras posições;Coloca a matriz A de “cabeça para baixo”;fliplr(A)Coloca a matriz da esquerda para a direita;rot90(A)Roda a matriz em sentido anti-horário;reshape(A,m,n)Retorna uma matriz m por n, cujos elementos são tomados colunapor coluna de A.4. ZEROS DE FUNÇÕESO MATLAB encontra zeros de funções usando o comando fzero. A função, daqual deseja-se encontrar os zeros, deve ser então escrita:comchute inicial.5. MÁXIMOS E MÍNIMOS DE FUNÇÕESPara encontrar o mínimo de uma função usa-se o comando fminbnd.( )Tomemos como exemplo a função12( ):

Noções Básicas de Programação em MATLAB6. CÁLCULO6.1 Construindo funções com variáveis simbólicasEm alguns casos precisamos utilizar uma variável simbólica, chamemos , paradefinir como sendo qualquer variável do domínio, isto é, uma variável contínua. Paraisso temos o comando syms. Vejamos:Ou para mais de uma variável:6.2 LimitesPara calcularmos( ) utilizamos o comando13( ( )).

Noções Básicas de Programação em MATLAB6.2.1 Limite lateral à esquerdaPara calcular o limite lateral à esquerda utiliza-se o comando( ( )).6.2.2 Limite lateral à direitaPara calcular o limite lateral à direita utiliza-se o comando( ( )).6.3 DerivadasPara calcularmos derivadas utiliza-se o comandoindica a ordem da derivação.( ( )), onde6.4 Integração6.4.1 Integrais IndefinidasPara calcular integrais indefinidas ( )14utiliza-se o comando( ( ) ).

Noções Básicas de Programação em MATLAB6.3.1 Integrais DefinidasPara calcular integrais definidas ( )utiliza-se o comando( ( )).7. PLOTANDO GRÁFICOS NO MATLABGráficos constituem um recurso visual poderoso para a interpretação de dados.O MATLAB dispõe de um grande número de facilidades gráficas, usadas para plotar(gerar desenho de gráficos) através de funções e comandos. É possível obter gráficosbidimensionais ou tridimensionais com qualquer tipo de escala e coordenada.Alguns comandos freqüentes para plotar gráficos bidimensionais são:ComandoDescriçãoplotPlotar linearloglogGráfico em escala logarítmicasemilogxGráfico em escala semi-logarítmica (eixo x).semilogyGráfico em escala semi-logarítmica (eixo y).fillDesenhar polígono 2D.polarGráfico em coordenadas polarbarGráfico de barrasstemGráfico de seqüência discreta15

Noções Básicas de Programação em MATLABstairsGráfico em degrauhistHistograma.roseHistograma em ângulocompassGráfico em forma de bússola.featherGráfico em forma de pena.fplotGráfico da funçãocometGráfico com trajetória de cometa.7.1 O comando plotO comando plot é o comando mais comum para plotagem de dadosbidimensionais.Exemplo:Plotar a função x2 1x -10:0.5:10;y x. 2 1;plot(x,y);Podemos utilizar alguns comandos para melhorar a aparência de nosso gráfico:title (inclui um título ao gráfico), xlabel (permite que o eixo das abscissas do gráficoseja identificado), ylabel (permite que o eixo das abscissas do gráfico sejaidentificado).title(‘Grafico da função x 2 1’)xlabel(‘x’)ylabel(‘x’)16

Noções Básicas de Programação em MATLABComo resultado o MATLAB nos retorna a uma janela denominada Figure No. 1com o seguinte gráfico:É possível desenhar mais que uma função no mesmo gráfico. Existem doismodos: um através do comando plot, e outro através do comando holdPor exemplo, podemos gerar no mesmo gráfico as funções sen(x), cos(x) esen(2x).x 0:PI/100:6*pi;y1 sin(x);y2 cos(x);y3 sin(2*x);plot(x,y1,x,y2,x,y3);title(‘Grafico das funções x’)17

Noções Básicas de Programação em MATLABGerando o seguinte gráfico:Com o comando hold, para plotar as funções sen(x) e cos(x), utiliza-se aseguinte síntese:x 0:PI/100:6*pi;y1 sin(x);y2 cos(x);hold onplot(x,y1);plot(x,y2);hold offAlém de títulos e designação dos eixos (funções title, xlabel e ylabel) podemosdefinir outras propriedades gráficas como legendas, cores e estilos de linhas, estilosde marcadores, incluir grade.18

Noções Básicas de Programação em MATLABA cor e o estilo da linha e o tipo de marcador para pontos de dados na linhapodem ser selecionado pelo uso de uma cadeia de caracteres de atributos após osvetores x e y na função plot.Na tabela a seguir vemos os principais valores para os atributos cores,marcadores e estilos de linha.CorMarcadoresEstilo de :Pontilhadocazul (ciano)xX-.Ponto-traçorvermelho covTriângulo para baixokpreto Triângulo para cimaPPentágonoCom o comando grid podemos adicionar linhas de grade no desenho dográfico: grid on (para incluir) e grid off ( para remover).Legendas podem ser criadas por meio da função legend, utilizando a seguinteestrutura:legend('texto1', 'texto2’,.,posição)Onde na ‘posição’ podem ser atríbuidos os seguintes valores deposicionamento da legenda:19

Noções Básicas de Programação em MATLABValorSignificado0Escolha automática da melhor posição (mínimo conflito com os dados)1Canto superior direito2Canto superior esquerdo3Canto inferior esquerdo4Canto superior direito-1À direita do desenhoAlém do título, é possível adicionar qualquer o

Matemática da UFSM: Daiane Medianeira Ilha da Silva e Francisco Helmuth Soares Dias, e pelos colaboradores Alex Jenaro Becker e Lucélia Kowalski Pinheiro. A Apostila traz noções básicas do software matemático MATLAB : Ambiente de trabalho, comandos básicos, funções básicas, manipulação de matrizes;

Related Documents:

Accreditation Programme for Nursing and Midwifery . Date of submission of report to Bangladesh Nursing and Midwifery Council_ 2) The Review Team During the site visit, the review team members validate the self-assessment for each of the criteria. . as per DGNM guideline. Yes ⃝No

3 www.understandquran.com ‡m wQwb‡q †bq, †K‡o †bq (ف ط خ) rُ sَ _ْ یَ hLbB َ 9 آُ Zviv P‡j, nv‡U (ي ش م) اْ \َ َ hLb .:اذَإِ AÜKvi nq (م ل ظ) َ9َmْ أَ Zviv uvovj اْ ُ Kَ hw ْ َ Pvb (ء ي ش) ءَ Cﺵَ mewKQy ءٍ ْdﺵَ bِّ آُ kw³kvjx, ¶gZvevb ٌ یْ"ِKَ i“Kz- 3

La colecci n Blitz rat n de biblioteca , a trav s de su serie amarilla Blitz con la lectur a,viene contribuy endo con eficacia a ese cometido . El Pr o yecto Atlante plantea la mejora de las competencias b sicas del alumnado de Educaci n Infantil y Primaria necesarias en la sociedad de la informaci n y del

más grandes que Sandvik y Atlas Copco, pero sí mejores", explica Pejman Eghdami, vicepresidente eje-cutivo de Rockmore. La constante evolución de un mer-cado como es el de los fungibles de perforación ha llevado a Rockmore a contar con un equipo de ingenieros que se dedican a rediseñar piezas clá-sicas y a crear nuevos modelos más

Comisi on: Dr. Patricio Salgado Arias Dr. Julio Oliva Zapata Dr. Luis Roa Oppliger ii. Agradecimientos En primer lugar me gustar a agradecer el apoyo que me ha brindado mi familia, en especial a mi madre, mi hermano y mi abuela, por su amor incondicional a lo largo de esta gran traves

combina c oes de reson ancias intermedi arias foram estudadas. Todas resultam em uma boa e equivalente descri c ao dos dados experimentais. O estudo com esse modelo permite mostrar que uma varia c ao de fase na onda-S, consistente com uma reson ancia, e necess aria para descr

misturas bin arias de gases nobres: ne onio - arg onio, h elio - arg onio e h elio - xen onio. Deseja-se calcular as quantidades f sicas relacionadas a velocidade das part culas, uxo de calor e tens ao de cisalhamento. A avalia c ao dos resultados num ericos e desenvolvida atrav es da im

se restringiam as equa c oes diferenciais ordin arias, com ampla apliaca c ao na area de Fi-nan cas, F sicas, Biol ogicas e na Engenharia. Por exemplo: Turbul encia de uxo em uidos din amicos, difusao e ondas em meios aleat orios. A partir de 1970 os estudos das e