






















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
Material introdutório ao software Matlab.
Tipologia: Notas de estudo
1 / 30
Esta página não é visível na pré-visualização
Não perca as partes importantes!























O MATLAB trabalha essencialmente com um tipo de variável: uma matriz contendo números, complexos ou não (um escalar é uma matriz 1 x 1). Em alguns casos, um tratamento especial é dado a uma matriz 1 x 1 ( escalar ) ou a matrizes 1 x n ou n x 1 ( vetores ).
No MATLAB não é necessário que sejam declaradas as variáveis para iniciá-las, como é feito em outras linguagens de programação. Ao jogar dados numa variável, o programa aloca memória automaticamente. A maneira mais fácil de entrar com pequena quantidade de valores é digitando diretamente os dados:
Por exemplo, para entrar com a matriz abaixo na memória do computador, e guardá-la na variável A: 1 2 3 A = 4 5 6 7 8 9
Variáveis
Escalares Vetores Matrizes
Vetores Linha Vetores Coluna
Numéricos “Strings”
4 7 5 9 t e x t o
B = 4.
8 2
A = 1 -7 3 2 0 8
(matrix 1x1)
Basta digitar: » A=[1 2 3;4 5 6; 7 8 9] Que a saída será: A = 1 2 3 4 5 6 7 8 9
OBS: Para que o computador realize a operação e não mostre a saída, basta terminar a expressão com ponto-e-vírgula (;). Isto é muito útil para evitar que o computador fique mostrando números de cálculos intermediários e para acelerar as operações.
Existem algumas variáveis que são intrínsecas ao MATLAB e que não podem ser apagadas. Algumas são interessantes:
ans (^) Resposta mais recente, que não foi atribuída a nenhuma variável.
flops (^) Contador de operações matemáticas. eps (^) Precisão da máquina. NaN (^) Not a Number (indeterminação) realmax (^) Maior número de ponto flutuante. inf (^) Infinito. realmin (^) Menor número de ponto flutuante. computer (^) Tipo de computador. pi (^) 3,14159265358979 why (^) Resposta sucinta. i, j (^) Unidade imaginária version (^) Versão do MATLAB.
Para saber a precisão da máquina, basta digitar eps.
MATLAB é uma linguagem de expressão. Ele interpreta e avalia as expressões digitadas, que são geralmente na forma: variável = expressão Os números são em notação decimal. Pode-se criar números complexos basta escrever i (ou j ) depois da parte imaginária. Alguns exemplos de números permitidos: 1/3 -99. 9.63973 1.602E-20 6.025E 3 + 2i -3.1459i 3E5i
0.32 2.5 + pi 2 A = 1e2 4 12 9 51 24
» help who WHO List current variables. WHO lists the variables in the current workspace. WHOS lists more information about each variable. WHO GLOBAL and WHOS GLOBAL list the variables in the global workspace.
Um comando igualmente importante é lookfor , que procura entre todas as funções do MATLAB a palavra-chave especificada.
» lookfor max BITMAX Maximum floating point integer. REALMAX Largest positive floating point number. MAX Largest component.
Comandos: who, whos, eps, format, quit, save, load, clear, help, lookfor.
Exercícios:
Armazene no workspace os seguintes valores: a = 3.132; b = -23.004; c = 5*pi; d = (3 5.4 7.43) e = (-2.234 0 pi/2)
Verifique o resultado das seguintes das seguintes operações: a) a + b +eps e) g – c * f b) c – b * (a / b) f) A * B c) d – e g) a * A – B / c d) e’ + 2 * f h) f * B
Verifique o resultado das seguintes operações: a) sin(a) * log(b) e) max(log(g + f + dt))*B b) tan(c+eps) – asin(b) f) sin(cos(tan(A)))
f = 0 1
12e- g = 4i pi*i
c) mind(d^2) – max(e) g) inv(A) d) log(f) h) inv(At) * cos(B)
Atribua as seguintes expressões às variáveis: a) 3.34 * a – pi/c para x b) log(d + 34.0054) para y c) log(A) para Z d) ft^ * B para t
Salve as variáveis x, Z, B em um arquivo chamado exerc1.mat.
Saia do MATLAB, entre novamente e carregue as variáveis salvas anteriormente.
Apague a variável Z.
Elementos de uma matriz podem ser qualquer expressão do MATLAB. Por exemplo:
» x=[-1.3 log(4.23^3) (1+2+3)/4*5] Resulta em: x = -1.3000 4.3266 7.
Elementos individuais de uma matriz podem ser referenciados com seus respectivos índices entre parêntesis. No exemplo anterior, para referenciar o segundo elemento do vetor x: » x(2) ans =
Analogamente em uma matriz, com linha e coluna determinada tenho um elemento. Seja: » x=[1 2 3;4 5 6;7 8 9] x = 1 2 3 4 5 6 7 8 9
2.4000 0. 2.6000 0. 2.8000 0. 3.0 0.
É possível construir matrizes maiores a partir de matrizes menores. Por exemplo: » A=[1 2 3;4 5 6;7 8 9]; » r=[13 32 5]; » A=[A;r] A = 1 2 3 4 5 6 7 8 9 13 32 5
Seguindo o mesmo raciocínio, pode-se extrair matrizes menores a partir de uma maior. Já é sabido o comando » x=A(1,3) x = 3 atribui à variável “x” o elemento da 1a^ linha e 3a^ coluna da matriz A. Da mesma forma que é possível atribuir um elemento de uma matriz (que é um escalar, ou seja, uma matriz 1 x 1), também é possível atribuir pedaços inteiros da mesma matriz. Por exemplo, seja a matriz A:
Pegar os elementos da 2a^ linha e 3a^ e 4 a colunas:
» A=[1 2 3 4; 5 6 7 8;9 10 11 12;14 83 23 0] A = 1 2 3 4 5 6 7 8 9 10 11 12 14 83 23 0 » A(2,[3 4]) ans = 7 8
O que aconteceu? Ao invés de passar um escalar como índice para as colunas da matriz A, passou-se o vetor [3 4]. O MATLAB interpretou isto como sendo: pegue os elementos a 23 e a 24. Um outro exemplo ainda na matriz A. Para pegar a parte selecionada.
» A([1 2 3],[2 3]) ans = 2 3 6 7 10 11
ou ainda um comando equivalente: » A(1:3,2:3) ans = 2 3 6 7 10 11
Usar os dois pontos sozinhos significa todos os elementos da respectiva linha ou coluna: » A(3,:) ans = 9 10 11 12
Este tipo de notação facilita enormemente a criação de programas.
a) Atribua o elemento a 32 à variável c b) Atribua o elemento b 22 à variável c c) Atribua os elementos a 11 , a 12 e a 13 à um vetor d d) Atribua a 3a^ coluna da matriz B a um vetor d e) Atribua a 2a^ linha de B à primeira linha de A. Dica: preencha os espaços restantes com 0. f) Atribua a 4a^ linha de A à 2a^ linha de A.
Existem seis operadores relacionais no MATLAB. São eles: Símbolo Operador < menor que <= menor ou igual que
maior que = maior ou igual que == igual ~= não igual
O resultado da comparação é 1 se verdadeiro e 0 se falso. por exemplo: » 2 + 2 == 4 ans = 1
No caso de comparação com matrizes, o resultado será uma matriz de 0 e 1: » x=[2 3 4;5 2 7;9 2 7] x = 2 3 4 5 2 7 9 2 7 » x> ans = 0 0 0 1 0 1 1 0 1
Para os operadores lógicos, tem-se: Símbolo Operador & e | ou ~ não
Existem ainda algumas funções que são úteis com os operadores lógicos, com any ou all. Por exemplo: » x = [1 2 3 4 5 6] x = 1 2 3 4 5 6
» any(x>5) ans = 1
» all(x>5) ans = 0
Pode-se usar os vetores de 0 e 1, geralmente criados a partir de operações de comparação, como referência para matrizes. Seja a matriz A descrita anteriormente. para atribuir os elementos de A que satisfazem determinada comparação a uma outra variável, faz-se: variável = A( comparação ) Por exemplo: » b = A(A>5) b = 9 14 6 10 83 7 11 23 8 12
Comandos: any, all. Exercícios:
Exemplo de ajuste de curva: » x=1:7; » y=[1.2 1.6 2.3 2.8 3.9 4.5 5.6]; » [x' y'] ans = 1.0000 1. 2.0000 1. 3.0000 2. 4.0000 2. 5.0000 3. 6.0000 4. 7.0000 5. » faj=polyfit(x,y,1); » faj=polyval(faj,x); » plot(x,y,'+blue',x,faj,'black')
O MATLAB proporciona técnicas sofisticadas para visualização de dados. Ele trabalha essencialmente com objetos gráficos , tais como linhas e superfícies, cuja aparência pode ser controlada através de propriedades de objeto. Entretanto, como o MATLAB possui uma vasta gama de funções para gráficos que automatizam essas propriedades, na maioria das vezes não será necessário lidar com estes objetos.
A função básica para desenhar gráficos em duas dimensões é a função plot. Quando esta função recebe um conjunto de ponto x e y, ela desenha-os em um plano cartesiano. Por exemplo, seja o conjunto de pontos abaixo:
x y = x^2 0 0 1 1 2 4 3 9 4 16 5 25
Para plotar o gráfico y = f(x) , primeiro cria-se um vetor x contendo os valores de x, e depois um vetor y com os valores de y. Então chama-se a função plot , que é usada da seguinte maneira: » x=[0 1 2 3 4 5]; » y=x.^2; » plot(x,y) Lembrando que para definir o vetor x pode-se usar os comandos mostrados na seção 3.1.2 (“ Gerando Vetores ”) e colocar a função diretamente num dos parâmetros da função plot. Por exemplo: » plot(x,y) » x=[0:5]; » plot(x,x.^2)
O MATLAB criará uma janela com a figura do gráfico ( vide figura 1). Na verdade, a função plot recebe um número variável de argumentos. Sua forma mais geral é plot(x 1 ,y 1 ,jeito 1 ,x 2 ,y 2 ,jeito 2 ,…,xn,yn,jeiton). Ou seja, você pode traçar mais de uma curva no mesmo gráfico. O argumento jeito representa as várias opções para o gráfico, que pode ser qualquer um dos seguintes strings^2 :
y (^) amarelo w (^) branco + (^) cruz m (^) roxo k (^) preto - (^) sólida c (^) azul claro -- (^) tracejada * (^) estrela r (^) vermelho. (^) ponto : (^) pontilhada g (^) verde o (^) círculo -. (^) traço ponto b (^) azul x (^) x
Figura 1 – Gráfico f(x) = x^2
(^2) Um string é uma seqüência de caracteres que o MATLAB interpreta como um texto. Os strings são sempre denotados entre apóstrofos.
(^00) 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
5
10
15
20
25
O MATLAB cria uma variedade de funções para gráficos em 3 dimensões. Entre elas:
plot3 (^) Plota curvas em 3D surf, surfc, surfl (^) superfícies 3D contour (^) Curvas de nível mesh, meshc, meshz (^) cria linhas em perspectiva 3D
Por exemplo: » t=0:pi/50:10*pi; » plot3(sin(t),cos(t),t);
Gera a figura 3. Todos os outros comandos de escala, título, nome aos eixos continuam valendo (nome ao eixo z: zlabel ).
O MATLAB define uma superfície do tipo mesh (rede) pelas coordenadas Z sobre um plano x-y. Superfícies tipo mesh são úteis para visualizar matrizes demasiadamente grandes para serem mostradas na forma numérica, ou para plotar funções de duas variáveis.
O primeiro passo para plotar uma função de 2 variáveis z=f(x,y) é gerar matrizes X e Y contendo linhas e colunas repetidas, respectivamente, para funcionarem como o domínio da função. A função meshgrid transforma o domínio especificado por dois vetores x y em duas matrizes X e Y. Essas matrizes então são usadas para avaliar a função de 2 variáveis. Por exemplo, seja a função:
Figura 3 – Gráfico de uma hélice circular
Gráfico 3D
Curvas Superfícies
-1 -0.
0 0.
1 -0.5 -
0.5 0 10
10
20
30
40
f(x,y) = sen(x^2 + y^2 )½/ (x^2 + y^2 )½ » plot3(sin(t),cos(t),t); » [X,Y]=meshgrid(-8:0.5:8,-8:0.5:8); » r= sqrt(X.^2+Y.^2)+eps; » Z=sin(r)./r; » mesh(X,Y,Z)
É possível especificar o ponto de vista no qual se enxerga a figura usando o comando view. O comando view recebe dois argumentos. O primeiro é a rotação em graus no plano xy , e o segundo é a elevação em graus do ponto de vista. O padrão é view(-37.5,30). Também é possível colocar vários tipos de gráficos em uma mesma figura, usando o comando subplot. Por exemplo, subplot(m,n,p) quebra a figura em m por n subgráficos e seleciona o p-ésimo como o atual. Mais detalhes ver help on-line.