Você está na página 1de 90

CURSO MATLAB

CURSO MATLAB Instrutores: Marcelo Brandão e Marcelo Guerra CT-DEE brandao@dca.ufrn.br

Instrutores: Marcelo Brandão e Marcelo Guerra CT-DEE

brandao@dca.ufrn.br

1-Visão Geral

1-Visão Geral • Janela de Comandos ( command window ) • Área de Trabalho ( workspace

• Janela de Comandos (command window )

• Área de Trabalho (workspace )

• Pasta de Arquivos (current directory)

• Histórico de Comandos (command history)

Introdução ao Matlab 7.0

Introdução ao Matlab 7.0
Introdução ao Matlab 7.0

1-Visão Geral

• Menus

1-Visão Geral • Menus • Configuração de Diretórios: – File/Set Path • Help: – help –

• Configuração de Diretórios:

– File/Set Path

• Help:

– help

– help general

– help ops

Introdução ao Matlab 7.0

1-Visão Geral

• Bibliografia:

1-Visão Geral • Bibliografia: – Matlab 7, Fundamentos, Élia Yathie Matsumoto, Ed. Érica, 2004. –

– Matlab 7, Fundamentos, Élia Yathie Matsumoto, Ed. Érica, 2004.

– www.mathworks.com

Introdução ao Matlab 7.0

2-Criação de Matrizes

• Escalares

2-Criação de Matrizes • Escalares - ‘.’ indica casa decimal; - ‘e’ para notação científica; -

- ‘.’ indica casa decimal;

- ‘e’ para notação científica;

- ‘i’ e ‘j’ para notação de números complexos.

Ex:a=4+j*5

• Constantes numéricas predefinidas:

Constante

 

pi

3.1415926

eps

2.220446049250313

e-016

realmin

2.22507385850720 e-308 (menor número real)

realmax

1.797693134862316

e+308

Inf

infinito

NaN

Not-a-number (exemplo: 0/0)

Introdução ao Matlab 7.0

2-Criação de Matrizes

• Operadores

2-Criação de Matrizes • Operadores Operador Descrição + Soma - Subtração * Multiplicação

Operador

Descrição

+

Soma

-

Subtração

*

Multiplicação

/

Divisão

^

Potênca

( )

Precedência

Introdução ao Matlab 7.0

2-Criação de Matrizes

• Vetores e matrizes:

– delimitadores:

• Coluna: “espaço” ou “,” • Linha: “;”

• Exemplos:

“espaço” ou “,” • Linha: “;” • Exemplos: – a=3 ou a=[3] (1x1) – b=[4 5

– a=3

ou

a=[3]

(1x1)

– b=[4 5 6 7] ou b=[4,5,6,7]

(1x4)

– c=[4 5 6 7;8 9 10 11]

(2x4)

– d=[4 5 6 7]’ ou d=[4;5;6;7]

(4x1)

Introdução ao Matlab 7.0

2-Criação de Matrizes

• Criando um vetor:

– x= 0:0.1:1

– x= 1:10

– x= linspace(0,1,11);

• help linspace

(operador “:”)

(operador “;”)

• help linspace (operador “:”) (operador “;”) • Concatenação de matrizes – c=[a b] ou c=[a;b]

• Concatenação de matrizes

– c=[a b] ou c=[a;b]

Introdução ao Matlab 7.0

2-Criação de Matrizes

2-Criação de Matrizes • Denominação das Variáveis: – alfanuméricas iniciadas por letra • Ex: x1, alfa

• Denominação das Variáveis:

– alfanuméricas iniciadas por letra

• Ex: x1, alfa

– máximo de 63 caracteres. (Windows) case-sensitive : x1 X1 - ‘ans’ é a variável reservada para o Matlab armazenar o resultado da última operação.

Introdução ao Matlab 7.0

2-Criação de Matrizes

2-Criação de Matrizes • Matrizes elementares: – zeros – ones – eye – rand Ex: n=round(5*rand(1,6))

• Matrizes elementares:

– zeros

– ones

– eye

– rand

Ex: n=round(5*rand(1,6))

Introdução ao Matlab 7.0

2-Criação de Matrizes

2-Criação de Matrizes • Outras funções úteis: – round → aprox. p/ inteiro mais próximo –

• Outras funções úteis:

– round aprox. p/ inteiro mais próximo

– floor

– ceil

– rem

– sign

aprox para baixo

aprox para cima

resto da divisão

retorna o sinal

Introdução ao Matlab 7.0

3-Formatos Numéricos

• help format

3-Formatos Numéricos • help format – format short – precisão simples – format long – precisão

– format short – precisão simples

– format long – precisão dupla

– format short e – precisão simples E

– format long e – precisão dupla E+

– format hex – hexadecimal

– format bank – duas casas decimais

– format rat – quociente

Introdução ao Matlab 7.0

4-Manipulação de Matrizes

4-Manipulação de Matrizes • Indexação: (i,j) – a=[1:10] (i- linha , j- coluna) – c=a(1:2:9) –

• Indexação: (i,j)

– a=[1:10]

de Matrizes • Indexação: (i,j) – a=[1:10] (i- linha , j- coluna) – c=a(1:2:9) – a2=a(2)

(i- linha , j- coluna)

– c=a(1:2:9)

– a2=a(2)

– d=3*rand(3,4)

– e=d(1,2:end)

– a7=a(7)

– f=d(2,:)

– b=a(1:5)

– g=d(:,3:4)

Introdução ao Matlab 7.0

4-Manipulação de Matrizes

• Indexação: (p)

4-Manipulação de Matrizes • Indexação: (p) – Além do padrão de indexação (i,j), o Matlab aceita

– Além do padrão de indexação (i,j), o Matlab aceita também, indexação sequênciada.

– A contagem da posição é feita, seguindo primeiro por linha e depois coluna.

– Ex: d(3,2) d(6)

Introdução ao Matlab 7.0

4-Manipulação de Matrizes

4-Manipulação de Matrizes • Operações com matrizes: – * – .* – / – ./ –

• Operações com matrizes:

– *

– .*

– /

– ./

– \

multiplicação matricial multiplicação escalar divisão matricial (a/b

divisão escalar

divisão à esquerda (a\b a -1 *b)

a*b -1 )

Introdução ao Matlab 7.0

4-Manipulação de Matrizes

4-Manipulação de Matrizes • Operações com matrizes: – ^ potência – .^ ´ potência escalar

• Operações com matrizes:

^

potência

.^

´

potência escalar

transposta

det(a)

- determinante

inv(a)

- inversa

eig(a)

- autovalores

poly(a) - polinômio característico

Introdução ao Matlab 7.0

4-Manipulação de Matrizes

4-Manipulação de Matrizes • Eliminando linhas ou colunas de uma matriz: – a(1,:)=[] – a(:,3)=[] -

• Eliminando linhas ou colunas de uma matriz:

– a(1,:)=[]

– a(:,3)=[]

- elimina a primeira linha - elimina a terceira coluna

Introdução ao Matlab 7.0

4-Manipulação de Matrizes

4-Manipulação de Matrizes • Modificando elementos de uma matriz: – Faz-se referencia ao elemento a ser

• Modificando elementos de uma matriz:

– Faz-se referencia ao elemento a ser modificado e o seu novo valor:

– Ex: A=rand(4);

A(2,2)=3;

A(1,2:4)=0;

Introdução ao Matlab 7.0

4-Manipulação de Matrizes

4-Manipulação de Matrizes • Funções de Informação: – size (A) – length (A) – find( exp

• Funções de Informação:

– size (A)

– length (A)

– find(exp ) – retorna os índices dos elementos que satisfazem a condição exp

Introdução ao Matlab 7.0

4-Manipulação de Matrizes

4-Manipulação de Matrizes • Funções de Manipulação: – diag – tril e triu – fliplr e

• Funções de Manipulação:

– diag

– tril e triu

– fliplr e flipud (inverte a ordem)

– sort

(diagonal) (matrizes triangulares)

(organiza em ordem crescente)

Introdução ao Matlab 7.0

4-Manipulação de Matrizes

4-Manipulação de Matrizes • Solução de sistemas lineares (A*X=B): – X=inv(A)*B – Ex: 4x 1 +5x

• Solução de sistemas lineares (A*X=B):

– X=inv(A)*B

– Ex: 4x 1 +5x 2 =9

7x 1 +x 2 =10

A=[4 5;7 1] e B=[9;10] x 1 =1.3226 e x 2 =0.7419

• Para sistemas sobre-determinados:

Pseudo-inversa (matriz não quadrada):

– X=pinv(A)*B

(pinv(A)=inv(A T *A))

Introdução ao Matlab 7.0

4-Manipulação de Matrizes

4-Manipulação de Matrizes • Funções para números complexos – abs(z) - módulo – angle(z) – ângulo

• Funções para números complexos

– abs(z) - módulo

– angle(z) – ângulo

– real(z) – parte real

– imag(z) – parte imaginária

– conj(z) – retorna o complexo conjugado de z

– plot(z,’o’) – traça um gráfico com a parte real no eixo x e a parte imaginária em y.

Introdução ao Matlab 7.0

4-Manipulação de Matrizes

4-Manipulação de Matrizes • Mudança de Base Numérica: – bin2dec – binária para decimal – dec2bin

• Mudança de Base Numérica:

– bin2dec – binária para decimal

– dec2bin – decimal para binária

– base2dec – base especificada para decimal

– dec2base – decimal para base especificada

Introdução ao Matlab 7.0

4-Manipulação de Matrizes

• Outras Funções Úteis:

4-Manipulação de Matrizes • Outras Funções Úteis: – primes(x) – Retorna todos os primos menores que

– primes(x) – Retorna todos os primos menores que x

– gcd(a,b) – Máximo divisor comum (MDC).

– lcm(a,b) – Mínimo múltiplo comum (MMC).

– factorial(n) – Retorna o fatorial de n

Introdução ao Matlab 7.0

5-Polinômios

5-Polinômios • Vetores com os coeficientes: – x 5 + 4x 3 +5x 2 – x

• Vetores com os coeficientes:

– x 5 + 4x 3 +5x 2 – x -10=0

– p=[1 0 4 5 -1 -10]

• Achar as raízes (zeros):

r= roots(p)

• Encontrar o polinômio a partir das raízes:

p=poly(r)

Introdução ao Matlab 7.0

5-Polinômios

5-Polinômios • polyval(p,x) e polyvalm(p,X) – calculam o valor do polinômio . • [R,P,K]=residue(B,A) – encontra

• polyval(p,x) e polyvalm(p,X)

– calculam o valor do polinômio .

• [R,P,K]=residue(B,A)

– encontra os resíduos, os pólos e os termos diretos da expansão em frações parciais B(s)/A(s)

Introdução ao Matlab 7.0

5-Polinômios

5-Polinômios • polyfit – ajusta polinômio aos dados. – Ex: x=1:100; y=x.^2+3; p=polyfit(x,y,n); onde n é

• polyfit – ajusta polinômio aos dados.

– Ex:

x=1:100;

y=x.^2+3;

p=polyfit(x,y,n); onde n é a ordem do polinômio desejado

• conv – multiplicação de polinômios

– Ex: c=conv(a,b)

• deconv – divisão de polinômios

– Ex: a=deconv(c,b) e b=deconv(c,a)

Introdução ao Matlab 7.0

5-Polinômios

5-Polinômios • polyder – derivada de um polinômio • polyint – integral analítica de um polinômio

• polyder – derivada de um polinômio

• polyint – integral analítica de um polinômio

Introdução ao Matlab 7.0

6-Gráficos

• Plot

6-Gráficos • Plot – help plot – xlabel / ylabel – grid – title – Ex:

– help plot

– xlabel / ylabel

– grid

– title

– Ex: plot(X,Y,’S’); (S= cores e tipos de linha )

Introdução ao Matlab 7.0

6-Gráficos

6-Gráficos Cores Tipos de Linha b blue . point g green - solid r red --

Cores

Tipos de Linha

b

blue

.

point

g

green

-

solid

r

red

--

dashed

c

cyan

*

star

m

magenta

o

circle

y

yellow

x

x-mark

k

black

s

square

Introdução ao Matlab 7.0

6-Gráficos

6-Gráficos • loglog - escala logarítmica • semilogx – escala logarítmica em x • semilogy -

• loglog - escala logarítmica

• semilogx – escala logarítmica em x

• semilogy - escala logarítmica em y

• polar – Ex: polar(t,2*t)

• figure – abre uma nova janela gráfica

Introdução ao Matlab 7.0

6-Gráficos

• subplot

6-Gráficos • subplot – Ex1:>> x=0:.1:10; >> y=sin(x); >> y2=sin(x+pi/2); >>

– Ex1:>> x=0:.1:10; >> y=sin(x); >> y2=sin(x+pi/2); >> subplot(2,1,1);plot(x,y);grid >> subplot(2,1,2);plot(x,y,'g.');grid

Introdução ao Matlab 7.0

6-Gráficos

6-Gráficos Introdução ao Matlab 7.0
6-Gráficos Introdução ao Matlab 7.0

Introdução ao Matlab 7.0

6-Gráficos

• Ex2:

6-Gráficos • Ex2: >> y3=y+y2; >> y4=y-y2; >> plot(x,y3,'k',x,y2,'r--');

>> y3=y+y2; >> y4=y-y2; >> plot(x,y3,'k',x,y2,'r--'); >> xlabel('Amplitude') >> ylabel('Amplitude') >> title('Exemplo 2')

6-Gráficos

6-Gráficos Introdução ao Matlab 7.0
6-Gráficos Introdução ao Matlab 7.0

Introdução ao Matlab 7.0

6-Gráficos

6-Gráficos • Edição na janela gráfica: – zoom – ginput(n) → n=número de pontos – Texto

• Edição na janela gráfica:

– zoom

– ginput(n) n=número de pontos

– Texto

– Propriedades dos eixos

– Legendas

Introdução ao Matlab 7.0

6-Gráficos

• Ex3 – Gráfico 3D:

6-Gráficos • Ex3 – Gráfico 3D: >> a=-1000:50:1000; >> b=a; >> [A,B]=meshgrid(a,b);

>> a=-1000:50:1000; >> b=a; >> [A,B]=meshgrid(a,b); >> Z=(-A.^2+B.^2/5)/150; >> mesh(A,B,Z)

6-Gráficos

6-Gráficos Introdução ao Matlab 7.0
6-Gráficos Introdução ao Matlab 7.0

Introdução ao Matlab 7.0

7- Derivadas e Integrais

• Derivada Numérica:

– diff – Exemplo:

e Integrais • Derivada Numérica: – diff – Exemplo: x=linspace(0,5,101); y=cos(2*x); der=diff(y)./diff(x);

x=linspace(0,5,101);

y=cos(2*x);

der=diff(y)./diff(x);

plot(x(1:100),der,'--k',x,y)

grid OBS: por ser um processo numérico iterativo, “perde-se” um ponto do vetor.

Introdução ao Matlab 7.0

7- Derivadas e Integrais

• Integral Numérica

7- Derivadas e Integrais • Integral Numérica – cumsum- calcula uma aproximação da integral através de

– cumsum- calcula uma aproximação da integral através de uma soma acumulada dos elementos. Exemplo:

inty=cumsum(der).*diff(x);

plot(x(1:100),der,'--k',x,y,x(1:100),inty,'r')

grid

Introdução ao Matlab 7.0

7- Derivadas e Integrais

• Integral definida:

7- Derivadas e Integrais • Integral definida: – quad ou quadl – dblquad – Integral dupla

– quad ou quadl

– dblquad – Integral dupla

– triplequad – Integral Tripla

– Ex: Q = quad(FUN,A,B) a função FUN deve ser definida como:

FUN = inline('1./(x.^3-2*x-5)'); A e B são os intervalos de integração.

Introdução ao Matlab 7.0

7- Derivadas e Integrais

• Integral definida:

7- Derivadas e Integrais • Integral definida: – Para o cálculo de integrais duplas e triplas,

– Para o cálculo de integrais duplas e triplas, deve-se prestar atenção nos intervalos de integração:

– help dblquad

– help triplequad

Introdução ao Matlab 7.0

7- Derivadas e Integrais

7- Derivadas e Integrais • Derivadas e Integrais Analíticas – Variáveis Simbólicas syms x – define

• Derivadas e Integrais Analíticas

– Variáveis Simbólicas syms x – define x como variável simbólica

– Ex: syms t dt=diff(cos(t))

dt2=diff(t*cos(t))

dt3=diff(exp(-t)*cos(t))

Introdução ao Matlab 7.0

7- Derivadas e Integrais

– Ex (cont):

int(cos(t))

int(cos(t),0,pi/2)

int(dt3)

syms a

int(1/(t^2+1))

int(1/(t^2+1),-a,a)

Introdução ao Matlab 7.0

Ex (cont): int(cos(t)) int(cos(t),0,pi/2) int(dt3) syms a int(1/(t^2+1)) int(1/(t^2+1),-a,a) Introdução ao Matlab 7.0

8- Outras funções de variáveis simbólicas:

• simple

Ex: syms t

z=cos(t)^2+sin(t)^2;

y=simple(z)

• simple Ex: syms t z=cos(t)^2+sin(t)^2; y=simple(z) • solve – resolver: 10/t2 = 4-t Ex: f=solve(10/t^2

• solve – resolver: 10/t2 = 4-t

Ex: f=solve(10/t^2 - 4+t) eval(f)

Introdução ao Matlab 7.0

8- Outras funções de variáveis simbólicas:

8- Outras funções de variáveis simbólicas: • Resolver equações simultâneas : Ex: syms x y eq1=2*x^2-x+2*y^2-8*y;

• Resolver equações simultâneas :

Ex: syms x y

eq1=2*x^2-x+2*y^2-8*y;

eq2=x^2+2*x+y^2-6*y+1;

[X Y]=solve(eq1,eq2)

Introdução ao Matlab 7.0

9-Programação no Matlab

9-Programação no Matlab • Arquivos *.m (m-files) • File / New / m-file • >> edit

• Arquivos *.m (m-files)

• File / New / m-file

• >> edit

Introdução ao Matlab 7.0

9-Programação no Matlab

9-Programação no Matlab • Arquivos *.m (m-files) – Script : seqüência de comandos para automatizar processos

• Arquivos *.m (m-files)

– Script : seqüência de comandos para automatizar processos repetitivos.

– Função: aceita parâmetros de entrada e retorna parâmetros de saída.

Introdução ao Matlab 7.0

9-Programação no Matlab

9-Programação no Matlab • Observações sobre funções: – Utiliza o seu próprio espaço de memória para

• Observações sobre funções:

– Utiliza o seu próprio espaço de memória para armazenar variáveis.

– É possível a implementação de estruturas lógicas.

– Aceita parâmetros de entrada e retorna parâmetros de saída.

Introdução ao Matlab 7.0

9-Programação no Matlab

9-Programação no Matlab • % - transforma em comentário • Cabeçalho • help nome_da_função – exibe

• % - transforma em comentário

• Cabeçalho

• help nome_da_função – exibe o cabeçalho da função

Introdução ao Matlab 7.0

9-Programação no Matlab

9-Programação no Matlab • O código das funções do Matlab pode ser visualizado: – edit nome_da_função

• O código das funções do Matlab pode ser visualizado:

– edit nome_da_função

– Ex: edit poly edit roots edit quad

Introdução ao Matlab 7.0

9-Programação no Matlab

• IF, ELSE IF, ELSE

• SWITCH

• FOR

• WHILE

Introdução ao Matlab 7.0

9-Programação no Matlab • IF, ELSE IF, ELSE • SWITCH • FOR • WHILE Introdução ao

9-Programação no Matlab

9-Programação no Matlab • Ex: IF / ELSE IF / ELSE if I<3 N=pi; elseif I==3

• Ex: IF / ELSE IF / ELSE

if I<3 N=pi; elseif I==3

N=2*pi;

else

N=0;

end

Introdução ao Matlab 7.0

9-Programação no Matlab

• Ex SWITCH:

function tipo=teste(valor) switch valor case 3 tipo= ‘Numero 3’ case 5 tipo= ‘Número 5’ otherwise tipo=‘valor nao tabelado’ end

Introdução ao Matlab 7.0

‘Numero 3’ case 5 tipo= ‘Número 5’ otherwise tipo=‘valor nao tabelado’ end Introdução ao Matlab 7.0

9-Programação no Matlab

• Ex FOR:

soma=0;

for n=1:30 soma=soma+n; end

Introdução ao Matlab 7.0

9-Programação no Matlab • Ex FOR: soma=0; for n=1:30 soma=soma+n; end Introdução ao Matlab 7.0

9-Programação no Matlab

• Ex WHILE:

9-Programação no Matlab • Ex WHILE: while I<m <executa expressão> end Introdução ao Matlab 7.0

while I<m <executa expressão>

end

Introdução ao Matlab 7.0

9-Programação no Matlab

9-Programação no Matlab • Códigos eficiente para Matlab – Evitar criação de variáveis desnecessárias. –

• Códigos eficiente para Matlab

– Evitar criação de variáveis desnecessárias.

– Vetorizar os algoritmos, evitando, quando possível o uso de estruturas de repetição.

Introdução ao Matlab 7.0

9-Programação no Matlab

9-Programação no Matlab • Ex- script para automatizar o exemplo 6.3: % script para automatizar o

• Ex- script para automatizar o exemplo 6.3:

% script para automatizar o exemplo 6.3

a=-1000:50:1000;

b=a; [A,B]=meshgrid(a,b);

Z=(-A.^2+B.^2/5)/150;

mesh(A,B,Z) %salvar como script1.m

Introdução ao Matlab 7.0

9-Programação no Matlab

9-Programação no Matlab • Ex Função para converter graus em radianos (deg2rad / rad2deg): • function

• Ex Função para converter graus em radianos (deg2rad / rad2deg):

• function y=g2r(grau)

y=pi*grau/180;

Introdução ao Matlab 7.0

9-Programação no Matlab

9-Programação no Matlab • Ex: Função para traçar o gráfico do seno e cosseno de x,

• Ex: Função para traçar o gráfico do seno e cosseno de x, num intervalo especificado:

Introdução ao Matlab 7.0

9-Programação no Matlab

9-Programação no Matlab • Ex: Função para calcular o somatório de 2 senóides. – Parâmetros de

• Ex: Função para calcular o somatório de 2 senóides.

– Parâmetros de Entrada: a1, a2, ω 1 , ω 2 , Φ 1 e Φ 2.

– Parâmetros de Saída: Y, plot(x,y).

– Garantir que seja exibidos no gráfico pelo menos 2 períodos da função de menor freqüência.

Introdução ao Matlab 7.0

%Exemplo 9.2

%Somatorio de 2 senoides

%

Y=som(a1,a2,w1,w2,f1,f2)

%

onde:

%

a-amplitude

%

w-frequencia em rad/s

%

f-fase em radianos

% w-frequencia em rad/s % f-fase em radianos function Y=som(a1,a2,w1,w2,f1,f2) %cria a base de tempo e

function Y=som(a1,a2,w1,w2,f1,f2)

%cria a base de tempo e garante %que sejam exibidos 2 periodos da %onda de menor frequencia

if w1<w2

T1=2*pi/w1;

t=linspace(0,2*T1,200);

else

T2=2*pi/w2;

t=linspace(0,2*T2,200);

end

else T2=2*pi/w2; t=linspace(0,2*T2,200); end Y1=a1*sin(w1*t+f1); Y2=a2*sin(w2*t+f2); Y=Y1+Y2; %plota o

Y1=a1*sin(w1*t+f1);

Y2=a2*sin(w2*t+f2);

Y=Y1+Y2;

%plota o grafico de Y, Y1 e Y2

plot(t,Y,t,Y1,'k--',t,Y2,'r--')

grid xlabel('Tempo') ylabel('Amplitude') title('Exemplo 2 - Somatorio de 2 senoides')

Introdução ao Matlab 7.0

10- Importação e Exportação de Arquivos

• Arquivos de Texto:

>> type teste.txt

1,2,3,4

5,6,7,8

9,10,11,12

Texto: >> type teste.txt 1,2,3,4 5,6,7,8 9,10,11,12 >> test=dlmread('teste.txt',',')

>> test=dlmread('teste.txt',',') test =

1

2

3

4

5

6

7

8

9

10

11

12

Introdução ao Matlab 7.0

10- Importação e Exportação de Arquivos

• Arquivos de Texto:

>> test2=test+7 test2 =

8

9

10

11

12

13

14

15

16

17

18

19

10 11 12 13 14 15 16 17 18 19 >> dlmwrite('teste2.txt',test2,',')

>> dlmwrite('teste2.txt',test2,',') >> type teste2.txt

8,9,10,11

12,13,14,15

16,17,18,19

Introdução ao Matlab 7.0

10- Importação e Exportação de Arquivos

• Arquivos de Texto:

– load / save

de Arquivos • Arquivos de Texto: – load / save – Carregar arquivo a partir do

– Carregar arquivo a partir do current directory.

Introdução ao Matlab 7.0

10- Importação e Exportação de Arquivos

• Arquivos de Som:

e Exportação de Arquivos • Arquivos de Som: – [ring fs]=wavread(‘ring.wav’); – wavplay(ring,fs);

– [ring fs]=wavread(‘ring.wav’);

– wavplay(ring,fs);

– x=1:length(ring);

– y=sin(10*x);

– ring2=ring+y';

– wavplay(ring2,44100)

– wavwrite(ring2,44100,‘ring2.wav');

Introdução ao Matlab 7.0

9- Importação e Exportação de Arquivos

• Arquivos de Imagem:

e Exportação de Arquivos • Arquivos de Imagem: – help images : (toolbox proc. Imagem) –

– help images : (toolbox proc. Imagem)

– I=imread('imagem.jpg');

– J=imnoise(I,'gaussian');

– truesize

– J=imrotate(J,60);

– imwrite(J,'teste.jpeg')

Introdução ao Matlab 7.0

10- Importação e Exportação de Arquivos

• Dados em Geral:

– X=importdata(‘arquivo’);

• Dados em Geral: – X=importdata(‘arquivo’); – Verifica a extensão do arquivo especificado e utiliza

– Verifica a extensão do arquivo especificado e utiliza a função de importação mais conveniente.

Introdução ao Matlab 7.0

11- Funções Estatísticas de um Sinal

• max(x)

• min(x)

• mean(x)

• std(x)

Introdução ao Matlab 7.0

11- Funções Estatísticas de um Sinal • max(x) • min(x) • mean(x) • std(x) Introdução ao

12- Simulink

12- Simulink • Algoritmo em Diagramas de Blocos Sinal constante Constant 1 Ganho Gain Somador Produto

• Algoritmo em Diagramas de Blocos

12- Simulink • Algoritmo em Diagramas de Blocos Sinal constante Constant 1 Ganho Gain Somador Produto

Sinal constante12- Simulink • Algoritmo em Diagramas de Blocos Constant 1 Ganho Gain Somador Produto Product In1

Constant

1
1

Ganho

Gain

Somador

Somador

Sinal constante Constant 1 Ganho Gain Somador Produto Product In1 Out1 Subsistema
Produto
Produto

Produto

Product

In1 Out1 Subsistema

In1

Out1

In1 Out1 Subsistema

Subsistema

Subsystem  

Subsystem

 
Scope
Scope

Osciloscópio

Introdução ao Matlab 7.0

12- Simulink

Sinal senoidal12- Simulink Sine Wave Ramp Sinal rampa Sinal degrau Step Clock Tempo Número aleatório Random Number

Sine Wave

12- Simulink Sinal senoidal Sine Wave Ramp Sinal rampa Sinal degrau Step Clock Tempo Número aleatório
12- Simulink Sinal senoidal Sine Wave Ramp Sinal rampa Sinal degrau Step Clock Tempo Número aleatório

Ramp

Sinal rampa

12- Simulink Sinal senoidal Sine Wave Ramp Sinal rampa Sinal degrau Step Clock Tempo Número aleatório

Sinal degrau12- Simulink Sinal senoidal Sine Wave Ramp Sinal rampa Step Clock Tempo Número aleatório Random Number

Step

Sinal senoidal Sine Wave Ramp Sinal rampa Sinal degrau Step Clock Tempo Número aleatório Random Number

Clock

Tempo

Número aleatórioSimulink Sinal senoidal Sine Wave Ramp Sinal rampa Sinal degrau Step Clock Tempo Random Number Introdução

Random

Number

Sine Wave Ramp Sinal rampa Sinal degrau Step Clock Tempo Número aleatório Random Number Introdução ao

Introdução ao Matlab 7.0

AND
AND

Logical

Operator

12- Simulink

Multiplexador

Demultiplexador

Operador Lógico

1 s+1 Transfer Fcn min
1
s+1
Transfer Fcn
min

MinMax

Operador Lógico 1 s+1 Transfer Fcn min MinMax Manual Switch Introdução ao Matlab 7.0 Função de

Manual Switch

Introdução ao Matlab 7.0

Fcn min MinMax Manual Switch Introdução ao Matlab 7.0 Função de Transferência Mínimo e máximo Switch

Função de Transferência

Mínimo e máximo

Switch manual

12- Simulink

|u|
|u|

Abs

e u
e u

Math

Function

Valor Absoluto

Função Matemática

Abs e u Math Function Valor Absoluto Função Matemática Sign du/dt Derivative Introdução ao Matlab 7.0

Sign

du/dt
du/dt

Derivative

Math Function Valor Absoluto Função Matemática Sign du/dt Derivative Introdução ao Matlab 7.0 Função Sinal Derivada

Introdução ao Matlab 7.0

Math Function Valor Absoluto Função Matemática Sign du/dt Derivative Introdução ao Matlab 7.0 Função Sinal Derivada

Função Sinal

Derivada

12- Simulink

simin From
simin
From
12- Simulink simin From Workspace simout To Workspace Ground Exportar da área e trabalho Importar para

Workspace

simout12- Simulink simin From Workspace To Workspace Ground Exportar da área e trabalho Importar para a

12- Simulink simin From Workspace simout To Workspace Ground Exportar da área e trabalho Importar para

To Workspace

12- Simulink simin From Workspace simout To Workspace Ground Exportar da área e trabalho Importar para

Ground

Exportar da área e trabalho Importar para a área de trabalho

Exportar da área e trabalho

Importar para a área de trabalho

Exportar da área e trabalho Importar para a área de trabalho

Terra

Saturation f(u) Fcn mlfile
Saturation
f(u)
Fcn
mlfile

M-file

S-Function

Introdução ao Matlab 7.0

Saturador

Função

f(u) Fcn mlfile M-file S-Function Introdução ao Matlab 7.0 Saturador Função Função escrita num arquivo m-file

Função escrita num arquivo m-file

12- Simulink

12- Simulink Entrada In1 1 Out1 [A] Goto Saída Ir para Vem de From 0 Display
12- Simulink Entrada In1 1 Out1 [A] Goto Saída Ir para Vem de From 0 Display

Entrada12- Simulink In1 1 Out1 [A] Goto Saída Ir para Vem de From 0 Display Display

In1

1
1

Out1

[A]
[A]

Goto

Saída

Ir para

Vem de12- Simulink Entrada In1 1 Out1 [A] Goto Saída Ir para From 0 Display Display Atraso

From

0 Display
0
Display

Display

Atraso UnitárioSimulink Entrada In1 1 Out1 [A] Goto Saída Ir para Vem de From 0 Display Display

Unit Delay

Introdução ao Matlab 7.0

12- Simulink

12- Simulink • Configurando os parâmetros da Simulação Introdução ao Matlab 7.0

• Configurando os parâmetros da Simulação

12- Simulink • Configurando os parâmetros da Simulação Introdução ao Matlab 7.0

Introdução ao Matlab 7.0

12- Simulink

• Exemplos

Sine Wave 1 s Integrator
Sine Wave
1
s
Integrator

Introdução ao Matlab 7.0

12- Simulink • Exemplos Sine Wave 1 s Integrator Introdução ao Matlab 7.0 Scope
12- Simulink • Exemplos Sine Wave 1 s Integrator Introdução ao Matlab 7.0 Scope

Scope

12- Simulink • Exemplos Sine Wave 1 s Integrator Introdução ao Matlab 7.0 Scope

12- Simulink

• Exemplos

simout1
simout1

To Workspace1

12- Simulink • Exemplos simout1 To Workspace1 S c o p e 3*u(1)+5 Fcn simout Clock
12- Simulink • Exemplos simout1 To Workspace1 S c o p e 3*u(1)+5 Fcn simout Clock

Scope

3*u(1)+5 Fcn simout
3*u(1)+5
Fcn
simout
simout1 To Workspace1 S c o p e 3*u(1)+5 Fcn simout Clock Saturation1 To Workspace Introdução
simout1 To Workspace1 S c o p e 3*u(1)+5 Fcn simout Clock Saturation1 To Workspace Introdução

Clock

Saturation1

To Workspace

Introdução ao Matlab 7.0

simout1 To Workspace1 S c o p e 3*u(1)+5 Fcn simout Clock Saturation1 To Workspace Introdução

12- Simulink

12- Simulink • Exemplos 1 Referência Malha Aberta 1 Position Força Position Scope Plant 1 1

• Exemplos

1 Referência
1
Referência

Malha Aberta

12- Simulink • Exemplos 1 Referência Malha Aberta 1 Position Força Position Scope Plant 1 1
1 Position Força Position Scope Plant 1 1 1 1/m Força s v el s
1
Position
Força
Position
Scope
Plant
1
1
1
1/m
Força
s
v el
s
pos
Mass
Integrator
Integrator1
Positions
b
Damper
k

Spring

Introdução ao Matlab 7.0

12- Simulink

• Demos

12- Simulink • Demos Start – Demos – Simulink – Simulink Control Design – Water Tank

Start – Demos – Simulink – Simulink Control Design – Water Tank

10 Desired
10
Desired

Water Level

Error

Out1

Controller

– Water Tank 10 Desired Water Level Error Out1 Controller Input Output Water-Tank System Scope Introdução

Input

Output

Water-Tank System

Water Tank 10 Desired Water Level Error Out1 Controller Input Output Water-Tank System Scope Introdução ao

Scope

Water Tank 10 Desired Water Level Error Out1 Controller Input Output Water-Tank System Scope Introdução ao

Introdução ao Matlab 7.0

12- Simulink

12- Simulink • Demos Controller 3 Gain1 1 1 2 s Error Gain2 Integrator 0.2 du/dt

• Demos Controller

3 Gain1 1 1 2 s Error Gain2 Integrator 0.2 du/dt Gain3 Derivative
3
Gain1
1
1
2
s
Error
Gain2
Integrator
0.2
du/dt
Gain3
Derivative
s Error Gain2 Integrator 0.2 du/dt Gain3 Derivative Add 1 Out1 Water Tank System V 1

Add

1
1

Out1

Water Tank System

V 1 H 1 -K- 1 s Input Output b/A H -K- sqrt a/A Square
V
1
H
1 -K-
1
s
Input
Output
b/A
H
-K- sqrt
a/A
Square

Root

Introdução ao Matlab 7.0

12- Simulink

12- Simulink • Exercícios Sistema Massa – Mola • Equações básicas da Física: Aceleração: Velocidade:

• Exercícios Sistema Massa – Mola

• Equações básicas da Física:

Aceleração:

Velocidade:

Deslocamento:

a =

v =

dv

2

d x

=

dt

dx

dt

dt

2

= adt

x = vdt

Força: F=-kx=ma

kx = m

m F m 0 x 1 2 E kx p = 2 2 2 d
m
F
m
0
x
1
2
E
kx
p =
2
2
2
d x
d x
k
a =
=−
x
2
2
dt
d
t
m
1
2
mv
E c =
2

Introdução ao Matlab 7.0

12- Simulink

• Exercícios Plotar:

12- Simulink • Exercícios Plotar: Energia Cinética e Potencial versus Deslocamento Energia Cinética e Potencial

Energia Cinética e Potencial versus Deslocamento

Energia Cinética e Potencial versus Velocidade

Velocidade versus Deslocamento

Introdução ao Matlab 7.0

12- Simulink

• Exercícios Diagrama:

12- Simulink • Exercícios Diagrama: Introdução ao Matlab 7.0

Introdução ao Matlab 7.0

12- Simulink • Exercícios Diagrama: Introdução ao Matlab 7.0

12- Simulink

12- Simulink • Exercícios Circuito RC – Série • Equações básicas da Física: Lei de Kirchoff:

• Exercícios Circuito RC – Série

• Equações básicas da Física:

Lei de Kirchoff:

e v v = 0

R

da Física: Lei de Kirchoff: e − v − v = 0 R Equações: v e

Equações:

v

e

R =

Ri (t )

RC

dv

d

t

i (t ) = C

v = 0

dv

dt

dv

1

1

+

v

=

d

t

R C

RC

Introdução ao Matlab 7.0

dv

dt

+ v = 5

e onde :

v ( 0) = 10

v

=

1

R C

(

e v dt

)

12- Simulink

• Exercícios Plotar:

V(t) versus t

12- Simulink • Exercícios Plotar: V(t) versus t Introdução ao Matlab 7.0

12- Simulink

• Exercícios Diagrama:

12- Simulink • Exercícios Diagrama: Introdução ao Matlab 7.0
12- Simulink • Exercícios Diagrama: Introdução ao Matlab 7.0

Introdução ao Matlab 7.0

12- Simulink

• Exercícios

Simulação:

12- Simulink • Exercícios Simulação: Introdução ao Matlab 7.0 x Metodo de Euler dx x =

Introdução ao Matlab 7.0

• Exercícios Simulação: Introdução ao Matlab 7.0 x Metodo de Euler dx x = − 5

x

Metodo de Euler

dx

x

= −

5

x

5

= −

x

= x + dx * h

12- Simulink

12- Simulink • Exercícios Guide: Introdução ao Matlab 7.0

• Exercícios

Guide:

12- Simulink • Exercícios Guide: Introdução ao Matlab 7.0

Introdução ao Matlab 7.0