Curso: Engenharia Elétrica e ComputaçãoDisciplina Sistemas de Comunicação Digital
Conceitos Fundamentais de MatLab /Octave
e-mail : [email protected]
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
Top Related