prof.: josé eustáquio rangel de queiroz ii jornada de cursos do pet de engenharia mecânica da...

66
Prof.: José Eustáquio Rangel de Queiroz II Jornada de Cursos do PET de II Jornada de Cursos do PET de Engenharia Mecânica da UFCG (PETMEC- Engenharia Mecânica da UFCG (PETMEC- CG) CG) Introdução ao MATLAB ® I

Upload: internet

Post on 21-Apr-2015

112 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Prof.: José Eustáquio Rangel de Queiroz II Jornada de Cursos do PET de Engenharia Mecânica da UFCG (PETMEC-CG) Introdução ao MATLAB ® I

Prof.: José Eustáquio Rangel de Queiroz

II Jornada de Cursos do PET deII Jornada de Cursos do PET deEngenharia Mecânica da UFCG Engenharia Mecânica da UFCG

(PETMEC-CG)(PETMEC-CG)

Introdução ao MATLAB®

IIntrodução ao MATLAB®

I

Page 2: Prof.: José Eustáquio Rangel de Queiroz II Jornada de Cursos do PET de Engenharia Mecânica da UFCG (PETMEC-CG) Introdução ao MATLAB ® I

2

MATLAB® (Matrix Laboratory) I

Origem Final da década de 70, na Stanford

University (Cleve Moler).

Foco Cursos de teoria matricial, álgebra

linear e análise numérica.

Algoritmos-bases Bibliotecas EISPAC e LINPACK em

código FORTRAN.

Considerações Iniciais I

Page 3: Prof.: José Eustáquio Rangel de Queiroz II Jornada de Cursos do PET de Engenharia Mecânica da UFCG (PETMEC-CG) Introdução ao MATLAB ® I

3

MATLAB® II

Propósito inicial

Utilização de pacotes sem a necessidade de se escrever códigos em FORTRAN.

Propósito atual

Linguagem de programação iterativa para computação técnica e científica comercializada pela MathWorks (www.mathworks.com).

Considerações Iniciais II

Page 4: Prof.: José Eustáquio Rangel de Queiroz II Jornada de Cursos do PET de Engenharia Mecânica da UFCG (PETMEC-CG) Introdução ao MATLAB ® I

4

Considerações Iniciais III

MATLAB® III

Linguagem de alto desempenho para computação técnica

Computação, visualização e programação em um ambiente de uso fácil

Page 5: Prof.: José Eustáquio Rangel de Queiroz II Jornada de Cursos do PET de Engenharia Mecânica da UFCG (PETMEC-CG) Introdução ao MATLAB ® I

5

MATLAB® IV Aplicações típicas

Computação e análise numérica. Desenvolvimento de algoritmos. Modelagem, simulação e prototipagem. Processamento, análise e visualização

de dados. Representação gráfica científica e de

engenharia. Desenvolvimento de aplicações,

incluindo Interfaces Gráficas com o Usuário (GUI ).

Considerações Iniciais IV

Page 6: Prof.: José Eustáquio Rangel de Queiroz II Jornada de Cursos do PET de Engenharia Mecânica da UFCG (PETMEC-CG) Introdução ao MATLAB ® I

6

MATLAB® V

Características I

Processamento matricial.

Visualização gráfica.

Facilidade de uso.

Linguagem matemática familiar.

Pacotes e caixas de ferramentas para aplicações específicas.

Considerações Iniciais V

Page 7: Prof.: José Eustáquio Rangel de Queiroz II Jornada de Cursos do PET de Engenharia Mecânica da UFCG (PETMEC-CG) Introdução ao MATLAB ® I

7

MATLAB® VI

Características II

Possibilidade de tratamento de variáveis numérica e simbolicamente.

Uso difundido em cursos de graduação e pós-graduação de Engenharia, Matemática e Física.

Considerações Iniciais VI

Page 8: Prof.: José Eustáquio Rangel de Queiroz II Jornada de Cursos do PET de Engenharia Mecânica da UFCG (PETMEC-CG) Introdução ao MATLAB ® I

8

MATLAB® VII

Janela multifacetada de abertura

Considerações Iniciais VII

ComandoComandoss

DetalhesDetalhes

PastaPastaAtualAtual

EspaçoEspaçode Trabalhode Trabalho

HistóricoHistóricode de

ComandosComandos

Page 9: Prof.: José Eustáquio Rangel de Queiroz II Jornada de Cursos do PET de Engenharia Mecânica da UFCG (PETMEC-CG) Introdução ao MATLAB ® I

9

MATLAB® VIII

Inicialização I

Seleção da opção “MATLAB”, na árvore de inicialização ou do ícone do MATLAB, no desktop do Windows.

Janela principal Janela de ComandosComandos

Centro da janela multifacetada.

Digitação de comandos após o prompt de comandos (»»).

Considerações Iniciais VIII

Page 10: Prof.: José Eustáquio Rangel de Queiroz II Jornada de Cursos do PET de Engenharia Mecânica da UFCG (PETMEC-CG) Introdução ao MATLAB ® I

10

MATLAB® IX

Inicialização II

Janela do Diretório AtualDiretório Atual

Localização

Parte superior à esquerda da janela de ComandosComandos.

Propósito

Exibição dos arquivos existentes na pasta atual, na qual o MATLAB® busca inicialmente arquivos e funções.

Considerações Iniciais IX

Page 11: Prof.: José Eustáquio Rangel de Queiroz II Jornada de Cursos do PET de Engenharia Mecânica da UFCG (PETMEC-CG) Introdução ao MATLAB ® I

11

MATLAB® X

Inicialização III

Janela do Espaço de TrabalhoEspaço de Trabalho

Localização

Parte superior à direita da janela de ComandosComandos.

Propósito

Exibição de todas as variáveis declaradas.

Considerações Iniciais X

Page 12: Prof.: José Eustáquio Rangel de Queiroz II Jornada de Cursos do PET de Engenharia Mecânica da UFCG (PETMEC-CG) Introdução ao MATLAB ® I

12

MATLAB® XI

Inicialização IV

Janela do Histórico de ComandosHistórico de Comandos

Localização

Parte inferior à direita da janela de ComandosComandos.

PropósitoExibição de todos os comandos mais recentemente digitados.

Reuso do comando pelo MATLAB® Seleção com duplo clique no comando desejado.

Considerações Iniciais XI

Page 13: Prof.: José Eustáquio Rangel de Queiroz II Jornada de Cursos do PET de Engenharia Mecânica da UFCG (PETMEC-CG) Introdução ao MATLAB ® I

13

MATLAB® XII

Inicialização V

Janela de DetalhesDetalhes

Localização

Parte inferior à esquerda da janela de ComandosComandos.

Propósito

Exibição de detalhes de um arquivo selecionado na janela da Pasta AtualPasta Atual.

Considerações Iniciais XII

Page 14: Prof.: José Eustáquio Rangel de Queiroz II Jornada de Cursos do PET de Engenharia Mecânica da UFCG (PETMEC-CG) Introdução ao MATLAB ® I

14

MATLAB® XIII

Encerramento

Digitação do comando: » quit» quit

Seleção da opção FileFile Exit MATLABExit MATLAB

Fechamento da janela multifacetada (clique no botão , situado no canto superior direito da janela).

Considerações Iniciais XIII

Page 15: Prof.: José Eustáquio Rangel de Queiroz II Jornada de Cursos do PET de Engenharia Mecânica da UFCG (PETMEC-CG) Introdução ao MATLAB ® I

15

MATLAB® XIV

Tipos de Dados

Considerações Iniciais XIV

CaractereCaractere NuméricoNumérico EstruturaEstrutura CélulaCélula(e.g.,‘a’) (e.g., imagem.largura = 120

imagem.nome = ‘face1’

Uint8(inteiro sem sinal, 8 bits)

Double(8 bytes)

ArrayArray

Page 16: Prof.: José Eustáquio Rangel de Queiroz II Jornada de Cursos do PET de Engenharia Mecânica da UFCG (PETMEC-CG) Introdução ao MATLAB ® I

16

Formatos de exibição de números I

Considerações Iniciais XV

Page 17: Prof.: José Eustáquio Rangel de Queiroz II Jornada de Cursos do PET de Engenharia Mecânica da UFCG (PETMEC-CG) Introdução ao MATLAB ® I

17

Formatos de exibição de números II

Considerações Iniciais XVI

Page 18: Prof.: José Eustáquio Rangel de Queiroz II Jornada de Cursos do PET de Engenharia Mecânica da UFCG (PETMEC-CG) Introdução ao MATLAB ® I

18

Considerações Iniciais XVII

Estilo Estilo ResultadoResultado ExemploExemplo

short short (default)

4 dígitos após o ponto decimal [Para matrizes com faixa extensa de valores, empregar shortG]

3.14163.1416

longlongFormato decimal fixo longo, com 15 dígitos após o ponto decimal para valores doubledouble e 7 dígitos após o ponto decimal para valores singlesingle

3.1415926535897933.141592653589793

shortE shortE Notação científica curtacurta, com 4 dígitos após o ponto decimal 3.1416e+003.1416e+00

longE longE Notação científica longalonga, com 15 dígitos após o ponto decimal para valores doubledouble e 7 dígitos após o ponto decimal para valores singlesingle

3.141592653589793e3.141592653589793e+00+00

shortGshortG Notação decimal fixa curta ou notação científica mais compacta, com 5 dígitos 3.14163.1416

longGlongGNotação decimal fixa longa ou notação científica mais compacta, com 15 dígitos para valores doubledouble e 7 dígitos para valores singlesingle

3.141592653589793.14159265358979

shortEnshortEngg

Notação curta para engenharia, com 4 dígitos após o ponto decimal e um expoente múltiplo de 3

3.1416e+0003.1416e+000

longEnglongEng Notação curta para engenharia, com 15 dígitos significativos e um expoente múltiplo de 3

3.14159265358979e+3.14159265358979e+000000

Formatos de exibição de números III

Page 19: Prof.: José Eustáquio Rangel de Queiroz II Jornada de Cursos do PET de Engenharia Mecânica da UFCG (PETMEC-CG) Introdução ao MATLAB ® I

19

Considerações Iniciais XVIII

Formatos de exibição de números IV

Page 20: Prof.: José Eustáquio Rangel de Queiroz II Jornada de Cursos do PET de Engenharia Mecânica da UFCG (PETMEC-CG) Introdução ao MATLAB ® I

20

Formatos de exibição de números V

Digitação do comando format no prompt Retorno ao formato default, i.e., shortshort

Considerações Iniciais XIX

Estilo Estilo ResultadoResultado ExemploExemplo

++Formato Positivo/NegativoPositivo/Negativo, com ++, -- e espaço espaço em brancoem branco exibidos para elementos positivos, negativos e nulos

++

bankbank Formato monetário, com 2 dígitos após o ponto decimal 3.143.14

hexhex Representação hexadecimal de um número binário representado com precisão dupla 400921fb54442d18400921fb54442d18

ratrat Razão de inteiros pequenos 355/113355/113

Page 21: Prof.: José Eustáquio Rangel de Queiroz II Jornada de Cursos do PET de Engenharia Mecânica da UFCG (PETMEC-CG) Introdução ao MATLAB ® I

21

Formatos de exibição de números VI

>> >> help help formatformat (Ajuda de linha de comando sobre formatos)

>> format short>> format short (5 algarismos)

>> format shortE (5 algarismos + expoente)

Considerações Iniciais XX

Page 22: Prof.: José Eustáquio Rangel de Queiroz II Jornada de Cursos do PET de Engenharia Mecânica da UFCG (PETMEC-CG) Introdução ao MATLAB ® I

22

Formatos de exibição de números VI

>> >> format longformat long (16 algarismos)

>> format longE>> format longE (16 algarismos + expoente)

>> format +>> format + (Positivo, negativo ou nulo)

>> format rat (Aproximação racional)

Considerações Iniciais XXI

Page 23: Prof.: José Eustáquio Rangel de Queiroz II Jornada de Cursos do PET de Engenharia Mecânica da UFCG (PETMEC-CG) Introdução ao MATLAB ® I

23

Configurações de separadores

PontoPonto Casas decimais

VírgulaVírgula Algarismos inteiros

TodosTodos os comandos devem ser digitados em letras minúsculasminúsculas

M-file EditorM-file Editor Editor de arquivos do MATLAB, para a

digitação de programas

Seleção de FileFile NewNew M-FileM-File

Considerações Iniciais XXII

Page 24: Prof.: José Eustáquio Rangel de Queiroz II Jornada de Cursos do PET de Engenharia Mecânica da UFCG (PETMEC-CG) Introdução ao MATLAB ® I

24

Ajuda

Janela de Comandos

>> help>> help (Tópicos de ajuda)

>>helpdesk>>helpdesk (docdoc) (Documentação) Na versão 2014a2014a, recebe-se a advertência

Warning: HELPDESK will be removed in a future Warning: HELPDESK will be removed in a future release. Use DOC instead. release. Use DOC instead. > In > In helpdesk at 10helpdesk at 10

>>helpwin>>helpwin (Ajuda online)

>>lookfor >>lookfor termotermo (Busca contextual)

Considerações Iniciais XXIII

Page 25: Prof.: José Eustáquio Rangel de Queiroz II Jornada de Cursos do PET de Engenharia Mecânica da UFCG (PETMEC-CG) Introdução ao MATLAB ® I

25

Tratamento de (quase) TUDOTUDO (default) como arrays de vírgula flutuante de precisão dupla

Suporte a variáveis titippadasadas (integer, float, char, …) Usualmente empregado somentesomente para aplicações específicas.

Escalares I

Page 26: Prof.: José Eustáquio Rangel de Queiroz II Jornada de Cursos do PET de Engenharia Mecânica da UFCG (PETMEC-CG) Introdução ao MATLAB ® I

26

Variáveis I

» a = 1+2+3» a = 66» b = 4+5+6» a = 1515» c = a+b» c = 2121

Escalares II

Page 27: Prof.: José Eustáquio Rangel de Queiroz II Jornada de Cursos do PET de Engenharia Mecânica da UFCG (PETMEC-CG) Introdução ao MATLAB ® I

27

Variáveis II

» x = 1.5+2.03+3.456» x = 6.98606.9860» y = 4.391+5.9+6.34» a = 16.631016.6310» w = x+y» w = 23.617023.6170

Escalares III

No MATLAB®, variáveisvariáveis são introduzidas pela atribuição de um valoratribuição de um valor.

No MATLAB®, variáveisvariáveis são introduzidas pela atribuição de um valoratribuição de um valor.

Page 28: Prof.: José Eustáquio Rangel de Queiroz II Jornada de Cursos do PET de Engenharia Mecânica da UFCG (PETMEC-CG) Introdução ao MATLAB ® I

28

Variáveis III

» 3*c+c/5» ans = 67.200067.2000» exp(w)-17.8*c» ans = 1.8061e+0101.8061e+010» sqrt(ans*ans + c^w)

» ans = 4.1061e+0154.1061e+015

Escalares IV

Um comando Um comando nãonão necessita necessita ser iniciado pela atribuição ser iniciado pela atribuição <<variávelvariável> > ==. .

Um comando Um comando nãonão necessita necessita ser iniciado pela atribuição ser iniciado pela atribuição <<variávelvariável> > ==. .

ansans pode ser empregado como uma variávelvariável.

ansans pode ser empregado como uma variávelvariável.

Page 29: Prof.: José Eustáquio Rangel de Queiroz II Jornada de Cursos do PET de Engenharia Mecânica da UFCG (PETMEC-CG) Introdução ao MATLAB ® I

29

Variáveis IV

» a = 1+2+3» a = 6» a = 1+2+3;;» aa = 66

Escalares V

Page 30: Prof.: José Eustáquio Rangel de Queiroz II Jornada de Cursos do PET de Engenharia Mecânica da UFCG (PETMEC-CG) Introdução ao MATLAB ® I

30

Variáveis V

Comando who

Listagem de variáveis presentes no espaço de trabalho.

Exemplo

» whowhoYour variables are:a ans b c d w x ya ans b c d w x y

Escalares VI

Page 31: Prof.: José Eustáquio Rangel de Queiroz II Jornada de Cursos do PET de Engenharia Mecânica da UFCG (PETMEC-CG) Introdução ao MATLAB ® I

31

Variáveis VI Comando whos

Listagem de variáveis presentes no espaço de trabalho e algumas de suas propriedades.

Exemplo

» whoswhosName Size Bytes Class Attributes

a 1x1 8 double ans 1x1 8 double b 1x1 8 double c 1x1 8 double

Escalares VII

Page 32: Prof.: José Eustáquio Rangel de Queiroz II Jornada de Cursos do PET de Engenharia Mecânica da UFCG (PETMEC-CG) Introdução ao MATLAB ® I

32

Variáveis VII

Comandos comcom mais de uma mais de uma uma linha

Terminação da linha com ...... e EnterEnter e continuação na linha seguinte

Exemplo 0101

» z = 1.458 + 2 + ... 1.009 + 3.98 + 4.768

z = 13.215013.2150

Escalares VIII

Page 33: Prof.: José Eustáquio Rangel de Queiroz II Jornada de Cursos do PET de Engenharia Mecânica da UFCG (PETMEC-CG) Introdução ao MATLAB ® I

33

Variáveis VIII

Expressões matemáticas

NÃONÃO se podem digitar expressões matemáticas literalmente.

Exemplo 0202

» j = k + l??? Undefined function or variable 'k'.??? Undefined function or variable 'k'.

Escalares IX

Page 34: Prof.: José Eustáquio Rangel de Queiroz II Jornada de Cursos do PET de Engenharia Mecânica da UFCG (PETMEC-CG) Introdução ao MATLAB ® I

34

Variáveis IX

Operações padrão

Escalares X

a^b

a/ b

a* bab

a-ba-b

a+ba+b

MATLAB®Padrão

a^b

a/ b

a* bab

a-ba-b

a+ba+b

MATLAB®Padrão

ba

ba

As variáveisvariáveis desta tabela devem ser interpretadas como númerosnúmeros.As variáveisvariáveis desta tabela devem ser interpretadas como númerosnúmeros.

Page 35: Prof.: José Eustáquio Rangel de Queiroz II Jornada de Cursos do PET de Engenharia Mecânica da UFCG (PETMEC-CG) Introdução ao MATLAB ® I

35

Variáveis X

Ordem das operações

Padrão Potenciação, multiplicação e divisão e, por fim, adição e subtração

Uso de parênteses (( )( )) para definir a ordem dos cálculos

Exemplo: Cálculo de

>> 1/(exp(3)+1) ans = 0.04740.0474

Escalares XI

1)3exp(1

Page 36: Prof.: José Eustáquio Rangel de Queiroz II Jornada de Cursos do PET de Engenharia Mecânica da UFCG (PETMEC-CG) Introdução ao MATLAB ® I

36

Variáveis XI

Interrupção de cálculos longoslongos

Uso de Ctrl+cCtrl+c , após o que um novo prompt aparecerá para a entrada de novos comandos

Escalares XII

Page 37: Prof.: José Eustáquio Rangel de Queiroz II Jornada de Cursos do PET de Engenharia Mecânica da UFCG (PETMEC-CG) Introdução ao MATLAB ® I

37

Variáveis XII

Incompletude de comandos

Finalização de comandos Finalização de comandos incompletosincompletos ou ou inválidosinválidos

Aparecimento de uma Aparecimento de uma mensamensaggem de em de erroerro, seguida de um novo , seguida de um novo promptprompt..

Aparecimento de um Aparecimento de um cursor cursor ppiscanteiscante, , à esquerda da linha, abaixo do à esquerda da linha, abaixo do comandocomando

Escalares XIII

Page 38: Prof.: José Eustáquio Rangel de Queiroz II Jornada de Cursos do PET de Engenharia Mecânica da UFCG (PETMEC-CG) Introdução ao MATLAB ® I

38

Variáveis XIII

Aparecimento de um cursor piscante Aparecimento de um cursor piscante à esquerda da linha, abaixo do à esquerda da linha, abaixo do comandocomando

Possibilidade de finalização do Possibilidade de finalização do comando, seguida de sua avaliação comando, seguida de sua avaliação pelo MATLABpelo MATLAB®®

Possibilidade de interrupção do Possibilidade de interrupção do comando, utilizando comando, utilizando Ctrl+cCtrl+c , seguida , seguida do surgimento de um novo do surgimento de um novo promptprompt

Escalares XIV

Page 39: Prof.: José Eustáquio Rangel de Queiroz II Jornada de Cursos do PET de Engenharia Mecânica da UFCG (PETMEC-CG) Introdução ao MATLAB ® I

39

Variáveis XIV

NomesNomes

Inicialização com uma letra, seguida Inicialização com uma letra, seguida de um número de um número arbitrário de letras, de letras, números ou símbolos, e.g., números ou símbolos, e.g., _ e e --

Sensibilidade do MATLABSensibilidade do MATLAB®® a a maiúsculas e minúsculas (maiúsculas e minúsculas (case case sensitivesensitive))

Escalares XV

Page 40: Prof.: José Eustáquio Rangel de Queiroz II Jornada de Cursos do PET de Engenharia Mecânica da UFCG (PETMEC-CG) Introdução ao MATLAB ® I

40

Variáveis XV

Variáveis especiais IIVariáveis especiais II

Variável Descrição

ansans Contém o resultado do último cálculo não atribuído a outra variável.

epseps

Variável utilizada internamente para o arredondamento de todos os números, antes do armazenamento na memória do computador, cujo valor é ≈≈2,2204.102,2204.10-16-16 e representa a acurácia computacional do MATLAB®.

ii ou jj Número complexo ii, com a propriedade ii22=-1=-1.

pipi Igual a 3,1415...3,1415...

InfInf Corresponde ao resultado da divisão de 1 por 0, i.e., 1/0 = InfInf.

NaNNaNRepresentação de Not a NumberNot a Number, entendido como um não não númeronúmero pelo sistema e produzido por cálculos tais como 0/0 ou por valores que o sistema não entende como números.

Escalares XVI

Page 41: Prof.: José Eustáquio Rangel de Queiroz II Jornada de Cursos do PET de Engenharia Mecânica da UFCG (PETMEC-CG) Introdução ao MATLAB ® I

41

Variáveis XVI

Variáveis especiais IIVariáveis especiais II

Possibilidade de atribuição de Possibilidade de atribuição de valores às variáveis internas do valores às variáveis internas do MATLABMATLAB®® Impacto nos cálculos Impacto nos cálculos que envolvam tais variáveis. que envolvam tais variáveis.

Remoção de valores atribuídos a Remoção de valores atribuídos a variáveis internas, por acidente, a variáveis internas, por acidente, a partir do comando partir do comando clearclear ou do ou do navegador do espaço de trabalho. navegador do espaço de trabalho.

Escalares XVII

EVITAREVITAR atribuir valores às variáveis internas variáveis internas do MATLAB®®.

EVITAREVITAR atribuir valores às variáveis internas variáveis internas do MATLAB®®.

Page 42: Prof.: José Eustáquio Rangel de Queiroz II Jornada de Cursos do PET de Engenharia Mecânica da UFCG (PETMEC-CG) Introdução ao MATLAB ® I

42

Exercícios IISolucionar os exercícios Solucionar os exercícios 1.11.1 a a 1.71.7 da da

URL URL http://www.imc.tue.nl/IMC-main/IMC-main-node78.html

Escalares XVIII

Page 43: Prof.: José Eustáquio Rangel de Queiroz II Jornada de Cursos do PET de Engenharia Mecânica da UFCG (PETMEC-CG) Introdução ao MATLAB ® I

43

Geração de vetores no MATLAB® Caractere dois pontosdois pontos (::).

>> x = 1>> x = 1::55 (Geração de um vetor linha contendo os números de 1 a 5, com incremento unitário)

x = x =

1 2 3 4 51 2 3 4 5

Vetores e Matrizes I

Page 44: Prof.: José Eustáquio Rangel de Queiroz II Jornada de Cursos do PET de Engenharia Mecânica da UFCG (PETMEC-CG) Introdução ao MATLAB ® I

44

Matriz diagonaldiagonal ou diagonaldiagonal da matriz I

diag(x) Geração de uma matriz com os elementos de um vetor xx em sua diagonal principal.

>> >> diag(x)diag(x)

ans =ans =

11 0 0 0 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 0 0 0 33 0 0 0 0 0 0 0 0 0 0 44 0 0 0 0 0 0 0 0 0 0 55

Vetores e Matrizes II

Page 45: Prof.: José Eustáquio Rangel de Queiroz II Jornada de Cursos do PET de Engenharia Mecânica da UFCG (PETMEC-CG) Introdução ao MATLAB ® I

45

Matriz diagonaldiagonal ou diagonaldiagonal da matriz II

diag(X) Geração de um vetor coluna com os elementos da diagonal principal de uma matrix XX.

>> X=[>> X=[33 11 5; 4 11 5; 4 11 -3; 6 2 -3; 6 2 11];];>> >> diag(X)diag(X)

ans =ans =

33 11 11

Vetores e Matrizes III

Page 46: Prof.: José Eustáquio Rangel de Queiroz II Jornada de Cursos do PET de Engenharia Mecânica da UFCG (PETMEC-CG) Introdução ao MATLAB ® I

46

Vetores e Matrizes IV

Uso de índicesíndicesComando Resultado

AA((ii,,jj)) Apresenta o elemento da ii-ésima linha e jj-ésima coluna do array AA.

AA((ii,,::)) Apresenta a jj-ésima linha do array AA.

AA((::,,jj)) Apresenta a jj-ésima coluna do array AA.

AA((ii,,::))==[[aa;;bb;;cc]] Altera os valores da ii-ésima linha do array AA para aa, bb e cc, se e somente se o array for ii xx nn e nn ?? 22.

AA((::,,jj))==[[dd;;ee;;ff]] Altera os valores da jj-ésima coluna do array AA para dd, ee e ff, se e somente se o array for nn xx jj e nn ?? 22.

AA((ii,,[[kk,,ll]])) Apresenta um array constituído do kk-ésimo e ll-ésimo elementos da ii-ésima linha do array AA.

[[AA,, BB]] Concatena os arrays AA e BB, se e somente se tiverem o mesmo número de linhas ou de colunas.

Page 47: Prof.: José Eustáquio Rangel de Queiroz II Jornada de Cursos do PET de Engenharia Mecânica da UFCG (PETMEC-CG) Introdução ao MATLAB ® I

47

Operações em arrays I

Operações (tais como adiçãoadição ou subtraçãosubtração) aplicadas aos elementos correspondentes de arrays com a mesma forma.

>> A = [1,2,3]; B = [6,5,4];>> A = [1,2,3]; B = [6,5,4];>> >> AA++BBans =ans =

7 7 77 7 7

Vetores e Matrizes V

Page 48: Prof.: José Eustáquio Rangel de Queiroz II Jornada de Cursos do PET de Engenharia Mecânica da UFCG (PETMEC-CG) Introdução ao MATLAB ® I

48

Operações em arrays II

>> A = [1,2,3]; B = [6,5,4];>> A = [1,2,3]; B = [6,5,4];>> >> AA--BB

ans =ans =

-5 -3 -1-5 -3 -1

>> >> AA**BB??? Error using ==> mtimes??? Error using ==> mtimesInner matrix dimensions must agree.Inner matrix dimensions must agree.

Vetores e Matrizes VI

Page 49: Prof.: José Eustáquio Rangel de Queiroz II Jornada de Cursos do PET de Engenharia Mecânica da UFCG (PETMEC-CG) Introdução ao MATLAB ® I

49

Operações em arrays III

>> A = [1,2,3]; B = [6,5,4];>> A = [1,2,3]; B = [6,5,4];>> >> AA.*.*BB

ans =ans =

6 10 126 10 12

Vetores e Matrizes VII

No MATLAB®®, a multiplicaçãomultiplicação (**), a divisãodivisão (//) e a potenciaçãopotenciação (^̂) DEVEMDEVEM ser indicadas por um ponto (..) antesantes do sinal da operação, a fim de que a operação seja executada elemento a elemento.

No MATLAB®®, a multiplicaçãomultiplicação (**), a divisãodivisão (//) e a potenciaçãopotenciação (^̂) DEVEMDEVEM ser indicadas por um ponto (..) antesantes do sinal da operação, a fim de que a operação seja executada elemento a elemento.

Page 50: Prof.: José Eustáquio Rangel de Queiroz II Jornada de Cursos do PET de Engenharia Mecânica da UFCG (PETMEC-CG) Introdução ao MATLAB ® I

50

Operações em arrays IV

>> A = [1,2,3]; B = [6,5,4];>> A = [1,2,3]; B = [6,5,4];>> >> AA././BB

ans =ans =

0.1667 0.4000 0.75000.1667 0.4000 0.7500

Vetores e Matrizes VIII

Page 51: Prof.: José Eustáquio Rangel de Queiroz II Jornada de Cursos do PET de Engenharia Mecânica da UFCG (PETMEC-CG) Introdução ao MATLAB ® I

51

Operações em arrays V

>> A = [1,2,3]; B = [6,5,4];>> A = [1,2,3]; B = [6,5,4];>> >> AA.^.^BB

ans =ans =

1 32 811 32 81

Vetores e Matrizes IX

Page 52: Prof.: José Eustáquio Rangel de Queiroz II Jornada de Cursos do PET de Engenharia Mecânica da UFCG (PETMEC-CG) Introdução ao MATLAB ® I

52

Operações em arrays VI

>> A = [1,2,3];>> A = [1,2,3];>> B = [6,>> B = [6,5,5,4];4];>> >> AA**BB

ans =ans =

2828

Vetores e Matrizes X

Page 53: Prof.: José Eustáquio Rangel de Queiroz II Jornada de Cursos do PET de Engenharia Mecânica da UFCG (PETMEC-CG) Introdução ao MATLAB ® I

53

Operações com arrays – Lembretes I

Aplicação a elementos correspondentes de 2 arrays de mesma forma

Computação elemento a elemento

Adição e subtração de arrays são automaticamenteautomaticamente interpretadas

Necessidade da utilização do ponto decimal (..) como parte da notação nas demais operações

Vetores e Matrizes XI

Page 54: Prof.: José Eustáquio Rangel de Queiroz II Jornada de Cursos do PET de Engenharia Mecânica da UFCG (PETMEC-CG) Introdução ao MATLAB ® I

54

Operações com arrays – Lembretes II

Exemplos I

>> a = [1.2,2.7,3.5]; b = [6.09,5.48,4.18];

>> a++bans = 7.2900 8.1800 7.6800>> a--bans = -4.8900 -2.7800 -

0.6800

Vetores e Matrizes XII

Page 55: Prof.: José Eustáquio Rangel de Queiroz II Jornada de Cursos do PET de Engenharia Mecânica da UFCG (PETMEC-CG) Introdução ao MATLAB ® I

55

Operações com arrays – Lembretes III

Exemplos II

>> a.*.*bans = 7.3080 14.7960 14.6300>> a././bans = 0.1970 0.4927 0.8373>> a.\.\bans = 5.0750 2.0296 1.1943

Vetores e Matrizes XIII

Page 56: Prof.: José Eustáquio Rangel de Queiroz II Jornada de Cursos do PET de Engenharia Mecânica da UFCG (PETMEC-CG) Introdução ao MATLAB ® I

56

Operações com arrays – Lembretes IV

Exemplos III

>> 2.718.^.^aans = 3.3197 14.8756 33.1034>> [2 2 2].^.^bans = 68.1197 44.6318 18.1261>> a.^.^bans = 3.0354 231.1391 188.0202

Vetores e Matrizes XIV

Page 57: Prof.: José Eustáquio Rangel de Queiroz II Jornada de Cursos do PET de Engenharia Mecânica da UFCG (PETMEC-CG) Introdução ao MATLAB ® I

57

Geração de um array contendo valores de uma função I

Seja a função

e que se deseja atribuir o vetor linha

à variavel yy

Vetores e Matrizes XV

5/xe)x5sin()x(f

)3(f)95,2(f)1,0(f)05,0(f)0(f

Page 58: Prof.: José Eustáquio Rangel de Queiroz II Jornada de Cursos do PET de Engenharia Mecânica da UFCG (PETMEC-CG) Introdução ao MATLAB ® I

58

Geração de um array contendo valores de uma função II

Geração do gráfico no MATLAB®

>> >> ezplotezplot ( (‘sin(5*x)*exp(x/5)’‘sin(5*x)*exp(x/5)’))

>> >> holdhold onon

>> >> gridgrid

Vetores e Matrizes XVI

Page 59: Prof.: José Eustáquio Rangel de Queiroz II Jornada de Cursos do PET de Engenharia Mecânica da UFCG (PETMEC-CG) Introdução ao MATLAB ® I

59

Geração de um array contendo valores de uma função III

Vetores e Matrizes XVII

Gráfico traçado a partir da função ezplot()ezplot() (semsem a grade)

Gráfico traçado a partir da função ezplot()ezplot() (semsem a grade)

Page 60: Prof.: José Eustáquio Rangel de Queiroz II Jornada de Cursos do PET de Engenharia Mecânica da UFCG (PETMEC-CG) Introdução ao MATLAB ® I

60

Geração de um array contendo valores de uma função IV

Vetores e Matrizes XVIII

Gráfico traçado a partir da função ezplot()ezplot() (comcom a grade)

Gráfico traçado a partir da função ezplot()ezplot() (comcom a grade)

Page 61: Prof.: José Eustáquio Rangel de Queiroz II Jornada de Cursos do PET de Engenharia Mecânica da UFCG (PETMEC-CG) Introdução ao MATLAB ® I

61

Geração de um array contendo valores de uma função V

>> x=0:0.05:3x=0:0.05:3

...

Vetores e Matrizes XIX

Page 62: Prof.: José Eustáquio Rangel de Queiroz II Jornada de Cursos do PET de Engenharia Mecânica da UFCG (PETMEC-CG) Introdução ao MATLAB ® I

62

Geração de um array contendo valores de uma função VI

>> y=sin(5*x)*exp(x/5)>> y=sin(5*x)*exp(x/5)Error using * Error using * Inner matrix dimensions must agree.Inner matrix dimensions must agree.

Vetores e Matrizes XX

CUIDADOCUIDADO com o emprego da função sin()sin(), assim como com o emprego do .. !!!

CUIDADOCUIDADO com o emprego da função sin()sin(), assim como com o emprego do .. !!!

Page 63: Prof.: José Eustáquio Rangel de Queiroz II Jornada de Cursos do PET de Engenharia Mecânica da UFCG (PETMEC-CG) Introdução ao MATLAB ® I

63

Geração de um array contendo valores de uma função VII

>> y=sin(5*x).*exp(x./5.)>> y=sin(5*x).*exp(x./5.)

...

Vetores e Matrizes XXI

Page 64: Prof.: José Eustáquio Rangel de Queiroz II Jornada de Cursos do PET de Engenharia Mecânica da UFCG (PETMEC-CG) Introdução ao MATLAB ® I

64

Construção de tabelas I

Seja o vetor coluna

>> v = (0:9)';>> pows = [v 2.^.^v v.^.^(1/2)]

Vetores e Matrizes XXII

Page 65: Prof.: José Eustáquio Rangel de Queiroz II Jornada de Cursos do PET de Engenharia Mecânica da UFCG (PETMEC-CG) Introdução ao MATLAB ® I

65

Construção de tabelas II

Seja a sequência de comandos a seguir

>> format long g>> x = (1:0.05:1.3)';lognat = [x log(x)]

Vetores e Matrizes XXII

Page 66: Prof.: José Eustáquio Rangel de Queiroz II Jornada de Cursos do PET de Engenharia Mecânica da UFCG (PETMEC-CG) Introdução ao MATLAB ® I

66

Construção de tabelas II

Seja a sequência de comandos a seguir

>> format long g>> x = (1:0.05:1.3)';lognat = [x log(x)]

Vetores e Matrizes XXIII