View
29
Download
0
Category
Preview:
DESCRIPTION
SEMANA DA TECNOLOGIA - 2011 Unidades de Gestão: gep | getec | gead Minicursos e Oficinas matlab 1º Semestre de 2011. Prof. Alan Souza Prado. SEMANA DA TECNOLOGIA – 2011 – MATLAB. INTRODUÇÃO AO MATLAB. MATLAB 7.0. SEMANA DA TECNOLOGIA – 2011 – MATLAB. O que é o MATLAB?. - PowerPoint PPT Presentation
Citation preview
SEMANA DA TECNOLOGIA - 2011
UNIDADES DE GESTÃO: GEP | GETEC | GEAD
MINICURSOS E OFICINAS
MATLAB
1º SEMESTRE DE 2011
Prof. Alan Souza Prado
SEMANA DA TECNOLOGIA – 2011 – MATLAB
MATLAB 7.0
INTRODUÇÃO AO MATLAB
SEMANA DA TECNOLOGIA – 2011 – MATLAB
MATLAB 7.0
O que é o MATLAB?
MATrix LABoratory
Software de alto desempenho que realiza cálculos utilizando matrizes.
Seus comandos são mais próximos da forma como escrevemos expressões algébricas, tornando mais simples o seu uso.
MATLAB é definido como um sistema interativo e uma linguagem de programação para computação técnica e científica em geral, integrando a capacidade de fazer cálculos, visualização gráfica e programação.
SEMANA DA TECNOLOGIA – 2011 – MATLAB
MATLAB 7.0
Para que usamos então o MATLAB?
• cálculos matemáticos;• desenvolvimento de algoritmos;• modelagem, simulação e
confecção de protótipos;• análise, simulação e confecção
de dados;• gráficos científicos e de
engenharia;• desenvolvimento de aplicações,
incluindo a elaboração de interfaces gráficas com o usuário.
SEMANA DA TECNOLOGIA – 2011 – MATLAB
MATLAB 7.0
Conhecendo o Ambiente do MATLAB
SEMANA DA TECNOLOGIA – 2011 – MATLAB
MATLAB 7.0
Conhecendo o Ambiente do MATLAB
Janela de ComandoÁrea de Trabalho
Histórico de comandos
SEMANA DA TECNOLOGIA – 2011 – MATLAB
MATLAB 7.0
Formas de Utilizar o MATLAB
• Para utilizar o MATLAB, você pode inserir diretamente na janela de comando as instruções desejadas.
• Você pode também criar um arquivo denominado M-file, para posteriormente executar suas instruções.• Para essa segunda opção será aberto um
editor de códigos.
SEMANA DA TECNOLOGIA – 2011 – MATLAB
MATLAB 7.0
Funcionamento do MATLAB
• Diretamente na janela de comandos
• Uma vez inicializado o Matlab, aparecerá na janela de comandos um prompt >>
• O prompt significa que o Matlab está esperando um comando. Todo comando deve ser finalizado teclando-se Enter.
SEMANA DA TECNOLOGIA – 2011 – MATLAB
MATLAB 7.0
Funcionamento do MATLAB
• No Matlab, pode-se obter ajuda sobre qualquer comando ou função.
>> help
• Ajuda sobre um pacote específico ou sobre um comando ou função é obtida com o comando:
>> help nome
SEMANA DA TECNOLOGIA – 2011 – MATLAB
MATLAB 7.0
Cálculos Científicos
• O Matlab faz cálculos simples e cientícos como uma calculadora.
• Suponha que você vai a uma loja e compra 3 objetos que custam 25 reais cada e 5 objetos que custam 12 reais cada. Quanto custou a sua compra?
• No Matlab você pode resolver este problema de pelo menos duas maneiras. A mais simples é
>> 3*25 + 5*12ans =135
SEMANA DA TECNOLOGIA – 2011 – MATLAB
MATLAB 7.0
Cálculos Científicos
• Observe que no Matlab a multiplicação tem precedência sobre a adição. Note também que ele chamou o resultado de ans.
• Alternativamente, você pode usar variáveis para armazenar informação.
>> q1=3, p1=25, q2=5, p2=12q1 =3p1 =25q2 =5p2 =12
SEMANA DA TECNOLOGIA – 2011 – MATLAB
MATLAB 7.0
Cálculos Científicos
>> total=q1*p1+q2*p2total =135
• O Matlabr oferece as seguintes operações aritméticas:
• a+b soma a e b. Por exemplo, 5+6.• a-b subtrai a de b. Por exemplo, 15-12.• a*b multiplica a por b. Por exemplo,
3.14*0.15.• a^b calcula a elevado a b. Por exemplo,
5^(1/2)
SEMANA DA TECNOLOGIA – 2011 – MATLAB
MATLAB 7.0
Cálculos Científicos
• Observe que no Matlab o sinal de igual tem um sentido diferente daquele da Matemática. Aqui, igual significa atribuição. O que estiver à direita do sinal de igual é “colocado" na variável que estiver à esquerda.
• Usamos a vírgula para separar os comandos que são dados em uma mesma linha.
• Esta separação poderia ser feita com ponto e vírgula. Mas, neste caso o Matlab não mostra os resultados dos comandos.
SEMANA DA TECNOLOGIA – 2011 – MATLAB
MATLAB 7.0
Cálculos Científicos
>> q1=3; p1=25; q2=5; p2=12;>> total=q1*p1+q2*p2
• Em qualquer momento, podemos ver o valor que está contido em uma variável, simplesmente digitando no prompt o seu nome.
>> totaltotal =135
SEMANA DA TECNOLOGIA – 2011 – MATLAB
MATLAB 7.0
Variáveis
• O Matlab tem certas regras para nomear as variáveis.
• Os nomes de variáveis devem ser nomes iniciados por letras não podem conter espaços nem caracteres de pontuação.
• O Matlab faz diferença entre letras maiúsculas e minúsculas.
• Alguns nomes são usados para variáveis predefinidas.
SEMANA DA TECNOLOGIA – 2011 – MATLAB
MATLAB 7.0
Variáveis Pré Definidas
• ans - usada para os resultados.• pi - número .• inf - significa infinito.• NaN ou nan - significa não é um número, por
exemplo, 0/0.• i e j - unidade imaginária .• nargin - número de argumentos de entrada de
uma função.• nargout - número de argumentos de saída de
uma função.• realmin - menor número que o computador
pode armazenar.• realmax - maior número que o computador
pode armazenar.
SEMANA DA TECNOLOGIA – 2011 – MATLAB
MATLAB 7.0
Funções Científicas
• O Matlab tem uma série de funções científicas pré definidas.
• A maioria pode ser usada da mesma forma que seria escrita matematicamente. Por exemplo
>> x=sqrt(2)/2x =0.7071
>> y=acos(x)y =0.7854
>>y_graus=y*180/piy_graus =45.0000
SEMANA DA TECNOLOGIA – 2011 – MATLAB
MATLAB 7.0
Funções Científicas• abs(x) - valor absoluto de x.• acos(x) - arco cujo cosseno é x.• asin(x) - arco cujo seno é x.• atan(x) - arco cuja tangente é x.• ceil(x) - maior inteiro mais próximo de
x.• cos(x) - cosseno de x.• exp(x) - exponencial de x.• fix(x) - parte inteira de x real.• floor(x) - menor inteiro mais próximo de
x.• gcd(x,y) - máximo divisor comum de x e
y.• lcm(x,y) - mínimo múltiplo comum de x
e y.• log(x) - logaritmo de x na base e.• log10(x) - logaritmo de x na base 10.• rem(x,y) - resto da divisão de x por y.• round(x) - inteiro mais próximo de x.• sin(x) - seno de x.• sqrt(x) - raiz quadrada de x.• tan(x) - tangente de x.
SEMANA DA TECNOLOGIA – 2011 – MATLAB
MATLAB 7.0
Variáveis e Expressões Simbólicas
• Agora, vamos ver como podemos manipular com expressões que além de números e variáveis numéricas, contém também variáveis simbólicas. Por exemplo:>> syms x
>> simplify((sin(x))^2+(cos(x))^2)ans =1
• Estes comandos mandam o Matlab simplificar a expressão sen2x + cos2x. Primeiro precisamos dizer ao Matlab que x é uma variável simbólica, depois simplificar a expressão que envolve x.
• Neste caso usamos uma função chamada simplify. Aqui função é um comando, que pode ter alguns argumentos de entrada e alguns de saída. Neste caso, a função simplify tem como argumento de entrada uma expressão simbólica e de saída também.
SEMANA DA TECNOLOGIA – 2011 – MATLAB
MATLAB 7.0
Variáveis e Expressões Simbólicas
• Uma vez definido que a variável x é uma variável simbólica, podemos definir expressões que envolvem esta variável. Por exemplo, dadas duas funções:
f(x) = 2x2+ 3x - 5 e g(x) = x2 - x + 7;
podemos fazer uma série de operações algébricas envolvendo estas funções.
SEMANA DA TECNOLOGIA – 2011 – MATLAB
MATLAB 7.0
Variáveis e Expressões Simbólicas
>> f=2*x^2+3*x-5; g=x^2-x+7;>> f+gans =3*x^2+2*x+2>> f-g>> f*g>> expand(ans)>> f/g>> expand(ans)>> pretty(ans)>> f^3>>expand(ans)
SEMANA DA TECNOLOGIA – 2011 – MATLAB
MATLAB 7.0
Variáveis e Expressões Simbólicas
• O Matlab pode realizar operações mais avançadas sobre expressões simbólicas. A função compose calcula a composição dasfunções f(x) e g(x) em f(g(x)), a função finverse encontra a inversa funcional de uma expressão e a função subs substitui uma variável por um número (ou por outra variável) em uma expressão.
>> f=1/(1-x^2); g=sin(x);>> compose(f,g)ans = 1/(1-sin(x)^2)>> compose(g,f)ans = sin(1/(1-x^2))>> finverse(g)ans = asin(x)>> subs(f,x,2)ans = -1/3
SEMANA DA TECNOLOGIA – 2011 – MATLAB
MATLAB 7.0
Variáveis e Expressões Simbólicas
• O Matlab pode resolver equações. Por exemplo, para resolver a equação
ax2+ bx + c = 0;algebricamente, podemos usar os comandos:
>>syms a b c x>> solve(a*x^2+b*x+c)ans =[1/2/a*(-b+(b^2-4*a*c)^(1/2))][1/2/a*(-b-(b^2-4*a*c)^(1/2))]
>>pretty(ans)
SEMANA DA TECNOLOGIA – 2011 – MATLAB
MATLAB 7.0
Variáveis e Expressões Simbólicas
• diff(f) - calcula a derivada de f.• compose(f,g) - determina a composta f(g(x)).• expand(expr) - expande uma expressão expr.• finverse(expr) - determina a inversa funcional da
expressão expr.• pretty(expr) - exibe a expressão expr numa forma
mais bonita.• simple - procura encontrar uma forma mais
simples de escrever uma expressão expr.• simplify(expr) - simplifica a expressão expr.• solve(expr) - acha a(s) solução(es) da equação
expr= 0.• subs(expr,x,a) - substitui na expressão expr a
variável x por a.• syms x y z a - define as variáveis simbólicas x, y, z
e a
SEMANA DA TECNOLOGIA – 2011 – MATLAB
MATLAB 7.0
Variáveis e Expressões Simbólicas
• Existem várias outras funções para manipulação de expressões algébricas. Você pode obter informações sobre elas digitando help symbolic.
• Uma função interessante que mostra as capacidades do Matlab em tratar com funções matemáticas é funtool que é uma calculadora para funções.
SEMANA DA TECNOLOGIA – 2011 – MATLAB
MATLAB 7.0
Variáveis e Expressões Simbólicas
• As categorias gerais de funções matemáticas disponíveis no MATLAB incluem:• Matemática elementar;• Funções especiais;• Matrizes elementares e especiais;• Decomposição e fatorização de matrizes;• Análise de dados;• Polinômios;• Solução de equações diferenciais;• Equações não-lineares e otimização;• Integração numérica;• Processamento de sinais.
SEMANA DA TECNOLOGIA – 2011 – MATLAB
MATLAB 7.0
Vetores e Matrizes
• O MATLAB permite a manipulação de linhas, colunas, elementos individuais e partes de matrizes.
SEMANA DA TECNOLOGIA – 2011 – MATLAB
MATLAB 7.0
Vetores e Matrizes
X=primero : último Cria um vetor x começando com o valor primeiro,incrementando-se de 1(um) em 1(um) até atingir ovalor último ou o valor mais próximo possível deúltimo
X=primeiro:incremento:último
Cria um vetor x começando com o valor primeiro, incrementando-se do valor incremento até atingir o valor último ou o valor mais próximo possível de último
X=linspace(primeiro, último, n)
Cria um vetor x começando com o valor primeiro e terminado no valor último, contendo n elementos linearmente espaçados.
X=logspace(primeiro, último, n)
Cria um vetor x começando com o valor 10primeiro eterminando no valor 10último, contendo n elementoslogaritmicamente espaçados
X=[2 2*pi sqrt(2) 2-3j] Cria um vetor x contendo os elementos especificados
SEMANA DA TECNOLOGIA – 2011 – MATLAB
MATLAB 7.0
Vetores e Matrizes
• Exemplo 1:>> x = 1 : 5
gera um vetor linha contendo os números de 1 a 5 com incremento unitário. Produzindo
• Exemplo 2:>> z = 6 : -l : l
• Exemplo 3:Pode-se, também, gerar vetores usando a função linspace. Por exemplo,
>> k = linspace(0, l, 6)>> x = linspace(1,10.5,5)
SEMANA DA TECNOLOGIA – 2011 – MATLAB
MATLAB 7.0
Vetores e Matrizes
• Exemplo 4:>> x=logspace(0,2,5)
• Exemplo 5:>> x=[8 6 8.10 5*pi]
SEMANA DA TECNOLOGIA – 2011 – MATLAB
MATLAB 7.0
Vetores e Matrizes
• Nos exemplos apresentados os vetores possuem uma linha e várias colunas (vetores linha).
• Da mesma forma podem existir vetores coluna (uma coluna e várias linhas). Para se criar um vetor coluna elemento por elemento estes devem estar separados por ( ; ). Por exemplo:
>>v=[1.5;-3.2;9]
SEMANA DA TECNOLOGIA – 2011 – MATLAB
MATLAB 7.0
Vetores e Matrizes
• Esses vetores coluna podem também ser criados a partir dos comandos utilizados anteriormente para criar os vetores linha, acompanhados do símbolo (' ), que é o operador de transposição. Exemplo:
>> y=(1:0.5:3)‘>> z=[0 -2.3 4 sqrt(33)]'
SEMANA DA TECNOLOGIA – 2011 – MATLAB
MATLAB 7.0
Endereçamento de Vetores
• No Matlab, cada um dos elementos de um vetor podem ser acessados através de seu índice que identifica cada uma das colunas. Por exemplo :
>> x=1:10x=12345678910>> x(3) % Acessa o terceiro elemento de x ans =3>> x(5) % Acessa o quinto elemento de xans =5
SEMANA DA TECNOLOGIA – 2011 – MATLAB
MATLAB 7.0
Endereçamento de Vetores
• Esses elementos de um vetor também podem ser acessados em blocos. Por exemplo:
>> c=linspace(10,40,7)c =10 15 20 25 30 35 40>> c(3:5) % terceiro a quinto elemento de cans = 20 25 30>>c(5:-2:1) % quinto, terceiro e primeiro elementos de c
ans = 30 20 10
SEMANA DA TECNOLOGIA – 2011 – MATLAB
MATLAB 7.0
Endereçamento de Vetores
• O endereçamento indireto também é possível, permitindo referenciar os elementos em qualquer ordem:
>> c([4 1]) %quarto e primeiro elementosans = 25 10
• No caso de vetores coluna, os comandos acima funcionam de maneira similar. Por exemplo:
>> d=c'
SEMANA DA TECNOLOGIA – 2011 – MATLAB
MATLAB 7.0
Endereçamento de Vetores
>> d([4 1]) %quarto e primeiro elementosans = 25 10>> d(5:-2:1)ans = 30 20 10
SEMANA DA TECNOLOGIA – 2011 – MATLAB
MATLAB 7.0
Operações entre Vetores
• As operações básicas entre vetores só são definidas quando estes tiverem o mesmo tamanho e orientação (linha ou coluna). Estas operações são:
SEMANA DA TECNOLOGIA – 2011 – MATLAB
MATLAB 7.0
Matrizes
• O MATLAB trabalha essencialmente com um tipo de objeto, uma matriz numérica retangular ( 1x1; 2x2; 3x3; i ( linha) x j (coluna); etc).
• Para criar uma variável onde é armazenada uma matriz, basta escrever os elementos da matriz entre colchetes [ ... ], sendo os elementos de uma mesma linha da matriz separados por vírgula e as linhas separadas por ponto e vírgula.
SEMANA DA TECNOLOGIA – 2011 – MATLAB
MATLAB 7.0
Matrizes
• Por exemplo, para armazenar a matriz:
• numa variável de nome A usamos o comando>> A=[1,2,3;4,5,6]
SEMANA DA TECNOLOGIA – 2011 – MATLAB
MATLAB 7.0
Matrizes
• O operador ‘:’ indica da onde ate aonde• Podemos acessar os elementos de uma
matriz usando os comandos>> A(2,3)
6>> A(2,:)
4 5 6>> A(:,1)
14
>> A(:,1:2)1 24 5
SEMANA DA TECNOLOGIA – 2011 – MATLAB
MATLAB 7.0
Matrizes
• As matrizes podem ser concatenadas>> B=[A,[7;8]]
B =1 2 3 74 5 6 8
>> [A;[7,8,9]]ans =1 2 34 5 67 8 9
SEMANA DA TECNOLOGIA – 2011 – MATLAB
MATLAB 7.0
Matrizes
• Existem algumas funções para geração de algumas matrizes elementares:
• zeros: Cria uma matriz preenchida com zeros
>>Z= zeros(2,5)Z=0 0 0 0 00 0 0 0 0
• ones: Cria uma matriz preenchida com uns>>A= ones(3,4)
A=1 1 1 11 1 1 11 1 1 1
SEMANA DA TECNOLOGIA – 2011 – MATLAB
MATLAB 7.0
Matrizes
• eye: Cria a matriz identidade>> eye(3)ans = 1 0 0
0 1 0 0 0 1
• rand: Cria uma matriz de números aleatórios entre 0 e 1
>>round(10* rand(2,3))ans = 0 2 7 9 3 3
SEMANA DA TECNOLOGIA – 2011 – MATLAB
MATLAB 7.0
Matrizes
• randn: Cria uma matriz de números aleatórios.
>>randn(3,5)ans =
0.5287 -2.1707 0.6145 0.5913 -1.0091 0.2193 -0.0592 0.5077 -0.6436 -0.0195 -0.9219 -1.0106 1.6924 0.3803 -0.0482
• magic(N) – gera matriz quadrada de ordem N de números inteiros que têm a soma de cada linha, coluna ou diagonal principal iguais.
>> magic(3)ans =
8 1 6 3 5 7 4 9 2
SEMANA DA TECNOLOGIA – 2011 – MATLAB
MATLAB 7.0
Operações com Matrizes
• As operações com matrizes no MATLAB são as seguintes:
• Transposta, Inversa, Determinante;• Adição;• Subtração;• Multiplicação;• Divisão à direita;• Divisão à esquerda;
SEMANA DA TECNOLOGIA – 2011 – MATLAB
MATLAB 7.0
Operações com Matrizes
• 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 67 8 0
>> B = A‘B = 1 4 7
2 5 83 6 0
>> x = [-1 0 2]'X =
-1 0 2
SEMANA DA TECNOLOGIA – 2011 – MATLAB
MATLAB 7.0
Operações com Matrizes
• det(A) – determinante de A. • inv(A) – inversa de A.• reshape(A) – reformata A.• size(A) – vetor contendo o tamanho de cada
dimensão de A.• lenght(A) – comprimento do vetor ou
dimensão máxima de A• diag(A) – retorna a diagonal de A em um
vetor • tril(A) – matriz triangular inferior de A• triu(A) – matriz triangular superior de A
SEMANA DA TECNOLOGIA – 2011 – MATLAB
MATLAB 7.0
Operações com Matrizes
• Adção/Subtração - A adição e subtração de matrizes são indicadas, respectivamente, por "+" e "-". As operações são definidas somente se as matrizes tiverem as mesmas dimensões. Por exemplo, a soma com as matrizes mostradas acima, A + x, não é correta porque A é 3x3 e x é 3x1. Porém, >> C = A + B
é aceitável, e o resultado da soma éC =
2 6 106 10 1410 14 0
SEMANA DA TECNOLOGIA – 2011 – MATLAB
MATLAB 7.0
Operações com Matrizes
• A adição e subtração também são definidas se um dos operadores é um escalar, ou seja, uma matriz l x l. Neste caso, o escalar é adicionado ou subtraído de todos os elementos do outro operador. Por exemplo:
>> y = x - 1
• resulta emY =-2-1 1
SEMANA DA TECNOLOGIA – 2011 – MATLAB
MATLAB 7.0
Operações com Matrizes
• Existem também algumas funções que auxiliam em operações, como:
• S=sum(A(:)) – soma todos os elementos da matriz A.
• S=sum(A(x:y)) – soma todos os elementos da matriz A indo de x ate y.
• S=sum(A) – soma todos os elementos de cada coluna separadamente e os coloca numa matriz linha.
SEMANA DA TECNOLOGIA – 2011 – MATLAB
MATLAB 7.0
Operações com Matrizes
• Existem também algumas funções que auxiliam em operações, como:
• S=sum(A(:)) – soma todos os elementos da matriz A.
• S=sum(A(x:y)) – soma todos os elementos da matriz A indo de x ate y.
• S=sum(A) – soma todos os elementos de cada coluna separadamente e os coloca numa matriz linha.
SEMANA DA TECNOLOGIA – 2011 – MATLAB
MATLAB 7.0
Operações com Matrizes
• Multiplicação - A multiplicação de matrizes é indicada por "*". A multiplicação A*B é definida somente se a segunda dimensão de A for igual à primeira dimensão de B. A multiplicação:
• A(3,2) e B(2,5)A = 0 1
0 01 1
B = 0 0 1 1 0 0 1 1 0 1
>> A*B0 1 1 0 1
0 0 0 0 0 0 1 2 1 1
SEMANA DA TECNOLOGIA – 2011 – MATLAB
MATLAB 7.0
Operações com Matrizes
• O produto de uma matriz por um vetor é um caso especial do produto entre matrizes.
• Por exemplo A e 3,>> B = A*3
• que resulta emB =
0 3 0 0
3 3
SEMANA DA TECNOLOGIA – 2011 – MATLAB
MATLAB 7.0
Operações com Matrizes
• O produto de uma matriz por um vetor é um caso especial do produto entre matrizes.
• Por exemplo A e 3,>> B = A*3
• que resulta emB =
0 3 0 0
3 3
SEMANA DA TECNOLOGIA – 2011 – MATLAB
MATLAB 7.0
Operações com Matrizes
• 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 operador de multiplicação ( * ).
• A = [1,2;3,4] e B = [5,6;7,8]• A.*B = [1*5,2*6;3*7,4*8]• Ou
>>A.*B5 1221 32
SEMANA DA TECNOLOGIA – 2011 – MATLAB
MATLAB 7.0
Operações com Matrizes
• A divisão segue os padrões da divisão das matrizes onde:
• Divisão à esquerda: X = A\B é a solução de A*X = B, pois X =
inv(A)*B • Divisão à direita:
X = B/A é a solução de X*A = B, pois X = B*inv(A)
• A divisão por escalar segue o mesmo padrão da multiplicação por escalar, utilizando o operador “./”.
SEMANA DA TECNOLOGIA – 2011 – MATLAB
MATLAB 7.0
GRÁFICOS NO MATLAB
SEMANA DA TECNOLOGIA – 2011 – MATLAB
MATLAB 7.0
GRÁFICOS NO MATLAB
• MATLAB possui ferramentas poderosas e amigáveis para a visualização de dados em módulo gráfico.
• Um recurso interessante para Gráficos em linha é o comando plot.
• É o comando mais simples e, talvez o mais útil para produzir gráficos 2-D.
SEMANA DA TECNOLOGIA – 2011 – MATLAB
MATLAB 7.0
PLOT NO MATLAB
• FOMMAplot(Abcissas,Ordenadas,’estilo’)
• Onde Abcissas e Ordenadas são vectores (com a mesma dimensão) que contêm as abcissas e ordenadas de pontos do gráfico e estilo é um argumento opcional que especifíca o estilo da linha ou ponto a desenhar.
SEMANA DA TECNOLOGIA – 2011 – MATLAB
MATLAB 7.0
PLOT NO MATLAB
• Estilos
SEMANA DA TECNOLOGIA – 2011 – MATLAB
MATLAB 7.0
PLOT NO MATLAB
• Estilos
SEMANA DA TECNOLOGIA – 2011 – MATLAB
MATLAB 7.0
PLOT NO MATLAB
• Títulos, designação dos eixos, legendas e outras características, podem ser acrescentadas a um dado gráfico, usando as funções title, xlabel, ylabel, grid, text, legend, etc. Estas funções têm a forma seguinte.
• title(’título’) produz um título na parte superior do gráfico• xlabel(’nome x’) o eixo dos xx ´e designado por nome x• ylabel(’nome y’) o eixo dos yy ´e designado por nome y• grid coloca uma quadrícula no gráfico• text(x,y,’texto em x y’) escreve o texto texto em x y na
posição (x, y)• gtext(’texto’) permite colocar texto numa posição a indicar
com o mouse• legend(’texto1’,’texto2’) produz uma legenda com texto1 e
texto2• legend off retira legenda
SEMANA DA TECNOLOGIA – 2011 – MATLAB
MATLAB 7.0
PLOT NO MATLAB
• Também possível controlar os limites dos eixos através do comando axis. A função axis tem várias opções que permitem personalizar os limites, a escala, a orientação, etc, de um gráfico.
axis([xmin xmax ymin ymax])• os limites passam a ser xmin e xmax para o
eixo dos xx e ymin e ymax para o eixo dos yy. Este comando deve aparecer depois do comando plot.
• A função axis também aceita palavras chave para controlar os eixos. Por exemplo, axis square, axis equal, axis auto, axis on, etc. (Detalhes em help axis).
SEMANA DA TECNOLOGIA – 2011 – MATLAB
MATLAB 7.0
PLOT NO MATLAB
• Numa mesma figura podem sobrepor-se vários gráficos, recorrendo ao comando hold. As instruções
hold onplot(x1, y1)plot(x2, y2)plot(x3, y3)
hold off
• originam a sobreposição de três gráficos. Este objetivo também pode ser atingido, usando
plot(x1, y1, x2, y2, x3, y3)
SEMANA DA TECNOLOGIA – 2011 – MATLAB
MATLAB 7.0
PLOT NO MATLAB
• Exemplo:>> t=linspace(0,2*pi);y1=sin(t);y2=t;y3=t-(t.^3)/6+(t.^5)/120;plot(t,y1,'r',t,y2,'b',t,y3,'go')axis equalaxis([0 6 -1 5])gridxlabel('t')ylabel('Aproximações para sen(t)')title('Exemplo 1')text(3.5,0,'sen(t)')gtext('Aproximação linear')gtext('Primeiros 3 termos')gtext('da série de Taylor')
SEMANA DA TECNOLOGIA – 2011 – MATLAB
MATLAB 7.0
PLOT NO MATLAB
SEMANA DA TECNOLOGIA – 2011 – MATLAB
MATLAB 7.0
PLOT NO MATLAB• Exemplo:
>>x=0:0.1:2*pi; % define pontos no eixo xy=sin(x); % seno de xz=cos(x) % cosseno de xplot(x,y,x,z) % dois gráficostitle('Exemplo de 2 graficos: seno(x) e cosseno(x)') % define título
SEMANA DA TECNOLOGIA – 2011 – MATLAB
MATLAB 7.0
PLOT NO MATLAB• Subplotting - A mesma figura pode ter mais
do que um gráfico. Para que tal seja possível é necessário utilizar a função subplot, tal como é apresentado de seguida:
>>subplot(m,n,p)
• Este comando divide a figura numa matriz de m linhas e n colunas, podendo deste modo criar m*n gráficos em cada figura. Veja-se o seguinte exemplo:
SEMANA DA TECNOLOGIA – 2011 – MATLAB
MATLAB 7.0
PLOT NO MATLABx = linspace(0,2*pi,50); y = sin(x); z = cos(x); w = tan(x); subplot(2,2,1) plot(x,y) subplot(2,2,2) plot(x,z) subplot(2,2,3) plot(x,w)
SEMANA DA TECNOLOGIA – 2011 – MATLAB
MATLAB 7.0
PIE NO MATLAB• Gráficos em Pizza>> A=[4.3 3.2 2.25 1];pie(A,A==max(A)); % destaca a fatia maiortitle('Grafico Pie com max em destaque')legend('SP','MG','RN','MS')
SEMANA DA TECNOLOGIA – 2011 – MATLAB
MATLAB 7.0
PIE NO MATLAB• Gráficos em Pizza>> A=[4.3 3.2 2.25 1];pie(A,[0 1 1 0])% destaca as fatias com 1 na posicao correspondente
title('Grafico Pie')legend('SP','MG','RN','MS')
SEMANA DA TECNOLOGIA – 2011 – MATLAB
MATLAB 7.0
PIE NO MATLAB• Gráficos em Pizza>>A= [1.1 2.2 3.3 4.4];pie3(A)title('Grafico Pie 3D')
SEMANA DA TECNOLOGIA – 2011 – MATLAB
MATLAB 7.0
BAR NO MATLAB• Gráficos em Barras• Exemplo 2D>>x=-1.9:0.2:1.9; % cria xy=exp(-x.*x); % cria ybar(x,y)title('Grafico de barras')
Exemplo 3D>>x=-1.9:0.2:1.9; % cria xy=exp(-x.*x); % cria ybar3(x,y,'y')title('Grafico de barras 3D')
SEMANA DA TECNOLOGIA – 2011 – MATLAB
MATLAB 7.0
BARh NO MATLAB• Gráficos em Linhas• Exemplo 2D>>x=-1.9:0.2:1.9; % cria xy=exp(-x.*x); % cria ybarh(x,y)title('Grafico de barras horizontal')
Exemplo 3Dx=-1.9:0.2:1.9; % cria xy=exp(-x.*x); % cria ybar3h(x,y,'r')title('Grafico de barras horiz. 3D')
SEMANA DA TECNOLOGIA – 2011 – MATLAB
MATLAB 7.0
POLAR NO MATLAB• Gráficos Polar>>angulo=0:0.05:2*pi;raio=1+sin(3*angulo).*cos(2.5*angulo);polar(angulo,raio,'r-') % mostra ang e raiotitle('Grafico polar: ang e raio')
SEMANA DA TECNOLOGIA – 2011 – MATLAB
MATLAB 7.0
PLOT3 NO MATLAB• Gráficos em 3D
>>t=0:0.01:6*pi; % intervalo para eixo tplot3(sin(t), cos(t), t) % eixos x,y,z
• Exemplo 2>>t=0:0.01:6*pi; %define eixo zplot3(sin(t),cos(t),t) % eixos x, y, zxlabel('Eixo x') ylabel('Eixo y') zlabel('Eixo z')title('Grafico 3D de linha')
SEMANA DA TECNOLOGIA – 2011 – MATLAB
MATLAB 7.0
MESH NO MATLAB• Gráficos em 3D• definir uma "grade" de pontos X Y no plano
x-y• aplicando meshgrid()[X,Y]=meshgrid(-2*pi:0.5:2*pi,3*pi:0.5:3*pi)
• a seguir grafico 3D reticulado• 3º argumento é o valor no eixo Z
mesh(X,Y,sin(sqrt(X.*X+Y.*Y))) title('Grafico 3D reticulado')colorbar % a cor indica o valor no eixo Z
• Olha o gráfico tipo surf()
SEMANA DA TECNOLOGIA – 2011 – MATLAB
MATLAB 7.0
MESH NO MATLAB
SEMANA DA TECNOLOGIA – 2011 – MATLAB
MATLAB 7.0
MESH NO MATLAB• Gráficos em 3D
>>mesh(peaks) % função peaks() pré-definidacolorbar
>> mesh(peaks)[x,y,z]=peaks;contour(x,y,z,20) %20 curvas de nivel colorbar
>> mesh(peaks)[x,y,z]=peaks;contour3(x,y,z,20) % 20 curvas de nivel 3D colorbar
SEMANA DA TECNOLOGIA – 2011 – MATLAB
MATLAB 7.0
MESH NO MATLAB• Gráficos em 3D
>>mesh(peaks) colorbarrotate3d on - ligar a opção de arrastar o gráfico com o mouse e mudar o ponto de vista 3D
>>colormap(hot) % escolhe mapa de coressurfl(peaks) % surfl p/ iluminar com constrateshading interp; % tira reticuladotitle('Surf com iluminacao')colorbar
Recommended