Conceitos Fundamentais de MatLab/Octave · Conceitos Fundamentais de MatLab/Octave e-mail :...

Post on 17-Jan-2020

16 views 0 download

Transcript of Conceitos Fundamentais de MatLab/Octave · Conceitos Fundamentais de MatLab/Octave e-mail :...

Curso: Engenharia Elétrica e ComputaçãoDisciplina Sistemas de Comunicação Digital

Conceitos Fundamentais de MatLab /Octave

e-mail : wsantoscj@gmail.com

Prof. ResponsáveisWagner Santos C. de Jesus

2

Introdução Octave/Matlab

O programa GNU Octave é umalinguagem de alto nível, direcionada paracálculo numérico.Que fornece umainterface de linha de comando convenientepara resolver problemas numéricoslineares e não lineares, e para realizaroutros experimentos numéricos usandouma linguagem que é bastante compatívelcom o Matlab. Também pode ser utilizadacomo linguagem de programação.

Histórico do Octave

O Octave originalmente foi criado por voltade 1988, com o propósito de ser umsoftware de apoio a um livro de graduaçãoem projetos de reator químico, escrito porJames B. Rawlings da Universidade deWisconsin-Madison e John G. Ekerdt daUniversidade do Texas. Originalmente foiidealizado como ferramenta muitoespecializada relacionado à criação dereatores químicos. Posteriormente, apósconstatar as limitações dessa abordagem,optou-se pela construção de umaferramenta mais flexível.

3

James B. RawlingsCollege of Engineering

Conceito de linguagem Científica

Computação científica (ou ciência computacional ) é ocampo de estudo interessado na construção de modelosmatemáticos e técnicas de soluções numéricas utilizandocomputadores para analisar e resolver problemascientíficos e de engenharia. De forma prática, é a aplicaçãode simulação computacional outras formas de computaçãopara problemas em diversas disciplinas científicas.

4http://www.gnu.org/software/octave/

Aplicabilidade do Octave

O programa Octave possui uma grande quantidade deferramentas para a resolução de problemas de:

• Álgebra linear,• Encontra as raízes de equações não lineares, • Integrar funções ordinárias, • Manipular polinômios, • Integra equações diferenciais ordinárias e algébricas.

5

Interface do Octave

6

Exemplo de Linguagens Científicas

• Fortran; • MATLAB;• GNU Octave;• PDL (Perl Data Language)• C++

7

Modelos de Aplicações

8

Aplicação Comercial

Aplicação Cientifica

E SP

EP

S

Ambiente

• Console e Gráfico• Interativo e Programado• Interação com Java e outras Linguagens• Linguagem Interpretada• Estrutura bem definida

9

Tipos de Dados

• Reais (Números Fracionários);• Inteiros (Positivos e negativos);• Caracteres (Letras,Dígitos,Símbolos,Sinais

de Pontuação);• Lógicos (0 e 1)

10

OperadoresMatLab/Octave

11

Operadores Aritméticos

(+) – Adição(-) – Subtração(*) – Multiplicação(/) – DivisãoMod() – Modulo (Resto da divisão)(^) - Potência

12

Operadores Relacionais

< Menor <= Menor ou igual > Maior

>= Maior ou igual== Igual

~= ou !=Diferente de

13

Operadores Lógicos

&& - And (e)| | - Or (ou)! - Not (não)

14

Comandos interativos do ambiente

15

Comandos para gerenciamento do ambiente

16

cd troca o diretório de trabalho atual

dir lista o conteúdo do diretório atual

delete exclui arquivo

type mostra o conteúdo do arquivo texto

what lista arquivos “.m”, “.mat” e “.mex”.

Salvando os dados da memória

17

save salva os dados no arquivos binário “matlab.mat”.

save X salva a matriz X no arquivo o binário “x.mat”.

save arql X Y Z salva as matrizes X, Y e Z no arquivo binário “arq1.mat”.

save arq2.sai X Y Z -ascii salva as matrizes X., Y e Z no arquivo texto “arq2.sai” com 8 dígitos.

Save arq3.sai X Y Z -ascii -double

salva as matrizes X., Y e Z no arquivo texto “arq3.sai” com 16 dígitos.

Recuperando dados da memória

18

save load

save X load x

save arq1 X Y Z load arq1

save arq2.sai X Y Z -ascii load arq2.sai

save arq3.sai X Y Z -ascii -double load arq3.sai

Instruções de Limpeza

clc – Limpa a janela decomandos.clear ou clear all – Liberatodas as variáveis alocadas namemória.

19

Identificadores Booleano

São True, False massão interpretados como(1), (0).

20

Estruturas Básicas Programação

21

Estruturas Básicas

• = - Atribuição;• If - Condição;• for/while - Repetição

22

Tipos de atribuição

Sintaxe:

<varm> = <valor>;

Exemplo:

Str = ‘Morango’;x = 100;

23

Exemplo de Lista

lista = [45 6 7];Ou Matrizlista = [34 5 6;9 4 3;7 6 5];

24

Comando de Saída

Para realizar a saída padrão dedados sem formatação usa-se ainstrução disp().

Sintaxe:

disp(<Valor>|<String>);

25

Estrutura Condicional

if <condição><Instruções>

[else] ou [elseif <condição>]<Instruções>

end

26

Exemplo Prático do if

a = 2;if a == 3

disp('Valor Igual a Tres');else

disp('Valor Diferente de Tres');end

27

Exemplo de if usando operador (OU).

a = 's';if a == 'S' | a == 's'

disp('Confirmaçao realizada!!!');else

disp('Confirmaçao nao realizada!!!');end

28

Exemplo de if usando operador (E)

a = 5;if a >= 18 & a <= 25

disp('Idade para servico militar');else

disp('Idade Fora do servico Militar');end

29

Exemplo de if usandooperador (Não)

idade = 20;if ~(idade>=18)

disp('Nao pode assistir filme adulto !!!'); else

disp('Pode assistir filme adulto !!!'); end

30

Estruturas de repetiçãofor/while

31

Comando for

Realiza estrutura de repetição dentro de umintervalo.Sintaxe:for <varm>=<Inicial>:[<passo>]:<final>

<Instruções>end

32

Exemplo de implementação da Instrução for (Crescente)

for i = 1:5,disp(i);

end

33

Exemplo de implementação da Instrução for (Decrescente)

for i = 5:-1:1,disp(i);

end34

Comando break

Realiza a saída de um laçodevolvendo o controle para aspróximas instruções.

35

Exemplo de uso instrução break

for i = 1:9999,if i == 3025

disp('Achei o valor');break;

endend

36