Instrutor: Marcelo Escobar

Slides:



Advertisements
Apresentações semelhantes
Carlos André Vaz Junior
Advertisements

Programação em Java Prof. Maurício Braga
Programação em Java Prof. Maurício Braga
Como se familiarizar com seu banco de dados usando o SPSS
MATLAB – Aplicações a Engenharia Construção de Interfaces Gráficas
Métodos, Parâmetros, Argumentos e Contratos
Prof. Luis Otavio Alvares
Iniciação ao MatLab Profa Dra. Rossana Lott Rodrigues
The language of tecnical computing
Como se familiarizar com seu banco de dados Como se familiarizar com seu banco de dados usando o SPSS Profa. Suzi Camey Depto de Estatística - UFRGS.
Aula 02 de Excel.
LINGUAGEM ESTRUTURADA TURBO C
Introdução ao JavaScript
Linguagem C Estruturas de Seleção.
Folha de Cálculo TIC 10.
Revisão da Linguagem C.
Tópicos Tipos de Dados Variáveis por Valor Variáveis por Referência
Capítulo 10 Strings & File I/O. Strings Strings são um conjunto de Caracteres ASCII. No Controle de Instrumentação pode-se converter valores numéricos.
GET – Engenharia de Produção
O Portal do Estudante de Computação
Aula prática 6 Vetores e Matrizes
Ameliara Freire O comando de entrada de dados é utilizado quando desejamos fornecer um valor para um nosso programa. Os dispositivos.
Aula 4 Prof. Naércio Filho Técnico em Informática
Prof. Natalia Castro Fernandes Mestrado em Telecomunicações – UFF 2º semestre/2012.
PROGRAMAÇÃO ESTRUTURADA II
Introdução ao MatLab Aula 4
FTIN Formação Técnica em Informática
Entrada e saída.
Seminário 1: Revisão de C
Fábio de Oliveira Borges
Introdução a aplicativos Java
MÉTODOS NUMÉRICOS APLICAÇÃO NO MATLAB
Matlab Mini Curso PET 2012.
Monitoria de Sistemas Inteligentes
Introdução ao MATLAB 5.3 para Hidrólogos
Algoritmo e Programação
Educação Profissional Técnica de Nível Médio Curso Técnico de Informática Disciplina: Estrutura de Dados Professor: Cheli dos S. Mendes da Costa Arquivo.
Sistema Operacional DOS 6.22 PROF. PAULO LORINI NAJAR
Minicurso MATLAB Básico
PROGRAMAÇÃO PARA INTERNET Prof.: Jean Carlo Mendes
Aulas 2 e 3 – Java – Prof. Marcelo Heitor # O método main e argumentos na linha de comando; # Fluxo padrão de entrada e saída; # A classe JOptionPane;
Capítulo V – Comandos de Entrada e Saída 5.1 – Equipamentos de entrada e saída 5.2 – Saída no vídeo-texto 5.3 – Entrada pelo teclado 5.4 – Entrada e saída.
Algumas notas sobre a linguagem de programação C
UTILIZAÇÃO DA LINGUAGEM MS-VISUAL BASIC.NET Objetivo: apresentar os principais recursos da linguagem “Visual Basic” necessários à criação de macros para.
Programação e Aplicações Gráficas
Introdução ao MATLAB 5.3 para Hidrólogos
JAVA Sintaxe.
VBA - Introdução Pontifícia Universidade Católica de Goiás
Aula Prática 1 Monitoria IP/CC (~if669) (A partir do slide elaborado por Luís Gabriel)
Monitoria de Sistemas Inteligentes IF684
MatLab (Matrix Laboratory)
MATLAB - Matrix Laboratory Adaptado de Profa
Introdução ao Scilab Monitoria de Sinais e Sistemas - ES413
Recursividade Profs. De Prog2 e Lab2.
Iº Workshop Linux da Unijorge
CES-10 INTRODUÇÃO À COMPUTAÇÃO
Programação de Computadores - 1
Introdução à Programação
Programação Computacional Aula 8: Entrada e Saída pelo Console Prof a. Madeleine Medrano
Programação Computacional Aula 9: Meu primeiro programa em C
Shell Script Parte 2.
 O que são arrays:  estruturas de dados homogêneas  coleção de elementos do mesmo tipo referenciada por um nome comum  um array pode ser imaginado.
Microsoft Excel.
11 Revisão da Linguagem C Prof. Kariston Pereira Adaptado de Material gentilmente fornecido pelo Prof. Rui Tramontin (DCC/UDESC)
Programação estruturada unidade 2
MatLab (Matrix Laboratory)
Linguagem de Programação
Profª Dalila Borges Justino Lins
Java Básico Lab Ruddá Beltrão | Cristian Costa.
1 Estruturas Condicionais Aula – Tópico 3 Algoritmos e Estruturas de Dados I (DCC/003)
Transcrição da apresentação:

Instrutor: Marcelo Escobar Curso MATLAB 6 Instrutor: Marcelo Escobar Introdução escobar029@hotmail.com

Introdução a Programação: Entradas Processamento Saídas Dados Fornecidos ao Programa Argumentos de Entrada Lógica de Programação Algoritmo Linguagem Seqüência de comandos Dados Fornecidos pelo Programa Argumentos de Retorno Ex: Dados ??? Retornar x1, x2, x3 menor Valor

Algoritmo: Sequência de Passos Lógicos: Independente da Linguagem. Dados: x1, x2, x3 Ler x1 Comparar x1 e x2 Se x1 < x2, min= x1 Se x2 < x1, min= x2 Comparar min e x3 Se min<x3 , min=min Se x3 <min,min=x3 Retornar: min Obs: Dúvidas? Referências/Lógica de Programação no CD rom

Linguagem MATLAB: Núcleo da Linguagem formada por vetores e Matrizes. Recursos de Programação. Ferramenta de Interface Gráfica com o Usuário. Caixas de Ferramentas. Comand Window: [ área de trabalho] >>demo [apresenta uma série de demonstrações de uso] >>tour [apresenta um tour pelo matlab]

Janelas MATLAB: Comand Window: Área de Trabalho. Comand History: Registro de Comandos executados na C.W. Current Directory: Mostra Arquivos presentes no Diretorio Atual. Worspace: Armazenamento de Variáveis criadas na Comand Window. M-file Editor: Área de Edição de arquivos. Launch Pad: Caixas de Ferramentas do matlab. Simulink: Ferramenta do Matlab para Sistemas Dinâmicos.

Tipos de Variáveis : Real , Inteira: double array- variáveis numéricas. Complexa: double array (complex)-variáveis numéricas. Caracter: Char array-variáveis de texto. Célula: cell array-Permite armazenamento de variáveis de tipos diferentes no formato celular do Matlab. Estrutura: struct array-Permite armazenamento de variáveis de tipos diferentes no formato estrutural do Matlab.

Formato de Variáveis Numéricas : >>help format >>format short [5 dígitos] >>format short e [5 dígitos +expoente] >>format long [16 dígitos] >>format long e [16 dígitos +expoente] >>format + [positivo, negativo ou 0] >>format rat [Aproximação racional]

Comandos do MATLAB : Na comand Window: ( >> “sinal de prompt” ) >>helpdesk [documentação] >>helpwin [help on line] >> help [ lista os tópicos de ajuda] Ex: >>help elfun [ funções matemáticas] Fornece uma listagem de funções. Para verificar o funcionamento de cada função: Ex:>>help sin [sin(X) is the sine of the elements of X.] De maneira Geral: [saída1,...,saídan]=comando(entrada1,...,entradan) lookfor: procura de comandos com alguma palavra.

Primeiros Passos: Após abrir o Matlab e fazer um reconhecimento geral, a primeira coisa a se fazer após editar as suas preferências, é selecionar o diretório de trabalho. Caso isso não seja feito, o Matlab salva os arquivos na pasta Work dentro do diretorio no qual o Matlab se encontra instalado. Como mudar o Diretório? Opção 1: Na barra de ferramentas, em current directory, clicar no botão [...] e selecionar o diretorio como no explorer. Opção 2: usando o comando [ cd ] e digitar todo o caminho do diretorio, lembrando que nesse caso, não deve haver espaços nem caracteres especiais. [help cd]. >>cd c:\meus_documentos

Como criar Variáveis: Atribuição: [ = ] x Equivalência: [==] : Ex: >>A=2 [atribui a A o valor numérico 2] >>A==2[A=2 ?, retorna 1 se verdadeiro e 0 se falso] Matlab é case Sensitive.[ Variável A é diferente de a] Caso não se forneça o nome da variável de atribuição, o Matlab cria uma variável chamada ans.[answer]. Se a variável já existe, o matlab armazena sempre a ultima atribuição feita. Deve-se evitar dar nomes às variáveis usando nomes de comandos internos do matlab ou usando variáveis especiais que controlam o fluxo da programação. O nome da variável deve começar por uma letra e não deve conter caracteres especiais nem espaço.

Como criar Variáveis: Variáveis Especiais: For end if while function elseif case otherwise switch continue else try catch global persistent break Dica: Para saber se o nome da variável é um comando interno do matlab, basta dar um >>help [nome da variável]. Caso não seja, o matlab retorna uma mensagem dizendo que a variável [nome] não foi encontrada. Comandos de Gerenciamento: >> help general Who: lista as variaveis atuais Whos: lista as variaveis atuais com seus respectivos tipos. What: lista os arquivos no diretorio atual. Cd: seta o diretorio. Pwd: retorna o caminho do diretorio atual em uma variável. Clear: limpa as variaveis atuais[clear all] Clc: limpa a tela de comando sem deletar as variaveis. Close all: fecha as janelas de figuras abertas.

Como criar Variáveis: Execução de comandos: [;]-no final do comando executa e não exibe resultado. [,]-permite a execução de dois comandos na mesma linha, lembrando que eles são executados seqüencialmente. [Crtl+C] -interrompe a execução do comando, usado no caso de travamento durante a execução. [ ] -retorna as linhas executadas anteriormente. [%]-indica comentário [...]-permite continuação de escrita do comando na linha seguinte ex: A=2.1;B=3*A; Comandos de Dimensionamento: length: dimensão do vetor size: dimensão da matriz

Vetores: Criando um vetor: Opção 1: >> C=[1 2 3 4 5] ou >> C=[1 ,2 ,3 ,4 ,5] Opção 2: Usando comando linspace, ou logspace. linspace(valor inicial, valor final, número de pontos) linspace cria um vetor linearmente espaçado. >>C=linspace(1,5,5) Opção 3: >>C=1:1:5 Valor inicial: incremento: valor final Opção 4: Usando estrutura for For i=1:5 C(i)=i; end Obs: >>A=2; O matlab encara a variável A como uma matriz 1x 1.

Manipulação de Vetores: Operações Básicas: +, - ,* ,/, ^ Operações Ponto a Ponto: ./, .*, .^ Transposição: C’ [ transposta de C-usa aspas simples] Operações elementares: Log exp sin cos tan etc... >>help elfun Ex: >> a=[ 1 2 3]; b=[ 4 5 6]; >> a.*b >>a*b’

Matrizes: Como criar: Opção 1: a partir de vetores C=[ 2 3];D=[ 3 4]; M=[C;D] Opção 2: M= [ 2 3; 3 4] ou M=[ 2,3; 3, 4]; Opção 3: usando estrutura for For i=1:2 For j=1:2 M(i,j)=i+j; end >>help printmat [ exibição da matriz na tela]

Manipulação de Matrizes: Além das operações já citadas anteriormente para vetores. >>help elmat >>help matfun >>help sparfun Produto Matricial: A*B Inversa: inv(A) Determinante: det(A) Posto: rank(A) Valores Caracteristicos: eig(A) rand , eye, zeros, ones- criam matrizes de ordens definidas.

Indexação de Matrizes: M(linha, coluna) M(1,1)- retorna elemento M11 Caso não seja especificado a coluna da matriz, o que não é necessário no caso de vetores, ele considera o vetor coluna 1. Ex: A=[ 1 2; 3 4] A(1)=1 A(2)=3 Pode-se também usar incrementos: C=[ 1 2 3; 4 5 6]; C(1:2,2)=[2 ;5]; C(1,1:2:3)=[1 3]; C(1,2:3)=[2 3]; C(:,3)=[3; 6]; [:] indica todas as linhas ou colunas.

Matrizes Celulares: Opção 1: Criando matriz celular vazia e depois preencher M=cell( num linhas, num colunas), M=cell(2,3) Opção 2: Preencher direto M(1,1)={ [ 1 2; 3 4]} Indexação de posições celulares: M{ linha 1, coluna j}: M{1,2}=[ 1 2; 3 4]; Indexando elemento internos das células: M{1,2}(2,1)=3 >>cellpisp – exibe toda a célula Utilizada para armazenar variáveis matriciais ou de diferentes tipos com fácil indexação.

Estruturas: Como criar? Variável: Marcelo Marcelo.idade=25 Marcelo.peso=70 Marcelo.altura=1.70 Variável utilizada para armazenar variaveis de tipos diferentes de uma forma estruturada. Utilizada por exemplo em Banco de dados com fácil acesso de informações.

Variáveis de Texto: Como criar? D=‘valores’ E=‘ resultados obtidos’ >>disp(D); exibe o texto contido em D >>eval(‘D’) ; avalia o conteúdo do string. Ex: >>T=‘D=2’; >>eval(T); cria a variável D. Concatenação: Str=[ ‘valor=‘ ‘D’] Vamos ver melhor para que a concatenação em interfaces.

Conversão de Variáveis: >>help datatypes >>help strfun >>Char [ converte para caracter] >>Double [ converte para número] >>int2str [ converte de inteiro para string] >>str2int [converte de string para inteiro] >>num2str [converte de real para string] >>str2num [converte de string para real]

Funções de Arredondamento: >>help elmat >>help fix [Arredonda na direção do zero] >>help floor [Arredonda na direção de -oo] >>help ceil [Arredonda na direção de +oo] >>help round [na direção do inteiro mais próximo] >>help rem [ resto de divisão] >>help abs [ modulo] >>help singn [ sinal ]

Operações Relacionais e Lógicas: >>help ops Operadores Relacionais: < - menor que <= -menor ou igual > - maior que >= -maior ou igual == - equivalência ~= -diferente Operadores lógicas: & -e | -ou ~ -não

Operações Relacionais e Lógicas: Retornam sempre 1 se verdadeiro e 0 se falso Exemplos: v=[ 1 -2 3 -4 5] V>0: [ 1 0 1 0 1] (V>0) & (V<4): [ 1 0 1 0 0] (V==1) | (V<0): [ 1 1 0 10] ~(V<0): [ 10 10 1] Comando find: n=find(v>0) Ou [n,m]=find(v>0) N-linha M-coluna Encontra os índices da matriz que satisfazem operações relacionais e lógicas.

Funções Relacionais e Lógicas: Retornam sempre 1 se verdadeiro e 0 se falso. xor: [ ou] any: [ qualquer] all: [todos] isreal: [ verdadeiro se real] iscomplex: [ verdadeiro se complexo] isprime: [ verdadeiro se primo] isifinite: [ verdadeiro se infinito] isnan: [ verdadeiro se não é um número]

Controle de Fluxo: >>help lang Teste condicional: If else end Teste múltiplo: Switch case otherwise Exemplos: If A==0 switch A B=3 case 0 ; B=3; Else otherwise; B=4; end B=4 end Se A é igual a zero B=3 senão B=4.

Controle de Fluxo: Loops: For i=1:10 A(i)=i; end O uso da estrutura for, limita o número de iterações, ou seja, o número de vezes que os comandos são executados. it=0; While it<10 it=it+1; A(it)=it; End A estrutura while permite a execução até que um critério seja satisfeito.

Arquivos M: >> edit Ou Menu File– New--- M-file O uso do editor permite que os comandos a serem executados sejam salvos em um arquivo. Tipos de arquivos: Script [ entradas definidas internamente ou interativamente] Function [ arquivo genérico com entradas e saídas] Ex: Script [soma.m] Função [som.m] A=2; B=3; function S=soma(A,B) Soma=A+B S=A+B; Execução: >>soma ou >>som(2,3) >>help type [ exibe m-file na tela]

Argumentos de Arquivos M: >>help iofun Entrada de dados: >> help xlsread [ lê dados de uma planilha em excel] >>help input [ recebe entrada de dados na Comand Window] >>help dlmread [ lê dados em arquivo de texto] >>help save [salva dados em arquivo .mat] >>help load [carrega dados de arquivos .mat] Saída de dados: >> help diary [registro do log da sessão] Pode ser usado para armazenar resultados em arquivo txt. >>help disp [exibição de texto e de variáveis na tela] Interfaces mais avançadas será vista no capitulo Interfaces com o usuário

Argumentos de Arquivos M: >>help nargin [numero de argumentos de entrada de uma função] >>help nargout [numero de argumentos de uma função] Nargin pode ser usado para usar entradas opcionais. Nargout pode ser usado para limitar a execução de linhas de comando desnecessaria se um dos argumentos de saída não é pedido na chamada da função. Quando criamos as nossas funções, podemos inserir um texto de ajuda antes da primeira linha de comando, assim quando executarmos help nome_da_função esse texto será exibido na tela. function [s1,s2]=nome(e1,e2) %Digite aqui o help da função if nargin<2;e2=0.001;end S1=e1+e2; if nargout<1; s2=2*e2;end

Execução de Arquivos M: >>help pause [permite uma pausa durante a execução] >>help echo [escreve na tela as linhas de comando] >>help beep [emite um sinal sonoro] >>help error [emite uma mensagem de erro na tela] >>help warning [emite uma mensagem de warning na tela] >>help keyboard [suspende execução até que o teclado seja acionado] >>help waitforbuttonpress [suspende execução até que o mouse seja acionado]

Variáveis Globais e Locais: A execução de um arquivo m como um script, lê as variáveis existentes no workspace e salva todas as variáveis criadas durante sua execução. No entanto, quando executamos um arquivo m tipo function, este não lê as variáveis existentes no workspace, lê apenas as variáveis dadas na entrada do programa ou aquelas definidas internamente. Além disso, a function pode até exibir na tela resultados se não usarmos [;] no final da linha, mas ela só retorna os argumentos assinados em sua saída e não salva as demais variáveis no workspace. Para que uma function leia uma variável definida externamente, é necessário definir essa variável como global em todos os arquivos em que ela é utilizada, ou passar como parâmetro de entrada.

Variáveis Globais e Locais: A desvantagem de passar como parâmetro, é que se usarmos uma sub-rotina pronta sendo chamada pelo nosso arquivo principal, precisamos alterar a mesma para esta receber as variáveis. Ex:Queremos resolver uma equação na forma F(x)= x2 –ax+2, onde a é fornecido pelo usuário. Sub-rotina: Function y=f(x) global a Y= x2 –ax+2; Programa principal: Function s=main(a) s=fsolve(‘f’,0); Sub-rotina: Function y=f(x,a) Y= x2 –ax+2; Programa principal: Function s=main(a) s=fsolve(‘f’,0,[],a); Ou

Variáveis Globais e Locais: Nesse caso, a função fsolve, já possui uma entrada para parâmetros, mas muitas vezes quando usamos uma rotina genérica para resolver nosso problema, temos que redefinir a entrada da função e a depender da complexidade do programa temos que alterar em varias linhas e isso deixa a nossa sub rotina menos genérica. O sugerido é usar variáveis globais, e sempre no inicio dos programas usar um clear all para limpar as variáveis existentes no workspace evitando confusão na memória durante a execução de nossos problemas.

Debugando Arquivos M: Debugar, consiste em depurar o programa, ou seja, verificar a existência de erros. >>help depfun [ dependências do arquivo] Permite o retorno de diretórios utilizados, funções utilizadas,dentre outras informações. >>help profile [ Perfil de desempenho] Traça um perfil de desempenho, com o tempo associado à execução de cada comando, dentre outras informações. Uso: >>profile on >>minha_função >>profile report