matlab - conceitos básicos

67
Conceitos Básicos Rodolfo Maduro Almeida

Upload: rodolfo-almeida

Post on 10-Jul-2015

1.097 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: Matlab - Conceitos Básicos

Conceitos Básicos

Rodolfo Maduro Almeida

Page 2: Matlab - Conceitos Básicos

O que é o MATLAB?

MATrix LABoratory é um software para resolução de problemas numéricos e visualização computacional.

MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida

Page 3: Matlab - Conceitos Básicos

O que é o MATLAB?

• Desenvolvido pela Mathworks Inc., sede em Natick, Massachusetts, EUA.http://www.mathworks.com/

MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida

Page 4: Matlab - Conceitos Básicos

Características

• Software multiplataforma: Distribuições para Windows, Linux/Unix e Mac.

MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida

Page 5: Matlab - Conceitos Básicos

Características

• Possui ambiente interativo e uma linguagem simples, de alto nível cujos recursos permitem ganho no tempo de implementação.

MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida

Page 6: Matlab - Conceitos Básicos

Vantagens

• Seu ambiente de desenvolvimento permite interação do MATLAB com outras linguagens como C/C++, Java, Fortran. Isto permite o desenvolvimento de toolboxes: extensões de sua linguagem para solução de problemas específicos.

MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida

Toolbox deOtimização

Toolbox de Redes Neurais

Toolbox de Proc. de Imagens

Page 7: Matlab - Conceitos Básicos

Desvantagens

• Não aconselhável para solução de problemas complexos que exijam elevado esforço computacional: por ser baseado em uma linguagem de programação interpretada.

• Você tem que pagar para usá-lo (05/05/09):

Versão Estudante: U$ 99.00

Cada toolbox: U$ 59.00

Page 8: Matlab - Conceitos Básicos

Alternativas ao MATLAB

• SciLab: software livre que possui os mesmas características do MATLAB anteriormente mencionadas. Nos últimos anos vem ganhando espaço no meio acadêmico. Possui distribuições para Windows e Linux.

MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida

Page 9: Matlab - Conceitos Básicos

Alternativas ao MATLAB

Page 10: Matlab - Conceitos Básicos

Inicializando o MATLAB

Iniciar > Executar > “matlab” <enter>

Iniciar > Programas > MATLAB > MATLAB

Pelo prompt de comando do MS-DOS:

> “matlab” <enter>

MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida

Page 11: Matlab - Conceitos Básicos

O Ambiente do MATLAB

MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida

Page 12: Matlab - Conceitos Básicos

O Ambiente do MATLAB

MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida

Diretório de trabalho

Page 13: Matlab - Conceitos Básicos

O Ambiente do MATLAB

MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida

Current directory: Exibe o conteúdo do diretório de trabalho

Page 14: Matlab - Conceitos Básicos

O Ambiente do MATLAB

MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida

Janela de comandos

Page 15: Matlab - Conceitos Básicos

O Ambiente do MATLAB

MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida

Page 16: Matlab - Conceitos Básicos

O Ambiente do MATLAB

MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida

Page 17: Matlab - Conceitos Básicos

O Ambiente do MATLAB

MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida

Workspace: Exibe informações acerca das variáveis carregadas na memória

Page 18: Matlab - Conceitos Básicos

O Ambiente do MATLAB

MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida

Command history: Exibe informações acerca do histórico de comandos

Page 19: Matlab - Conceitos Básicos

O Ambiente MATLAB

Os comandos do MATLAB são definidos em uma linguagem própria.

Suas instruções podem ser interpretadas:• via janela de comandos

• via arquivos com um conjunto de instruções (script) editado com o MATLAB Editor e salvo em um arquivo de extensão “.m”.

O bom uso do MATLAB exige um melhor domínio da sintaxe de sua linguagem.

MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida

Page 20: Matlab - Conceitos Básicos

Declaração de variáveis

MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida

• Variável: Elemento de um programa que é declarado e armazenado na memória, cujo valor pode ser modificado ao longo de sua execução.

• Declaração de uma variável no MATLAB: usa-se o operador atribuição “=”.

>> variavel = valor;

• Tipos de valores:

Os tipos podem ser numérico (real ou inteiro), complexo ou caractere.

Page 21: Matlab - Conceitos Básicos

Declaração de variáveis

MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida

Regras para nomes Comentário e exemplos

Case sensitive Custo, CustO, CuStO e CUSTO são variáveis

diferentes no MATLAB

Devem conter no máximo 31 caracteres

CustoTotalAnoAnterior = 10

CustoTotalEstimadoProximoAno = 4

Não deve começar com número e nem conter pontuações ou espaços

Valor_Estimado = 3

Valor1 = 9.2

X123 = 2.5

Page 22: Matlab - Conceitos Básicos

Declaração de variáveis

Representação das variáveis: matrizes

Escalar StringMatrizes

numéricas

MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida

X = 3

Matriz(1x1)

BALTAM

nome = „MATLAB‟

Vetor linha01

10B

101B

1

0

1

B

Page 23: Matlab - Conceitos Básicos

Declaração de variáveis

• Declarando matrizes no MATLAB:

1. Os elementos devem ser declarados entre [ ]

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

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

MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida

452

906

841

A A = [1 4 8; 6 0 9; 2 4 5]

Page 24: Matlab - Conceitos Básicos

Operadores aritméticos matriciais

MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida

Operação Símbolo

Adição +

Subtração -

Multiplicação *

Divisão /

Potenciação ^

Matriz transposta „

Page 25: Matlab - Conceitos Básicos

Operadores aritméticos

>> a = 4

a = 4

>> b = 3

b = 3

>> c = a + b

c = 7

>> c1 = a – b

c1 = 1

>> c2 = b / a

c2 = 0.7500

>> c3 = a^2 + b^2

c3 = 25

MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida

Page 26: Matlab - Conceitos Básicos

Operadores aritméticos>> A = [1 2; 3 4]

A =

1 2

3 4

>> B = [5 6; 7 8]

B =

5 6

7 8

>> C = A + B

C =

6 8

10 12

>> C1 = A – B

C1 =

-4 -4

-4 -4

>> C2 = A^(-1) %=(inv(A))

C2 =

-2.0000 1.0000

1.5000 -0.5000

>> C3 = A/B %=(A*inv(B))

C3 =

3.0000 -2.0000

2.0000 -1.0000

>> C4 = A^2 + B^2

C4 =

74 88

106 128

>> C5 = A’

C5 =

1 3

2 4

MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida

Page 27: Matlab - Conceitos Básicos

Operadores aritméticosponto-a-ponto

MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida

Operação Símbolo

Multiplicação .*

Divisão ./

Potenciação .^

Operador ponto-a-ponto: Executa a operações entre (ou sobre) oselementos da matriz. Quando envolver duas matrizes, as suas dimensõesdevem ser as mesmas.

Page 28: Matlab - Conceitos Básicos

Operadores aritméticos>> A = [1 2; 3 4]

A =

1 2

3 4

>> B = [5 6; 7 8]

B =

5 6

7 8

>> C1 = A * B

C =

19 22

43 50

>> C1 = A .* B

C2 =

5 12

21 32

>> D1 = A/B

C3 =

3.0000 -2.0000

2.0000 -1.0000

>> D2 = A./B

D1 =

0.2000 0.3333

0.4286 0.5000

>> E1 = A^3

E1 =

37 54

81 118

>> E2 = A.^3

E2 =

1 8

27 64

MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida

Page 29: Matlab - Conceitos Básicos

Operador dois-pontos (:)

É um dos operadores mais úteis do MATLAB. Cria vetores e serve para manipular índices de matrizes.

Criando vetores:

>> vetor = valor_inicial:incremento:valor_final

>> vetor = valor_inicial:valor_final (incremento=1)

MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida

Page 30: Matlab - Conceitos Básicos

Operador dois-pontos (:)

MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida

>> C = 1:2:11

C =

1 3 5 7 9 11

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

E =

1 2 3

4 5 6

7 8 9

>> D = 0 : 0.5 : 3

D =

0 0.5 1.0 1.5 2.0 2.5 3.0

Page 31: Matlab - Conceitos Básicos

>> A = [1 : 2 : 15]

A =

1 3 5 7 9 11 13 15

>> A(1,5)

ans =

9

>> B = [1:1:3;2:2:6;5:2:9]

B =

1 2 3

2 4 6

5 7 9

>> b = [10 20 30]

b =

10 20 30

>> B = [B;b]

B =

1 2 3

2 4 6

5 7 9

10 20 30

>> B(1:3,2)

ans =

2

4

7

>> B(3,:)

ans =

5 7 9

>> B([2 3],[1 2])

ans =

2 4

5 7

>> B(end,:)

ans =

10 20 30

Manipulação de Matrizes

MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida

Page 32: Matlab - Conceitos Básicos

Manipulação de matrizes>> A = ones(3,3)

A =

1 1 1

1 1 1

1 1 1

>> B = zeros(4,3)

B =

0 0 0

0 0 0

0 0 0

0 0 0

>> I = eye(4,4)

I =

1 0 0 0

0 1 0 0

0 0 1 0

0 0 0 1

>> C = rand(3,3)

C =

0.8147 0.9134 0.2785

0.9058 0.6324 0.5469

0.1270 0.0975 0.9575

>> rand('seed',0)

>> D = rand(3,3)

D =

0.2190 0.6793 0.5194

0.0470 0.9347 0.8310

0.6789 0.3835 0.0346

>> E = diag(D)

E =

0.2190

0.9347

0.0346

MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida

Page 33: Matlab - Conceitos Básicos

Manipulação de matrizes>> A = ones(3,3)

A =

1 1 1

1 1 1

1 1 1

>> dimA = size(A)

dimA =

2 3

>> A1 = diag(A)

A1 =

1

1

1

>> maxdimA = length(A)

maxdimA =

3

>> B = diag(5 * A1)

B =

5 0 0

0 5 0

0 0 5

>> rand('seed',10)

>> C = rand(size(A))

C =

0.1291 0.9505 0.1597

0.6048 0.3367 0.7808

0.5040 0.0924 0.6925

>> C1 = triu(C)

C1 =

0.1291 0.9505 0.1597

0 0.3367 0.7808

0 0 0.6925

>> C2 = tril(C)

C2 =

0.1291 0 0

0.6048 0.3367 0

0.5040 0.0924 0.6925

MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida

Page 34: Matlab - Conceitos Básicos

Exercícios

Defina as matrizes e efetue as seguintes operações:

MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida

índices demais os para 3,

ímpares e para,2

pares e para ,1

)( 99ji

ji

bB ij

índices demais os para 3,

par ímpar para,2

ímpar par para ,6

)( 99jei

jei

aA ij

a) A * A‟b) B^2c) B.^2

d) A * Be) A .^Bf) A./B

Page 35: Matlab - Conceitos Básicos

Exercícios>> A = 3 * ones(9,9)

>> A(2:2:end,1:2:end)=6

>> A(1:2:end,2:2:end)=2

>> disp(A)

3 2 3 2 3 2 3 2 3

6 3 6 3 6 3 6 3 6

3 2 3 2 3 2 3 2 3

6 3 6 3 6 3 6 3 6

3 2 3 2 3 2 3 2 3

6 3 6 3 6 3 6 3 6

3 2 3 2 3 2 3 2 3

6 3 6 3 6 3 6 3 6

3 2 3 2 3 2 3 2 3

MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida

Page 36: Matlab - Conceitos Básicos

Exercícios>> B = 3 * ones(9,9)

>> B(2:2:end,2:2:end)=1

>> B(1:2:end,1:2:end)=2

>> disp(B)

2 3 2 3 2 3 2 3 2

3 1 3 1 3 1 3 1 3

2 3 2 3 2 3 2 3 2

3 1 3 1 3 1 3 1 3

2 3 2 3 2 3 2 3 2

3 1 3 1 3 1 3 1 3

2 3 2 3 2 3 2 3 2

3 1 3 1 3 1 3 1 3

2 3 2 3 2 3 2 3 2

MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida

Page 37: Matlab - Conceitos Básicos

Operadores lógicos e relacionais

MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida

Operador relacional

Símbolo

Igual ==

Diferente ~=

Maior >

Menor <

Maior ou igual >=

Menor ou igual <=

Operador lógico

Símbolo

E &

Ou |

Não ~

1: True – Verdadeiro0: False - Falso

Page 38: Matlab - Conceitos Básicos

Operadores lógicos e relacionais

>> 2 == 3

ans = 0

>> 2 <= 3

ans = 1

>> (2 == 3) & (2 <= 3)

ans = 0

>> ~(2 == 3) & (2 <= 3)

ans = 1

>> (2 ~= 3) & (2 <= 3)

ans = 1

MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida

Page 39: Matlab - Conceitos Básicos

Trabalhando com scripts

• O que é um script?

o conjunto de instruções do MATLAB que podem ser executadas sistematicamente.

• Para que serve?

o Sintetiza os comandos freqüentemente digitados em um único comando (o script com os comandos é executado)

o Aplicável a problemas mais extensos onde é exigido mais comandos

MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida

Page 40: Matlab - Conceitos Básicos

Editando scripts

MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida

Outra opção: File > New M-File

Page 41: Matlab - Conceitos Básicos

Programando em MATLAB

MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida

Page 42: Matlab - Conceitos Básicos

Programando em MATLAB

MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida

Salvar o script em um diretório de sua preferência

Executar o script.Atalho: F5

Page 43: Matlab - Conceitos Básicos

Entrada e Saída (tela)

• Comando de entrada: inputR = input(‘Forneca o valor de entrada:')

>>

Forneca o valor de entrada: <digitar valor> <enter>

• Comando de saida: dispdisp(X)

Mostra o valor de X na janela de comandos.

disp('Ola Mundo!')

>>

Ola Mundo!

MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida

Page 44: Matlab - Conceitos Básicos

Entrada e Saída (tela)clc

A = input('Forneca uma matriz 2 x 2: ');

B = input('Forneca uma matriz 2 x 2: ');

C1 = A + B;

C2 = A * B;

disp('Soma entre as duas matrizes: ');

disp(C1)

disp('Produto entre as duas matrizes: ');

disp(C2)

MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida

Page 45: Matlab - Conceitos Básicos

Entrada e Saída (arquivos)

• Comando de entrada: loadFormato ASCII:

>> x = load('arquivo.txt');

Formato binário do MATLAB:

>> load arquivo.mat

• Comando de saída: saveFormato ASCII:

>> save „arquivo.txt‟ variaveis –ascii

Formato binário do MATLAB:

>> save „arquivo.mat‟ variaveis

MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida

Page 46: Matlab - Conceitos Básicos

Entrada e Saída (arquivos)

dados = load('lorenz_xyz.txt');

t = dados(:,1);

x = dados(:,2);

y = dados(:,3);

z = dados(:,4);

save lorenz_xyz.mat t x y z;

MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida

Obtenha o arquivo: http://br.geocities.com/rodmaduro/lorenz_xyz.txt

Page 47: Matlab - Conceitos Básicos

Controladores de fluxo

if expressao_1

instrucoes_1

else

instrucoes_2

end

if expressao_1

instrucoes_1

elseif expressao_2

instrucoes_2

else

instrucoes_3

end

MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida

if: cria caminhos alternativos na execução de um script.

Page 48: Matlab - Conceitos Básicos

Controladores de fluxo

disp('Script que compara dois numeros')

a = input('Forneca um numero: ');

b = input('Forneca outro numero: ');

if a > b

disp(['Numero maior: ' num2str(a)])

disp(['Numero menor: ' num2str(b)])

else

disp(['Numero maior: ' num2str(b)])

disp(['Numero menor: ' num2str(a)])

end

MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida

Page 49: Matlab - Conceitos Básicos

Controladores de fluxodisp('Script que compara dois numeros')

a = input('Forneca um numero: ');

b = input('Forneca outro numero: ');

if a > b

disp(['Numero maior: ' num2str(a)])

disp(['Numero menor: ' num2str(b)])

elseif a < b

disp(['Numero maior: ' num2str(b)])

disp(['Numero menor: ' num2str(a)])

else

disp(['Os dois numeros sao iguais a '

num2str(a)])

end

MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida

Page 50: Matlab - Conceitos Básicos

Controladores de fluxo

for variavel = valor_inicial:passo:valor_final

instrucoes;

end

MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida

for: permite que um grupo de instruções se repitam por um número especificado de vezes.

Page 51: Matlab - Conceitos Básicos

Controladores de fluxo

N = input('Forneca a dimensao da matriz: ');

A = zeros(N,N);

for i = 1:N

for j=1:N

A(i,j) = 2 * i - 3 * j;

end

end

disp(A)

MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida

jiaA NNij 32)(

Page 52: Matlab - Conceitos Básicos

Controladores de fluxo

clc

N = input('Forneca a dimensao da matriz: ');

A = zeros(N,N);

for i = 1:N

for j=1:N

if (mod(i,2) == 0) & (mod(j,2) == 1)

A(i,j) = 6;

elseif (mod(i,2) == 1) & (mod(j,2) == 0)

A(i,j) = 2;

else

A(i,j) = 3;

end

end

end

disp(A)

MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida

índices demais os para 3,

par ímpar para,2

ímpar par para ,6

)( 99jei

jei

aA ij

Page 53: Matlab - Conceitos Básicos

Controladores de fluxo

while (expressao de controle)

instrucoes;

end

MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida

while: permite que um grupo de instruções se repitam enquanto uma determinada expressão de controle for verdadeira.

Page 54: Matlab - Conceitos Básicos

Controladores de fluxo

EPS = 2;

while (1+EPS) > 1

EPS = EPS/2;

end

disp(EPS)

MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida

EPS é o maior número que adicionado a 1 torna seu valor igual a 1. Isso acontece porque o computador um utiliza número fixo de dígitos para representar os números. O MATLAB usa 16 dígitos de precisão, nesse caso o valor de EPS será próximo de 10^(-16):>> EPS

EPS =

1.1102e-016

>> 1 + EPS == 1

ans =

1

Page 55: Matlab - Conceitos Básicos

Controladores de fluxo

MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida

break: encerra a execução de um laço de repetição (for ou while).

EPS = 1;

for num = 1 : 1000

EPS = EPS / 2;

if ~((1+EPS) > 1)

break

end

end

disp(EPS)

EPS = 1;

while (1+EPS) > 1

EPS = EPS/2;

end

disp(EPS)

Page 56: Matlab - Conceitos Básicos

Visualizando figuras

• Comando plot: gera um gráfico 2D>> plot(x,y)

y: vetor linha ou vetor coluna

y: vetor linha ou vetor coluna

• Exemplo: x = -pi:0.001:pi;

y = sin(x);

plot(x,y)

axis([-pi pi -1 1])

xlabel('x')

ylabel('sin(x)')

title('Grafico da Função Seno')

MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida

Page 57: Matlab - Conceitos Básicos

Visualizando figuras

• Comando plot3: gera um gráfico 3D>> plot3(x,y,z)

y: vetor linha ou vetor coluna

y: vetor linha ou vetor coluna

z: vetor linha ou vetor coluna

• Exemplo: t = 0 : pi/50 :10*pi;

plot3(sin(t) ,cos(t) ,t)

axis([-1 1 -1 1 0 40])

xlabel('x')

ylabel(„y')

zlabel(„z')

grid on

MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida

Page 58: Matlab - Conceitos Básicos

Salvando figuras

• Comando print:print(gcf,formato,nome_da_figura)

Formatos mais comuns:

-dpng: salva figura em PNG

-deps: salva em Encapsulated PostScript

-depsc: salva Encapsulated Color PostScript

MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida

Page 59: Matlab - Conceitos Básicos

Salvando figurasclc; close all;

dados = load('lorenz_xyz.txt');

t = dados(:,1);

x = dados(:,2);

y = dados(:,3);

z = dados(:,4);

figure;

subplot(3,1,1)

plot(t,x)

xlabel('t')

ylabel('x(t)')

subplot(3,1,2)

plot(t,y)

xlabel('t')

ylabel('z(t)')

subplot(3,1,3)

plot(t,z)

xlabel('t')

ylabel('z(t)‘)

print(gcf,'-dpng',‘lorenz_xyz.png')

MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida

Para baixar o aquivo 'lorenz_xyz.txt'clique aqui.

Page 60: Matlab - Conceitos Básicos

Salvando figurasclc; close all;

dados = load('lorenz_xyz.txt');

t = dados(:,1);

x = dados(:,2);

y = dados(:,3);

z = dados(:,4);

figure;

plot3(x,y,z)

xlabel('x(t)')

ylabel('x(t)')

zlabel('z(t)')

grid on

print(gcf,'-dpng',‘lorenz3d.png')

MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida

Page 61: Matlab - Conceitos Básicos

Funções em MATLAB

• Uma função é um trecho de código que admite parâmetros de entrada e retorna valores.

• Arquivos “.m” podem ser tanto scripts quanto funções.

• Os comandos nativos do MATLAB são funções criadas na sua própria linguagem.

function variavel_retorno = nome_da_funcao(variaveis_entrada)

instrucoes para obter variavel_retorno;

MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida

Page 62: Matlab - Conceitos Básicos

Criando uma função no MATLAB

function distancia = calcula_distancia(x,y)

diferenca = x - y;

distancia = sqrt(diferenca*transpose(diferenca));

MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida

Exemplo: Função que calcula a distancia euclidiana entre dois vetores do Rn. Crie e salve o seguinte arquivo “.m”:

Page 63: Matlab - Conceitos Básicos

• Para executar essa função, vá a janela de comando e proceda da seguinte forma:

>> p = [1 0 0];

>> q = [0 1 0];

>> d = calcula_distancia(p, q)

• Ou:>> d = calcula_distancia([1 0 0], [0 1 0])

Criando uma função no MATLAB

MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida

Page 64: Matlab - Conceitos Básicos

Como aprender maise mais sobre MATLAB?

• Acessando sua documentação:

Comando doc:

>> doc

• Acessando scripts demonstrativos:

Comando demo:

>> demo

• Maiores esclarecimentos sobre algum comando:>> help comando

Exemplo:

>> help plot

>> doc plot

MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida

Page 65: Matlab - Conceitos Básicos

Como aprender maismais sobre MATLAB?

• Livros sobre MATLAB

MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida

Page 66: Matlab - Conceitos Básicos

Como aprender maise mais sobre MATLAB?

• Google:

MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida

Page 67: Matlab - Conceitos Básicos

MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida