



























































Estude fácil! Tem muito documento disponível na Docsity
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Prepare-se para as provas
Estude fácil! Tem muito documento disponível na Docsity
Prepare-se para as provas com trabalhos de outros alunos como você, aqui na Docsity
Encontra documentos específicos para os exames da tua universidade
Prepare-se com as videoaulas e exercícios resolvidos criados a partir da grade da sua Universidade
Responda perguntas de provas passadas e avalie sua preparação.
Ganhe pontos para baixar
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
apostila de matlab
Tipologia: Notas de estudo
1 / 67
Esta página não é visível na pré-visualização
Não perca as partes importantes!




























































Introdução 1.1 Informações iniciais O Matlab (abreviatura de Matriz Laboratory - Laboratório de Matrizes) é um software de simulação matemática que realiza operações matriciais, constrói gráficos em duas ou três dimensões, auxilia no processamento de sinais, além de manipular outras funções especializadas. Ele trabalha com uma linguagem de programação de alto nível, em um ambiente interativo, para o desenvolvimento de algoritmos, análise e visualização de dados e computação numérica. Próprio para as áreas técnica e científica, o software tem funções de tratamento numérico de alto desempenho, capazes de resolver problemas computacionais técnicos de forma mais eficiente do que as tradicionais linguagens de programação. Além do ambiente interativo, outra facilidade do Matlab é a possibilidade de execução de arquivos texto, contendo uma seqüência de instruções definidas pelo usuário. Esses arquivos texto, que têm extensão ‘. m’, podem ser criados e editados dentro ou fora do seu ambiente. 1.2 Janelas Através de objetos gráficos denominados janelas, o usuário opera as funcionalidades do programa de forma interativa. A janela principal do Matlabr chama-se Command Window (Janela de Comando), onde os dados e instruções são digitados no prompt ‘>>’ pelo usuário e, após a tecla Enter ser pressionada, o programa os processa imediatamente e expõe na tela o resultado. Os comandos digitados são armazenados em um buffer de comandos, no qual se pode navegar usando as teclas seta-para-cima ‘"’ e seta-para-baixo ‘#’. Além disso, teclando-se o texto ‘str’, por exemplo, e usando-se as setas ‘"’ e ‘#’, navega-se por todos os comandos iniciados com o texto ‘str’. A tecla Esc. limpa o que estiver escrito na linha do comando. Comandos terminados com ponto-e-vírgula não exibem as variáveis de resposta na tela. O uso do ponto-e-vírgula é útil quando a impressão do resultado na tela não interessa, ou quando a impressão é muito extensa como, por exemplo, para uma matriz 1000 × 1000. Deve-se ressaltar que, apesar da impressão ser suspensa, o comando é executado pelo programa. Vários comandos podem ser digitados na mesma linha, desde que estejam separados por vírgula ou ponto-e-vírgula. Comandos muito longos para uma linha podem ser interrompidos por três pontos ‘... ’ e continuados na linha seguinte. O exemplo a seguir é ilustrativo quanto a esses detalhes.
a=1, b==... 2; c=a+b A = 1
c = 3 É importante apontar que a Janela de Comando normalmente é usada para testes de comandos e funções ou simples operações. Quando se deseja implementar algum programa, projeto ou trabalho utiliza-se o M-File Editor. Neste editor, cria-se um arquivo texto ‘. m’ com os comandos desejados. Para abrir um novo arquivo-M, clique em File >New > M-file ou simplesmente digite o comando Edit. Após escrever o programa, pode-se executá-lo pela tecla de atalho F5. Além da Janela de Comando e do Editor de Arquivo-M, há ainda as janelas Help, Command History, Current Directory e Workspace, que estão respectivamente relacionadas com ajuda, histórico dos últimos comandos digitados, diretório corrente do programa e o espaço de trabalho onde se visualizam dados e variáveis. Essas janelas podem ser mantidas fechadas ou abertas, dependendo da necessidade ou gosto do usuário. Essas outras janelas não são detalhadas nesse documento. 1.3 Ajuda Através do comando help, o usuário pode consultar a ajuda do Matlab. Escrevendo se help e o nome da função, é mostrado um pequeno resumo da função (normalmente de uma linha) seguido de uma descrição mais detalhada da mesma.
help ones ONES Ones array. ONES(N) is an N-by-N matrix of ones. ONES(M,N) or ONES([M,N]) is an M-by-N matrix of ones. ONES(M,N,P,...) is an M-by-N-by-P-by-... array of ones. ONES(SIZE(A)) is the same size as A and all ones. See also ZEROS. É possível, ainda, procurar por funções cujos resumos contenham determinada palavrachave. Para isto, basta digitar o comando lookfor seguido da palavra desejada. Caso se queira interromper a busca, deve-se teclar CTRL+C. PETTele)) UFF 1.4. Bibliotecas do Matlab 1.4.1 Bibliotecas do Matlab O Matlab apresenta uma série de comandos, operadores e funções primitivas, organizadas por categorias, assim como rotinas específicas de diversas áreas da engenharia, organizadas em bibliotecas denominadas Toolboxes. Estas categorias e bibliotecas são designadas por tópicos primários. Para a visualização de todos estes tópicos, basta digitarem o comando help. Alguns desses tópicos primários são:
1.4- / Divisão 1.5- ^ Elevado 1.7 Operadores relacionais: 2.1- = = Igual 2.2- ~= Diferente 2.3- > Maior 2.4- > = Maior ou Igual 2.5- < Menor 2.6- < = Menor ou igual 1.8 Os operadores lógicos permitem a combinação ou negação das relações lógicas. Os operadores lógicos do MATLAB são: &( E) Conjunção | (OU) Disjunção ~ (Não) Negação 1.9 Operador de atribuição ( =) Representa a atribuição da expressão a sua direita a variável a sua esquerda. Ex: 1- x= 200 2 - y= 0. 3 - z= z+ 2.0 Comandos de entrada e saída: 2 .1- Entrada Variável = input (‘ Mensagem’ ) ; Transfere os dados externos via teclado para as varáveis indicadas. 2 .2- Saída 1 - fprintf ( ‘ Mensagem % d’ , Variável)
2 - fprintf (‘ Mensagem %f ’ , Variável) 3 - fprintf (‘ Mensagem % d. 2\n ’ , Variável) 4 -- fprintf (‘ Mensagem % g \n ’ , Variável) 5 - disp ( variável) Mostra o conteúdo da variável na tela. 6 - disp(‘ Mensagem’) Mostra a mensagem na tela. OBS: 1- ; Não mostra o conteúdo da variável na tela. 2 - % Comentário. 3 - clc Limpa a tela. 4 - A mensagem vem entre apóstrofos. 5 - clear variável. Apaga o conteúdo da variável. 6 - , Separar comandos em uma mesma linha. 7 - clear all .Apagar tudo. 3 - Estruturas Condicionais : 3 .1- Estrutura condicional simples: if Teste Comandos ; end 3 .2- Estrutura condicional composta 1 - Com duas opções if Teste comandos A ;
if a<b & a<c & a<d men=a; elseif b<c & b<d men= b; elseif c<d men = c; elese men = d; end fprintf(' menor= %d',men) .
if d>= 0 x1=( - b + sqrt(d)) / ( 2 * a) ; x2=( - b – sqrt(d))/ ( 2 * a ) ; fprintf ( ' x1 = % f /n ' , x1) fprintf ( ' x2 = % f 1', x2) else disp ( ' não existem raízes reais ' ) end 4. A estrutura switch-case Quando se faz uso repetido de testes de igualdade com apenas um argumento comum, costuma-se usar a estrutura switch-case. Essa estrutura tem a seguinte forma: switch var_teste case expressão_teste comandos case {expressão_teste2, expressão_teste3, expressão_teste4 } comandos otherwise comandos end Se os testes de igualdade resultarem em falso para todos os casos, os comandos de otherwise (que é opcional) serão executados. O exemplo abaixo demonstra uma aplicação da estrutura switch-case. clear all num=input(’Escreva um inteiro: ’); % Exibe texto e lê valor para a variável. switch num case 1
Propósito: encerra a execução de comandos for ou while quando são encontrados. Sintaxe: break Exemplo: Fazer um programa que leia um número inteiro positivo. Determine e escreva o segundo maior divisor de n. clc; n=input(‘Digite um num. Inteiro’); For d=1:n IF REM(n,d)== Break; End End fprintf(‘ %d ‘,d);
6. Estruturas de Repetições : 6 .1 - A estrutura for: 1. for variável = início : fim Comandos; end Obs. A variável varia de 1 em 1. : significa “até”
Exercício Resolvidos:
end altura=input('digite altura e altura=0 exit'); end parm=nm*100/tm; fprintf('parm=%f\n',parm)
Exs: A- x= 1: x= 1 2 3 4 5 B- x=1:6. x = 1 2 3 4 5 6 C- z= 6:-1: z = 6 5 4 3 2 1 D- k= linspace ( 0,1,6) k= 0 0.2 0.4 0.6 0.8 1 E- x=logspace(0,2,5) x=1 3.1623 10 31.6225 100 5 - Para criar um vetor coluna elemento for elemento estes devem estar separados por(;). Ex: v= [ 1.5 ; - 3.2 ; 9) v= 1.
2
3 7 - Endereçamento de vetores: os elementos são acessados através de seu índice. Ex: x= 1: x(3) %. Acessa o 3º elemento de x. x (6) %. Acessa o 6º elemento de x. c=linspace (10,40,7)
c= 10 15 20 25 30 35 40 c (3:5) % .Acessa o 3º ao 5º elemento de c. 30 20 10 C([ 4 , 1]) % .Acessa o 4º e 1º elementos de c. 25 10 9. Operações Com Matrizes As operações com matrizes no MATLAB são as seguintes:· Transposta;· Adição;· Subtração;· Multiplicação;· Divisão à direita;· Divisão à esquerda;· Exponenciação; 9 .1 Transposta O caracter apóstrofo, " ' " , indica a transposta de uma matriz. Considere os exemplos a seguir:
A=[1 2 3; 4 5 6; 7 8 0] A= 1 2 3 4 5 6 7 8 0
B=A’ 1 4 7 2 5 8 3 6 0
x = [-1 0 2]' X = - 1 0 2 9 .2 Adição e Subtração
O produto de uma matriz por um vetor é um caso especial do produto entre matrizes. Por exemplo A e X,
b = A*x que resulta em B = 5 8
pi*x Ans =
0
Além da multiplicação matricial e escalar, podemos ter a multiplicação por elemento de matrizes de mesma dimensão. Esse tipo de operação é feita utilizando-se um ponto (.)antes do perador de multiplicação ( * ). Ou seja, se A e B são matrizes definidas por A=[ a11a12... a1n; a21a22... a2n; ... ; am1am2... amn] e B=[ b11b12... b1n; b21b22... b2n; ... ; bm1bm2... bmn], entãoA.B =aijbij. Por exemplo:
A.B ans = 1 8 21 8 25 48 21 48 0 9 .4 Divisão Existem dois símbolos para divisão de matrizes no MATLAB "" e "/". Se A é uma matriz quadrada não singular, então A\B eB/A correspondem respectivamente à multiplicação à esquerda e à direita da matriz B pela inversa da matriz A , ou inv(A)B e Binv(A), mas o resultado é obtido diretamente. Em geral, • X = A\B é a solução de AX = B • X = B/A é a solução de XA = B Por exemplo, como o vetor b foi definido como Ax, a declaração z = A\b resulta em Z =
A divisão por elemento entre matrizes é definida de maneira similar à multiplicação por elemento, ou seja, A./B= aij/bij e A.\B= aij\bij, onde A e B têm mesma dimensão. 9 .5 Exponenciação A expressão Ap eleva A à p-ésima potência e é definida se A é matriz quadrada e p um escalar. Se P é um inteiro maior do que um, a exponenciação é computada como múltiplas multiplicações. Por exemplo,
A^ Ans = 279 360 306 684 873 684 738 900 441 A exponenciação por elemento entre matrizes é definida de maneira similar à multiplicação por elemento, ou seja, A.B= aijbij,onde A e B têm mesma dimensão. De maneira similar, a
potenciação por elemento entre uma matriz e um escalar apresenta as seguintes formas: A.c=aijc e c.A=caij 9 .6 Elementos das Matrizes Um elemento individual da matriz pode ser indicado incluindo os seus subscritos entre parênteses. Por exemplo, dada a matriz A: A = 1 2 3 4 5 6 7 8 9 a declaração >> A(3,3) = A(1,3) + A(3,l) resulta em A = 1 2 3 4 5 6 7 8 10
A(1:3,2) Ans = 2 5 8 A(1:3,2:3) é uma submatriz 3x2, que consiste das três linhas e das últimas duas colunas de A. Ans =