Sei sulla pagina 1di 60
Introdução Introdução ao ao MATLAB MATLAB Leandro Leandro Gazoni Gazoni Fernanda Fernanda Raupp Raupp
Introdução Introdução ao ao MATLAB MATLAB Leandro Leandro Gazoni Gazoni Fernanda Fernanda Raupp Raupp
Introdução Introdução ao ao MATLAB MATLAB Leandro Leandro Gazoni Gazoni Fernanda Fernanda Raupp Raupp
Introdução Introdução ao ao MATLAB MATLAB Leandro Leandro Gazoni Gazoni Fernanda Fernanda Raupp Raupp

IntroduçãoIntrodução aoao MATLABMATLAB

LeandroLeandro GazoniGazoni FernandaFernanda RauppRaupp

Introdução Introdução ao ao MATLAB MATLAB Leandro Leandro Gazoni Gazoni Fernanda Fernanda Raupp Raupp
Introdução Introdução ao ao MATLAB MATLAB Leandro Leandro Gazoni Gazoni Fernanda Fernanda Raupp Raupp
Introdução Introdução ao ao MATLAB MATLAB Leandro Leandro Gazoni Gazoni Fernanda Fernanda Raupp Raupp

O que é o MATLAB ?

O que é o MATLAB ? mat rix lab oratory é um software para computação científica
O que é o MATLAB ? mat rix lab oratory é um software para computação científica
O que é o MATLAB ? mat rix lab oratory é um software para computação científica

matrix laboratory é um software para computação científica resolve problemas matemáticos de forma rápida e eficiente possui uma família de aplicativos específicos (toolboxes) para:

otimização, manipulação algébrica, redes neurais, processamento de sinais, simulação de sistemas dinâmicos, entre outros.

Evolução do MATLAB

Evolução do MATLAB Ano Ano Versão Versão Resumo Resumo 1978 Classic MATLAB Versão em Fortran 1
Evolução do MATLAB Ano Ano Versão Versão Resumo Resumo 1978 Classic MATLAB Versão em Fortran 1
Evolução do MATLAB Ano Ano Versão Versão Resumo Resumo 1978 Classic MATLAB Versão em Fortran 1

AnoAno

VersãoVersão

ResumoResumo

1978

Classic MATLAB

Versão em Fortran

1984

MATLAB 1

Reescrito em C

1985

MATLAB 2

30% a mais de funções e comandos

1987

MATLAB 3

+ rápido, gráficos coloridos

1992

MATLAB 4

Animação, inteface, debugger, MS-Win

1997

MATLAB 5

OO, álgebra linear, eq. diferenciais

2000

MATLAB 6

LAPACK, ARPACK, BLAS, Suporte Java

Variáveis no MATLAB

Variáveis no MATLAB existe somente um tipo de variável: matriz o tipo matriz pode ser expresso
Variáveis no MATLAB existe somente um tipo de variável: matriz o tipo matriz pode ser expresso
Variáveis no MATLAB existe somente um tipo de variável: matriz o tipo matriz pode ser expresso

existe somente um tipo de variável:

matriz

o tipo matriz pode ser expresso como:

escalar: matriz 1 x 1

vetor: matriz 1 x n

matriz propriamente: matriz m x n

ou

n x 1

a dimensão de matrizes e vetores é automática

Representação de variáveis

Representação de variáveis Variáveis Escalares Vetores Matrizes Vetores Linha Vetores Coluna 0.120.12
Representação de variáveis Variáveis Escalares Vetores Matrizes Vetores Linha Vetores Coluna 0.120.12
Representação de variáveis Variáveis Escalares Vetores Matrizes Vetores Linha Vetores Coluna 0.120.12
Variáveis Escalares Vetores Matrizes Vetores Linha Vetores Coluna 0.120.12 (1X1)(1X1) String Numérico ⎡ 1
Variáveis
Escalares
Vetores
Matrizes
Vetores Linha
Vetores Coluna
0.120.12
(1X1)(1X1)
String
Numérico
1
2
3
1 ⎤
x
456
= ⎢
[
]
2
3 (
⎢ 7
8
9 ⎥
L N C C
(1× 4)
y =
4
×
1
)
[
1
2
3
]
(
3
×
3
)
4 ⎦
Características na declaração de uma variável variáveis são alocadas na memória ao serem declaradas; nomes

Características na declaração de uma variável

Características na declaração de uma variável variáveis são alocadas na memória ao serem declaradas; nomes de
Características na declaração de uma variável variáveis são alocadas na memória ao serem declaradas; nomes de

variáveis são alocadas na memória ao serem declaradas;

nomes de variáveis são sensíveis a letras maiúsculas e minúsculas;

vetores e matrizes devem ser declarados entre [ ];

elementos de uma mesma linha numa matriz são separados por espaço(s) ou vírgula;

ponto-e-vírgula(;) indica o final de uma linha de uma matriz ou expressão;

Exemplos de declarações de variáveis

Exemplos de declarações de variáveis >> A = [ 1 2 3 4 5 ] A
Exemplos de declarações de variáveis >> A = [ 1 2 3 4 5 ] A
Exemplos de declarações de variáveis >> A = [ 1 2 3 4 5 ] A

>> A = [ 1 2 3 4 5 ] A =

1

2

3

de variáveis >> A = [ 1 2 3 4 5 ] A = 1 2

4

5

Vetor Linha

>> A = [ 1 2 3 4 5 ] A = 1 2 3 4

>>B = [ 1; 2; 3; 4; 5 ] ou >>B = A’ B =

1

2

3

4

5

1 2 3 4 5 ] A = 1 2 3 4 5 Vetor Linha >>B

Vetor Coluna

Exemplos de declarações de variáveis

Exemplos de declarações de variáveis >> A = [ 1 2 3; 4 5 6; 7
Exemplos de declarações de variáveis >> A = [ 1 2 3; 4 5 6; 7
Exemplos de declarações de variáveis >> A = [ 1 2 3; 4 5 6; 7

>> A = [ 1 2 3; 4 5 6; 7 8 9 ]

A =

1

2

3

4

5

6

7

8

9

Matriz
Matriz
Matriz

Matriz

Matriz
Matriz

>> A = A'

A =

Matriz Transposta
Matriz Transposta
Matriz Transposta

Matriz Transposta

Matriz Transposta
Matriz Transposta

1 4

7

2 5

8

3 6

9

Operadores matemáticos

Operadores matemáticos Símbolo Operação + Adição - Subtração * Multiplicação /
Operadores matemáticos Símbolo Operação + Adição - Subtração * Multiplicação /
Operadores matemáticos Símbolo Operação + Adição - Subtração * Multiplicação /

Símbolo

Operação

+

Adição

-

Subtração

*

Multiplicação

/

Divisão: a/b=a*b^(-1)

^

Potenciação

Matriz transposta

Exemplos com operadores matemáticos >> A = [ 1 2; 3 4 ]; >> B

Exemplos com operadores matemáticos

Exemplos com operadores matemáticos >> A = [ 1 2; 3 4 ]; >> B =
Exemplos com operadores matemáticos >> A = [ 1 2; 3 4 ]; >> B =

>> A = [ 1 2; 3 4 ]; >> B = [ 5 6; 7 8 ];

A

=

⎢ ⎣

1

3

2

4

⎦ ⎥

B

=

⎣ ⎢

5

7

6

8

⎦ ⎥

>> C = A + B C =

>> C2 = A*B C2 =

6

8

19

22

10

12

43

50

>> C1 = A – B C1 =

-4

-4

-4

-4

>> C3 = A/B C3 =

( = A*inv(B) )

3.0000

-2.0000

2.0000

-1.0000

Operadores Matemáticos Ponto-a-Ponto

Operadores Matemáticos Ponto-a-Ponto Símbolo Operação .* multiplicação ./ divisão .^
Operadores Matemáticos Ponto-a-Ponto Símbolo Operação .* multiplicação ./ divisão .^
Operadores Matemáticos Ponto-a-Ponto Símbolo Operação .* multiplicação ./ divisão .^

Símbolo

Operação

.*

multiplicação

./

divisão

.^

potenciação

Exemplos de operadores matemáticos ponto-a-ponto >>A = [ 1 2 ; 3 4 ]; >>B

Exemplos de operadores matemáticos ponto-a-ponto

Exemplos de operadores matemáticos ponto-a-ponto >>A = [ 1 2 ; 3 4 ]; >>B =
Exemplos de operadores matemáticos ponto-a-ponto >>A = [ 1 2 ; 3 4 ]; >>B =

>>A = [ 1 2 ; 3 4 ]; >>B = [ 5 6 ; 7 8 ];

A

=

⎢ ⎣

1

3

2

4

⎦ ⎥

B

=

⎣ ⎢

5

7

6

8

⎦ ⎥

>> C = A.*B C =

>> C = A./B C =

5

12

0.2000

0.3333

21

32

0.4286

0.5000

>> C = A.^B C =

>> C = A.^3 C =

1

64

1

8

2187

65536

27

64

Característica na declaração de uma variável v = [ inicio : incremento : fim ]

Característica na declaração de uma variável

Característica na declaração de uma variável v = [ inicio : incremento : fim ] v
Característica na declaração de uma variável v = [ inicio : incremento : fim ] v

v

= [ inicio : incremento : fim ]

v

= [ inicio : fim ]

incremento=1

ou

: fim ] v = [ inicio : fim ] incremento=1 ou v = inicio :

v

= inicio : incremento : fim

v

= inicio : fim

Exemplo:

>> A = 1 : 9 A =

1

2

3

4

5

6

7

8

9

Característica na declaração de uma variável Exemplos: >> v = [ 2 : 2 :

Característica na declaração de uma variável

Característica na declaração de uma variável Exemplos: >> v = [ 2 : 2 : 10]
Característica na declaração de uma variável Exemplos: >> v = [ 2 : 2 : 10]

Exemplos:

>> v = [ 2 : 2 : 10] v =

2

4

6

8

10

>> M = [1:1:3; 4:1:6; 7:1:9] M =

1

2

3

4

5

6

7

8

9

Manipulação de matrizes

Manipulação de matrizes acessando um elemento de uma matriz; A = [ 1 3 5 >>
Manipulação de matrizes acessando um elemento de uma matriz; A = [ 1 3 5 >>
Manipulação de matrizes acessando um elemento de uma matriz; A = [ 1 3 5 >>

acessando um elemento de uma matriz;

A = [1 3 5

>> A (3) ans =

B

= ⎢

5

1

4

7

a

11

a

21

a

31

2

5

8

a

12

a

22

a

32

3

6

9

7

a

a

a

13

23

33

⎦ ⎥

9

11

13

15

17]

>> B (2,3) ans =

6

A referência deve ser sempre (( linha,linha, coluna)coluna)

Manipulação de matrizes

Manipulação de matrizes É possível incluir matrizes em matrizes; >> A = [1 2 3; 4
Manipulação de matrizes É possível incluir matrizes em matrizes; >> A = [1 2 3; 4
Manipulação de matrizes É possível incluir matrizes em matrizes; >> A = [1 2 3; 4

É possível incluir matrizes em matrizes;

>> A = [1 2 3; 4 5 6; 7 8 9]; >> a = [10 20 30]; >> A = [A;a] A =

A => matriz 3x3

1

2

3

4

5

6

7

8

9

 

A => matriz 4x3

 

Manipulação de matrizes

Manipulação de matrizes É possível extrair matrizes de matrizes; A ⎡ ⎢ ⎢ = ⎢ ⎢
Manipulação de matrizes É possível extrair matrizes de matrizes; A ⎡ ⎢ ⎢ = ⎢ ⎢
Manipulação de matrizes É possível extrair matrizes de matrizes; A ⎡ ⎢ ⎢ = ⎢ ⎢

É possível extrair matrizes de matrizes;

A

=

1

4

7

10

2

3

⎢ = ⎢ ⎢ ⎣ 1 4 7 10 ⎤ ⎥ ⎥ ⎥ ⎥ ⎦ 2

8

20

9

30

Acessando os elementos na 2a e 3a colunas da 2a linha de A

>> x = A ( 2, [ 2 ou >> x = A ( 2, 2:3)

x =

5

6

3 ] )

Manipulação de matrizes

Manipulação de matrizes 1 2 3 ⎤   ⎥ ⎥ ⎥ ⎥ 10 20 30 ⎦
Manipulação de matrizes 1 2 3 ⎤   ⎥ ⎥ ⎥ ⎥ 10 20 30 ⎦
Manipulação de matrizes 1 2 3 ⎤   ⎥ ⎥ ⎥ ⎥ 10 20 30 ⎦

1

2

3

 

10

20

30



A =

⎢ ⎣

Acessando os elementos da 2a e 3a linhas

>> x = A ([2

ou >> x = A (2:3, 1:3)

3] , [1 2 3 ])

x =

4

5

6

7

8

9

Manipulação de matrizes

Manipulação de matrizes Podemos acessar diretamente elementos da diagonal de uma matriz; A ⎡ 1 2
Manipulação de matrizes Podemos acessar diretamente elementos da diagonal de uma matriz; A ⎡ 1 2
Manipulação de matrizes Podemos acessar diretamente elementos da diagonal de uma matriz; A ⎡ 1 2

Podemos acessar diretamente elementos da diagonal de uma matriz;

A

⎡ 1 2 3 ⎤ ⎢ ⎥ 456 = ⎢ ⎥ ⎢ 7 8 9
1
2
3
456
= ⎢
7
8
9
⎦ ⎥

Vamos acessar a diagonal da matriz A

>> x = diag(A) x =

1

5

9

Funções especiais para geração de matrizes A = rand (m,n) ou rand(n) Gera matriz com

Funções especiais para geração de matrizes

Funções especiais para geração de matrizes A = rand (m,n) ou rand(n) Gera matriz com elementos
Funções especiais para geração de matrizes A = rand (m,n) ou rand(n) Gera matriz com elementos

A = rand (m,n) ou rand(n) Gera matriz com elementos aleatórios.

A = eye (m,n) ou eye(n) Gera matriz com elementos na diagonal iguais a 1. Uma matriz identidade nXn é gerada por eye(n).

A = zeros (m,n) ou zeros(n) Gera matriz com todos elementos iguais a 0.

A = ones (m,n) ou ones(n) Gera matriz com todos elementos iguais a 1.

Exemplos de funções especiais para geração de matrizes » a = rand(2) a = »

Exemplos de funções especiais para geração de matrizes

Exemplos de funções especiais para geração de matrizes » a = rand(2) a = » a
Exemplos de funções especiais para geração de matrizes » a = rand(2) a = » a

» a = rand(2)

a

=

» a = ones(2)

a

=

0.3840

0.0928

1 1

0.6831

0.0353

1 1

» a = eye(2)

a

=

» a = zeros(2)

a

=

1

0

0

0

0

1

0

0

Operadores matemáticos

Operadores matemáticos sin seno cos cosseno tan tangente csc cossecante sec secante cot
Operadores matemáticos sin seno cos cosseno tan tangente csc cossecante sec secante cot
Operadores matemáticos sin seno cos cosseno tan tangente csc cossecante sec secante cot

sin

seno

cos

cosseno

tan

tangente

csc

cossecante

sec

secante

cot

cotangente

acos

arco-coseno

asin

arco-seno

atan

arco-tangente

asec

arco-secante

 

arco-

   

acsc

cossecante

acot

arco-cotangente

Variáveis e Comandos Permanentes ans resposta mais recente flops contador de operações matemáticas eps

Variáveis e Comandos Permanentes

Variáveis e Comandos Permanentes ans resposta mais recente flops contador de operações matemáticas eps
Variáveis e Comandos Permanentes ans resposta mais recente flops contador de operações matemáticas eps

ans

resposta mais recente

flops

contador de operações matemáticas

eps

precisão da máquina

NaN

Not a Number

realmax

maior número de ponto flutuante

inf

Infinito

realmin

menor número de ponto flutuante

computer

tipo de computador

pi

3,141592653

who

lista de variáveis utilizadas

 

unidade

   

i

Imaginária

version

versão do MATLAB

Exercícios:

Exercícios: Armazene os valores das seguintes variáveis: a = 3.132 b = -23.004 c = 5*pi
Exercícios: Armazene os valores das seguintes variáveis: a = 3.132 b = -23.004 c = 5*pi
Exercícios: Armazene os valores das seguintes variáveis: a = 3.132 b = -23.004 c = 5*pi

Armazene os valores das seguintes variáveis:

a = 3.132

b = -23.004

c = 5*pi

d = (3, 5.4, 7.43) t

e = (-2.234, 0, pi/2) t

B

=

5

32

0

34

4.65

13

43 ⎥ ⎦

87

74

f

⎡−

=

9.81

0

1

⎥ ⎦

A

0.32

1e2

9

=

2.5

+

4

51

pi

2

⎥ ⎦

12

24

Exercícios:

Exercícios: a) b) c) d) e) f) Verifique os seguintes resultados: a + b + eps
Exercícios: a) b) c) d) e) f) Verifique os seguintes resultados: a + b + eps
Exercícios: a) b) c) d) e) f) Verifique os seguintes resultados: a + b + eps

a)

b)

c)

d)

e)

f)

Verifique os seguintes resultados:

a + b + eps c – b * (a / b) d – e
a + b + eps
c – b * (a / b)
d – e
e’ + 2 * f
f * B
A * B
--19.872019.8720
-24.854
12.576012.5760
[5.2340 5.4000 5.8592]
[5.2340 5.4000 5.8592]
0
⎡ 0.8108
0. 6696
0.5450 ⎤
1.0128
1.7442
0.7156
3.5708
0.7396
0. 3906
⎥ ⎦
0.7205
0.0055
− 0.0203
0.0006
⎢ 0.7830
0.5840
0.5095 ⎥
⎢ 0.1288
0.1933
0.0825

Outras funções

Outras funções exp exponencial poly polinômio característico log logaritmo natural det
Outras funções exp exponencial poly polinômio característico log logaritmo natural det
Outras funções exp exponencial poly polinômio característico log logaritmo natural det

exp

exponencial

poly

polinômio

característico

log

logaritmo natural

det

determinante

log10

logaritmo base 10

abs

módulo

inv

inverte matriz

sqrt

raiz quadrada

max

máximo valor

real

parte real de número complexo

min

mínimo valor

imag

parte imag. de núm. complexo

mean

média aritmética

conj

conj. dos núm. complexos

std

desvio padrão

round

arredonda num.

Polinômios no MATLAB

Polinômios no MATLAB Polinômios no MATLAB são manipulados como vetores. Os coeficientes de um polinômio são
Polinômios no MATLAB Polinômios no MATLAB são manipulados como vetores. Os coeficientes de um polinômio são
Polinômios no MATLAB Polinômios no MATLAB são manipulados como vetores. Os coeficientes de um polinômio são

Polinômios no MATLAB são manipulados como vetores.

Os coeficientes de um polinômio são armazenados como elementos um vetor linha, começando pelo

coeficiente do termo de maior grau.

Exemplo:

3

p ( x ) = x +10 x

>> p = [1

10 -29];

2

29

Funções relacionadas a polinômios roots acha raízes polyder acha derivada deconv divide conv

Funções relacionadas a polinômios

Funções relacionadas a polinômios roots acha raízes polyder acha derivada deconv divide conv
Funções relacionadas a polinômios roots acha raízes polyder acha derivada deconv divide conv

roots

acha raízes

polyder

acha derivada

deconv

divide

conv

multiplica

 

avalia

   

polyval

polinômio

polyfit

ajusta curva

Exemplos com funções de polinômios 3 p = x + 10 x 2 − 2

Exemplos com funções de polinômios

Exemplos com funções de polinômios 3 p = x + 10 x 2 − 2 x
Exemplos com funções de polinômios 3 p = x + 10 x 2 − 2 x

3

p = x +10 x

2

2 x 29

>> p = [1 p =

1

10

-2 -29]

10 -2 -29

>> roots(p) ans =

-9.9064

-1.7584

1.6648

>> polyder(p) ans =

3

20

-2

Operadores relacionais

Operadores relacionais Símbolo Operador == igual ~= diferente > maior < menor
Operadores relacionais Símbolo Operador == igual ~= diferente > maior < menor
Operadores relacionais Símbolo Operador == igual ~= diferente > maior < menor

Símbolo

Operador

==

igual

~=

diferente

>

maior

<

menor

>=

maior ou igual

<=

menor ou igual

Operadores lógicos

Operadores lógicos Símbolo Operador & e | ou ~ não xor ou exclusivo
Operadores lógicos Símbolo Operador & e | ou ~ não xor ou exclusivo
Operadores lógicos Símbolo Operador & e | ou ~ não xor ou exclusivo

Símbolo

Operador

&

e

|

ou

~

não

xor

ou exclusivo

Exemplos com operadores lógicos e relacionais

Exemplos com operadores lógicos e relacionais >> 2 + 2 == 4 ans = 1 >>
Exemplos com operadores lógicos e relacionais >> 2 + 2 == 4 ans = 1 >>
Exemplos com operadores lógicos e relacionais >> 2 + 2 == 4 ans = 1 >>

>> 2 + 2 == 4 ans =

1

>> 10 > 100 ans =

>> A = [1 >> A==B

0

2; 3 4]; B = 2*ones(2);

ans =

0

1

0

0

>>

a = [1 2 3; 4 5 6]

ans =

1 2 3

4 5 6

>> a >= 4 ans =

0 0 0

1

1

1

Exemplos com operadores lógicos e relacionais

Exemplos com operadores lógicos e relacionais >> x = [ 1 0; 0 1]; >> x
Exemplos com operadores lógicos e relacionais >> x = [ 1 0; 0 1]; >> x
Exemplos com operadores lógicos e relacionais >> x = [ 1 0; 0 1]; >> x

>> x = [ 1 0; 0 1]; >> x & y ans =

1

0

0

0

>> x | y ans =

1

0

1

1

>> xor (x;y) ans =

0

0

1

1

y = [ 1 1; 0 0];

Programação em MATLAB

Programação em MATLAB expressa problemas mais extensos; agiliza os comandos mais digitados; é uma linguagem
Programação em MATLAB expressa problemas mais extensos; agiliza os comandos mais digitados; é uma linguagem
Programação em MATLAB expressa problemas mais extensos; agiliza os comandos mais digitados; é uma linguagem

expressa problemas mais extensos;

agiliza os comandos mais digitados;

é uma linguagem interpretada;

pode ser criada a partir de qualquer editor de texto;

apresenta formato livre como C, Fortran ou outras linguagens.

Controladores de fluxo

Controladores de fluxo if : cria caminhos alternativo no programa if expressão 1 instruções elseif expressão
Controladores de fluxo if : cria caminhos alternativo no programa if expressão 1 instruções elseif expressão
Controladores de fluxo if : cria caminhos alternativo no programa if expressão 1 instruções elseif expressão

if : cria caminhos alternativo no programa

if expressão 1 instruções elseif expressão 2 instruções else instruções end

Controladores de fluxo

Controladores de fluxo Exemplo com if x=rand(1); y=rand(1); if x < y temp = y y
Controladores de fluxo Exemplo com if x=rand(1); y=rand(1); if x < y temp = y y
Controladores de fluxo Exemplo com if x=rand(1); y=rand(1); if x < y temp = y y

Exemplo com if

x=rand(1); y=rand(1); if x < y temp = y

y

= x

x

= temp

end

Resposta:

temp =

 

6

y

=

 

3

x

=

 

6

Controladores de fluxo

Controladores de fluxo   Resposta: Exemplo com if : Resposta: ans = temp = 1 x=rand(1);
 

Resposta:

Exemplo com if :

Resposta:

ans =

temp =

1

x=rand(1); y=rand(1); if x < y temp = y;

x

0.7439

eh maior que y

y

x

= =

0.5744

0.8386

x

y

= =

y

= x;

0.7439

0.2584

x = temp; else

disp('x eh maior que y')

x, y

end

Controladores de fluxo

Controladores de fluxo for : permite que um comando ou um grupo de comandos se repitam
Controladores de fluxo for : permite que um comando ou um grupo de comandos se repitam
Controladores de fluxo for : permite que um comando ou um grupo de comandos se repitam

for : permite que um comando ou um grupo de comandos se repitam

for variável = expressão instruções end

Controladores de fluxo

Controladores de fluxo Exemplos com for : for i = 1:5 x(i) = 2*i; end x
Controladores de fluxo Exemplos com for : for i = 1:5 x(i) = 2*i; end x
Controladores de fluxo Exemplos com for : for i = 1:5 x(i) = 2*i; end x

Exemplos com for :

for i = 1:5 x(i) = 2*i;

end

x

Resposta:

x =

2

4

6

8

10

Controladores de fluxo

Controladores de fluxo n=2; a = eye(n); for j = 2:n for i = 1:j-1 a(i,j)
Controladores de fluxo n=2; a = eye(n); for j = 2:n for i = 1:j-1 a(i,j)
Controladores de fluxo n=2; a = eye(n); for j = 2:n for i = 1:j-1 a(i,j)

n=2; a = eye(n); for j = 2:n for i = 1:j-1 a(i,j) = i/j; a(j,i) = i/j;

end

% incremento=1

end

disp(a)

Resposta:

1.0000 0.5000

0.5000 1.0000

Controladores de fluxo

Controladores de fluxo while : permite que um ou mais comandos sejam repetidos enquanto a expressão
Controladores de fluxo while : permite que um ou mais comandos sejam repetidos enquanto a expressão
Controladores de fluxo while : permite que um ou mais comandos sejam repetidos enquanto a expressão

while : permite que um ou mais comandos sejam repetidos enquanto a expressão de controle for verdadeira

while (expressão de controle) instruções end

Controladores de fluxo

Controladores de fluxo exemplo com while i=0; while ( sqrt(i) < 5 ) i = end
Controladores de fluxo exemplo com while i=0; while ( sqrt(i) < 5 ) i = end
Controladores de fluxo exemplo com while i=0; while ( sqrt(i) < 5 ) i = end

exemplo com while

i=0;

while ( sqrt(i) < 5 )

i = end sqrt(i)

i+1;

Resposta:

i =

1

2

3

4

Funções auxiliares no controle de fluxo

Funções auxiliares no controle de fluxo input – recebe dados através do teclado, que podem ser
Funções auxiliares no controle de fluxo input – recebe dados através do teclado, que podem ser
Funções auxiliares no controle de fluxo input – recebe dados através do teclado, que podem ser

input – recebe dados através do teclado, que podem ser ou não armazenados em uma variável

break – encerra um laço mais interno controlado pelo comando for

pause – pára a execução do programa até que uma nova tecla seja pressionada

Arquivos .m

Arquivos .m podemos criar novas funções ou scripts MATLAB possui um editor próprio e um debugger
Arquivos .m podemos criar novas funções ou scripts MATLAB possui um editor próprio e um debugger
Arquivos .m podemos criar novas funções ou scripts MATLAB possui um editor próprio e um debugger

podemos criar novas funções ou scripts

MATLAB possui um editor próprio e um debugger

comentários começam por %

ao se criar uma função ou script ela dever ser definida no path

Arquivos .m

Arquivos .m scripts : executam os argumentos diretamente, automatizando uma série de comandos função : argumentos
Arquivos .m scripts : executam os argumentos diretamente, automatizando uma série de comandos função : argumentos
Arquivos .m scripts : executam os argumentos diretamente, automatizando uma série de comandos função : argumentos

scripts : executam os argumentos diretamente, automatizando uma série de comandos

função : argumentos podem ser passados para a função, havendo uma manipulação de variáveis

function [res1, res2,

% comentário para help lista de procedimentos da função

]

= nome_da_função (arg1,arg2,

return

)

Exemplo de função.m

Exemplo de função.m % Exibe o gráfico de y = ax^2 + bx + c em
Exemplo de função.m % Exibe o gráfico de y = ax^2 + bx + c em
Exemplo de função.m % Exibe o gráfico de y = ax^2 + bx + c em

% Exibe o gráfico de y = ax^2 + bx + c em [-5,5] clear aux = 's'; while aux == 's’ clc a=input('a ='); b=input('b ='); c=input('c =');

x = -5:0.1:5;

y = a*x.^2 + b*x + c;

plot(y)

pause

figure(1)

pause

close

aux=input('Exibir outro grafico? (s/n) ==> ','s'); end

Exemplo de função.m

Exemplo de função.m arquivo: fun.m % % avalia a seguinte função % f(x)=x*x-cos(x) % function f
Exemplo de função.m arquivo: fun.m % % avalia a seguinte função % f(x)=x*x-cos(x) % function f
Exemplo de função.m arquivo: fun.m % % avalia a seguinte função % f(x)=x*x-cos(x) % function f

arquivo: fun.m

%

% avalia a seguinte função

%

f(x)=x*x-cos(x)

%

function f = fun(x) f = x*x-cos(x); return

Exemplo de função.m

Exemplo de função.m zero.m % % Aplica o método da % bisseção para encontrar % um
Exemplo de função.m zero.m % % Aplica o método da % bisseção para encontrar % um
Exemplo de função.m zero.m % % Aplica o método da % bisseção para encontrar % um

zero.m

%

%

Aplica o método da

%

bisseção para encontrar

%

um zero de

%

f(x)= x*x - cos(x)

%

num intervalo [a,b], tal que f(a)*f(b) < 0.

%

function z = zero(a,b) % testa intervalo if ( fun(a)*fun(b) >= 0 ) display('O intervalo de busca da raiz está errado.') stop end

k = 0; % conta núm. de iterações eps = 0.01; while( abs(b-a) >= 2*eps ) alfa = (a + b)/2; if ( fun(alfa) > 0)

b = alfa;

else

a = alfa;

end k = k+1; end display('A raiz da função é: ' );

(a+b)/2

display(‘número de iterações: ');

k

return

Gráficos no MATLAB

Gráficos no MATLAB existem muitas funções para gerar gráficos 2D e 3D os gráficos podem ser
Gráficos no MATLAB existem muitas funções para gerar gráficos 2D e 3D os gráficos podem ser
Gráficos no MATLAB existem muitas funções para gerar gráficos 2D e 3D os gráficos podem ser

existem muitas funções para gerar gráficos 2D e 3D

os gráficos podem ser armazenados em arquivos, coloridos ou em preto e branco

Gráficos 2D

Gráficos 2D Pode-se desenhar gráficos simples como y = f(x) . Dados os vetores x e
Gráficos 2D Pode-se desenhar gráficos simples como y = f(x) . Dados os vetores x e
Gráficos 2D Pode-se desenhar gráficos simples como y = f(x) . Dados os vetores x e

Pode-se desenhar gráficos simples como y = f(x). Dados os vetores x e y, o gráfico é construído ligando-se os pontos (x(i),y(i)).

>> x = [1.5 >> y = [2.3 >> plot(x,y) 2.2 3.1 4.6 5.7 3.9
>> x = [1.5
>> y = [2.3
>> plot(x,y)
2.2
3.1
4.6
5.7
3.9
4.3
7.2
4.5
6.3 9.4];
3.8 1.1];
8
7
6
5
4
3
2
1
1
2
3
4
5
6
7
8
9
10

Características dos Gráficos

Características dos Gráficos cores das linhas r g b w k y m vermelho verde azul
Características dos Gráficos cores das linhas r g b w k y m vermelho verde azul
Características dos Gráficos cores das linhas r g b w k y m vermelho verde azul
cores das linhas

cores das linhas

r

g

b

w

k

y

m

vermelho

verde

azul

branco

preto

amarelo

roxo

tipos de linhas

--

tracejada

.

ponto

o

circulo

x

x

+

cruz

*

estrela

:

pontilhada

Gráficos no MATLAB

Gráficos no MATLAB Exemplo de gráfico y = f(x) » x = [0:5]; » y =
Gráficos no MATLAB Exemplo de gráfico y = f(x) » x = [0:5]; » y =
Gráficos no MATLAB Exemplo de gráfico y = f(x) » x = [0:5]; » y =

Exemplo de gráfico y = f(x)

» x = [0:5];

» y = x.^2;

» plot(x,y,‘ r : ’)

25

20

15

10

5

0

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
0
0.5
1
1.5
2
2.5
3
3.5
4
4.5
5

x

y = x²

0

0

1

1

2

4

3

9

4

16

5

25

Gráficos 3D

Gráficos 3D plot3 curvas 3D surf,surfc,surfl superfícies 3D mesh,meshc,meshz linhas em perspectiva 3D
Gráficos 3D plot3 curvas 3D surf,surfc,surfl superfícies 3D mesh,meshc,meshz linhas em perspectiva 3D
Gráficos 3D plot3 curvas 3D surf,surfc,surfl superfícies 3D mesh,meshc,meshz linhas em perspectiva 3D

plot3

curvas 3D

surf,surfc,surfl

superfícies 3D

mesh,meshc,meshz

linhas em perspectiva 3D

contour

curvas de nível

Gráficos no MATLAB

Gráficos no MATLAB Exemplo de um gráfico 3D >> x = 0:pi/50:10*pi; >> plot3(sin(x),cos(x),x) 35 30
Gráficos no MATLAB Exemplo de um gráfico 3D >> x = 0:pi/50:10*pi; >> plot3(sin(x),cos(x),x) 35 30
Gráficos no MATLAB Exemplo de um gráfico 3D >> x = 0:pi/50:10*pi; >> plot3(sin(x),cos(x),x) 35 30

Exemplo de um gráfico 3D

>> x = 0:pi/50:10*pi; >> plot3(sin(x),cos(x),x)

35 30 25 20 15 10 5 0 1 0.5 1 0.5 0 0 -0.5
35
30
25
20
15
10
5
0
1
0.5
1
0.5
0
0
-0.5
-0.5
-1
-1

Gráficos no MATLAB

Gráficos no MATLAB > t = 0:pi/50:10*pi; > plot3(sin(t),cos(t), t); > [X,Y] =meshgrid (-8:0.5:8,-8:0.5:8);
Gráficos no MATLAB > t = 0:pi/50:10*pi; > plot3(sin(t),cos(t), t); > [X,Y] =meshgrid (-8:0.5:8,-8:0.5:8);
Gráficos no MATLAB > t = 0:pi/50:10*pi; > plot3(sin(t),cos(t), t); > [X,Y] =meshgrid (-8:0.5:8,-8:0.5:8);

> t = 0:pi/50:10*pi;

> 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;

> subplot(221)

> mesh(X,Y,Z);

> subplot(222)

> surf(X,Y,Z);

> subplot(223)

> meshc(X,Y,Z)

> subplot(224)

> contour(X,Y,Z)

> subplot(222) > surf(X,Y,Z); > subplot(223) > meshc(X,Y,Z) > subplot(224) > contour(X,Y,Z)

Animação de gráficos

Animação de gráficos surf(peaks) axis vis3d for i=1:36 camorbit(10,0,'camera') drawnow end
Animação de gráficos surf(peaks) axis vis3d for i=1:36 camorbit(10,0,'camera') drawnow end
Animação de gráficos surf(peaks) axis vis3d for i=1:36 camorbit(10,0,'camera') drawnow end

surf(peaks) axis vis3d for i=1:36

camorbit(10,0,'camera')

drawnow

end

Animação de gráficos

Animação de gráficos surf(peaks) axis vis3d for i=1:36 camorbit(10,2,'data',[0 1 0]) drawnow end
Animação de gráficos surf(peaks) axis vis3d for i=1:36 camorbit(10,2,'data',[0 1 0]) drawnow end
Animação de gráficos surf(peaks) axis vis3d for i=1:36 camorbit(10,2,'data',[0 1 0]) drawnow end

surf(peaks) axis vis3d for i=1:36 camorbit(10,2,'data',[0 1 0]) drawnow end

Animação de gráficos

Animação de gráficos surf(peaks) axis vis3d off for x = -200:5:200 campos([x,5,10]) drawnow end
Animação de gráficos surf(peaks) axis vis3d off for x = -200:5:200 campos([x,5,10]) drawnow end
Animação de gráficos surf(peaks) axis vis3d off for x = -200:5:200 campos([x,5,10]) drawnow end

surf(peaks) axis vis3d off for x = -200:5:200

campos([x,5,10])

drawnow

end

Animação de gráficos

Animação de gráficos surf(peaks); axis vis3d xp = linspace(-150,40,50); xt = linspace(25,50,50); for i=1:50
Animação de gráficos surf(peaks); axis vis3d xp = linspace(-150,40,50); xt = linspace(25,50,50); for i=1:50
Animação de gráficos surf(peaks); axis vis3d xp = linspace(-150,40,50); xt = linspace(25,50,50); for i=1:50

surf(peaks); axis vis3d xp = linspace(-150,40,50); xt = linspace(25,50,50); for i=1:50

campos([xp(i),25,5]);

camtarget([xt(i),30,0])

drawnow

end

Help MATLAB on-line

Help M AT LA B o n-line http://ww w.m athw orks .com/access/helpdesk/help/tec hdoc/ref/ ref.sht ml http://ww
Help M AT LA B o n-line http://ww w.m athw orks .com/access/helpdesk/help/tec hdoc/ref/ ref.sht ml http://ww
Help M AT LA B o n-line http://ww w.m athw orks .com/access/helpdesk/help/tec hdoc/ref/ ref.sht ml http://ww

http://www.mathworks.com/access/helpdesk/help/tec hdoc/ref/ref.shtml

http://www.mathworks.com/access/helpdesk/help/tec hdoc/matlab.shtml