Matlab Mini Curso PET 2012.

Slides:



Advertisements
Apresentações semelhantes
Estruturação de Linguagens (Pascal e C++)
Advertisements

Introdução à Programação Um enfoque orientado a construção de modelos em programas baseados em objetos Gustavo Motta Departamento de Informática - UFPB.
Programação de Computadores
Programação de Computadores
Programação em Java Prof. Maurício Braga
Estruturas de Repetição
Shell Script Professor: João Paulo
Programação para Engenharia I
Universidade Federal de São Carlos Introdução à Linguagem C Comandos.
Instrutor: Marcelo Escobar
Pascal comandos iterativos: FOR WHILE REPEAT Matrizes (tabelas)
The language of tecnical computing
Disciplina: AAM Profa. Ana Watanabe vol.3
Curso de PHP O comando // serve para comentário linear no php
Universidade Federal do Espírito Santo
Introdução ao JavaScript
Linguagem C Strings.
Vetores, Matrizes e Funções
Estruturas de Dados Homogêneas Unidimensionais – Vetores e Strings
Linguagem C Estruturas de Seleção.
Linguagem C Strings.
Matrizes e Funções - Continuação
Estrutura de decisão e repetição em JAVA
Paradigmas de Linguagens de Programação Paradima da Programação Orientada à Objetos Professor: Armando Hage Belém-2008.
O Portal do Estudante de Computação
GET – Engenharia de Produção
Função acos() Função acos Protótipo double acos ( double x ) Cabeçalho
Introdução a Computação e Cálculo Numérico
Linguagem de Programação II Parte IV
Linguagens imperativas: Aula prática
BCC /01 Funções. Material Didático Unificado. 1 BCC701 – Programação de Computadores I Universidade Federal de Ouro Preto Departamento de Ciência.
Material Didático Proposto
Tipos Abstratos de Dados
Seminário 1: Revisão de C
Monitoria de Sistemas Inteligentes
Scilab Aula 2 – Background.
Prof. Reginaldo Ré Universidade Tecnológica Federal do Paraná – Campus Campo Mourão COINT - Coordenação.
Minicurso MATLAB Básico
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;
BCC /01 Aula Teórica 09 Funções Material Didático Proposto. 1 BCC701 – Programação de Computadores I Universidade Federal de Ouro Preto Departamento.
Programação Orientada a Objetos - Java
Programação e Aplicações Gráficas
Aula prática 3 Aprofundando em Funções Parâmetros de uma função Uso do return Execução Variáveis Global, local e estática Monitoria de Introdução à.
Tipos de dados inteiro caracter real logico
Introdução ao MATLAB 5.3 para Hidrólogos
Ambiente de desenvolvimento O ambiente Turbo C Editor Sistema de ajuda Execução passo-a-passo e watch Ficheiros *.bak.
Comando de Seleção switch
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)
Introdução aos Computadores e Programação DI-FCT-UNL-2003/2004
MATLAB - Matrix Laboratory Adaptado de Profa
Haskell Programação Funcional Diego Lima Rubem Moreira.
Laboratório I Mateus Raeder. Mateus Raeder – abril de 2010 Expressões booleanas  Tipo boolean -Tipo de dado primitivo -Possui os valores: true e false.
Usando vetor e matriz em java
Copyright 2000, Departamento de Informática, UFPE. Todos os direitos reservados sob a legislação em vigor. Orientação a Objetos e Java.
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
JAVASCRIPT Programação Web. O que é  E uma linguagem interpretada que e executada na maquina do cliente  Não esta associada ao framework java  Não.
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.
Linguaguem de Programação II
Programação para Web I AULA 4 ESTRUTURAS DE CONTROLE.
Aula Prática 6 Vetores e Matrizes Monitoria
MatLab (Matrix Laboratory)
R e Rstudio Prof. Raphael de Souza e Josiel Maimone Figueiredo Programação para Física Ambiental.
Prof. Tertuliano Operadores Variáveis em C++.
IFRN Técnico em Informática para Internet Estruturas Condicionais Prof. Gilbert Azevedo.
Ambientação com a Sintaxe de Java: parte 2 Prof. Gustavo Wagner Slides Originais: Prof. Tiago Massoni Desenvolvimento de Sistemas FATEC-PB  Centro de.
Transcrição da apresentação:

Matlab Mini Curso PET 2012

Introdução Software matlab – características gerais Apresentação da interface Variáveis, funções e comandos básicos Linguagem de programação Matlab

Interface - Current Folder Mostra todos os arquivos atuais na pasta Matlab;

Interface - Command History Mostra o histórico de todos os comandos realizados na command window

Interface - Workspace Mostra todas as variáveis criadas e seus respectivos tipos

Interface - Command Window Terminal e janela de realização de comandos individualmente

Interface - Editor Janela de criação de programas e funções Matlab

Variáveis, funções e comandos básico Variáveis sempre definidas como matrizes de dimensão N

Variáveis, funções e comandos básicos Sem necessidade de especificar tipo de variável Variável recebe tipo de acordo com valor recebido: valor numérico – Double (padrão) ‘texto’ - char true, false, comparação - logical @função – function_handle

Variáveis, funções e comandos básicos Mudar exibição das variáveis numéricas: File -> Preferences -> Command Window-> Numeric Format

Variáveis, funções e comandos básicos - funções Funções são utilizadas da mesma forma que em C#, C++, Java: Função com retorno: x = função(parâmetros); Ex: x = cos(3.14)  x = -1 Principais funções matemáticas: sin, cos, tan, sind, cosd, tand, asin, acos, atan, log, log2, log10, sqrt, int, diff,

Variáveis, funções e comandos básicos Criar um programa para criar duas variáveis numéricas (a=4 e b=5), uma outra que recebe a raiz da soma delas (c=sqrt(a+b)) e a seguir, imprimir o resultado no terminal (command window): a = 4; b = 5; c = sqrt(a+b); display(c);

Variáveis, funções e comandos básicos - logical Variáveis lógicas -> a = true, a = false, a = comparação Ex: b = 3; c = 4; a = (b<c); display(a); //a = 1; a = ~a display(a); //a = 0;

Variáveis, funções e comandos básicos - logical

Variáveis, funções e comandos básicos - logical

Variáveis, funções e comandos básicos - complexos Unidade imaginária: “i” ou “j” Ex: a = 3 + 4*i a = 3.0000 + 4.0000i Comandos: imag(a) = 4 real(a) = 3 abs(a) = 5 angle(a) = 0.9273

Variáveis, funções e comandos básicos – i/o Funções de saída de dados no terminal: display(x) – exibe o nome da variável e seu conteúdo. display(‘Texto’) – exibe o texto inserido. fprintf(‘Texto’) – exibe o texto inserido Funciona da mesma forma que a função ‘printf’ da linguagem C# Permite exibir texto e variáveis simultaneamente.

Variáveis, funções e comandos básicos - fprintf '' Single quotation mark %% Percent character \\ Backslash \a Alarm \b Backspace \f Form feed \n New line \r Carriage return \t Horizontal tab \v Vertical tab

Variáveis, funções e comandos básicos – i/o Função de entrada de dados: input x = input(‘Texto de orientação: ‘); x receberá um valor numérico ou uma expressão digitada pelo usuário. Ex: 23.124; 34+4*23; a+b^c+3 (a, b, c = variáveis já declaradas no programa) x = input(‘Texto de orientação: ‘, ‘s’);  x receberá a entrada do usuário como uma string.

Variáveis, funções e comandos básicos

Matrizes e Programação Declaração de vetores e matrizes Manipulação Funções

Matrizes e Programação - Declaração Matriz declarada da mesma forma que variáveis, com valores colocados entre colchetes [] Valores na coluna seguinte são separados por (,) Valores na linha seguinte são separados por (;) Ex: a = [1, 2, 3; 4, 5, 6; 7, 8, 9] a = 1 2 3 4 5 6 7 8 9

Matrizes e Programação - Declaração Ferramenta ‘:’ Ex: a = 1:5  a = 1 2 3 4 5 a = 0:0.1:1  a = 0.1 0.2 0.3 (...) 0.8 0.9 1 a = [1:3 ; 4:6; 7:9]  a = 1 2 3 4 5 6 7 8 9

Matrizes e Programação - Declaração Exercício: Construir uma matriz 3x5, em que a lei de formação da primeira linha é seno, a segunda é cosseno e a terceira é raiz quadrada. Utilize para cada linha o vetor v = 0:0.25:1 a = 0 0.2474 0.4794 0.6816 0.8415 1.0000 0.9689 0.8776 0.7317 0.5403 0 0.5000 0.7071 0.8660 1.0000

Matrizes e Programação - Manipulação Acessando elemento: x(linha,coluna) = an Acessando linha: x(linha, :) = [a1, a2, a3, ... , an] Acessando coluna:  x(: , coluna) = [a1; a2; a3; ... ; an] Apagando linha ou coluna: x(linha, :) = [ ] x(coluna,:) = [ ]

Matrizes e Programação - Manipulação Exercício: Criar um programa que calcule a distância entre dois pontos. P1 = (1,5), P2 = (4,9) R: d = sqrt(sum(P1-P2)); d = 5

Matrizes e Programação - Manipulação Indexação de elementos:

Matrizes e Programação - Manipulação Exercício: Resolver o seguinte sistema linear: x + 10y – 12z = 120 4x – 2y – 20z = 60 -x + y + 5z = 10 Matriz inversa: inv(A) Escalonamento: rref(A) Determinante: det(A) Resp: x = 340; y = 50; z = 60

Matrizes e Programação - Manipulação Resolver o sistema: 5j*x + (2-6j)*y + 7*z = log5(20) 9*x – pi*y + sqrt(2)*z = 10.569 (1/3)*x + sen(30)*y + atan(2)*z = 21.3

Matrizes – funções úteis

Matrizes – funções úteis

Matrizes – funções úteis

Matrizes multidimensionais

Matrizes multidimensionais Exercício: Uma empresa apresenta as seguintes tabelas de Produção x Hora x Mês. Salve-as em uma única variável. A = [30, 15; 20, 36]; A(:,:,2) = [12, 17; 9, 15]; A(:,:,3) = [21, 41; 45, 39];

Matrizes de caracteres Strings declaradas com aspas simples: nome = ‘Joao’; sobrenome = ‘da Silva’; Juntar ambas strings numa matriz: horizontalmente: (matriz 1x12) completo = [nome, sobrenome]; completo = strcat(nome, sobrenome);  verticalmente: (matriz 2x8) completo = strvcat(nome, sobrenome);

Programação MATLAB Arquivos *.m Podem ser tanto Scripts quanto Functions: Script – arquivo contendo simplesmente uma sequência de comandos do MATLAB. Utiliza e cria variáveis do workspace Function – faz uso de suas próprias variáveis locais, recebem parâmetros externos e retornam valores.

Programação MATLAB Estruturas de decisão - if Executa teste lógico com expressão. Se resultado = 1 (true) : executa comandos Se resultado = 0 (false) : pula para próxima expressão Forma geral: if (expressão1) comandos1; elseif (expressão2) comandos2; else comandos 3; end

Programação MATLAB Estruturas de decisão - if if (a == 0) display('zero'); elseif (a >= b) display('maior'); display(a); elseif (L) fprintf('Valor de a: %f, valor de b = %f\n', a, b); c = a+b; display(c); else c = a+b+4; end

Programação MATLAB Estruturas de decisão - if Exercício: Fazer um programa que receba do usuário um número e em seguida diga se o número é par ou ímpar. Caso não seja um número inteiro, imprima mensagem de erro.

Programação MATLAB Estruturas de decisão - for Realiza um certo conjunto de comandos numa pré-determinada quantidade de vezes. Forma geral: for x = valor comandos; end

Programação MATLAB Estruturas de decisão - for valor : pode ser vetor ou matriz numéricos x = vetor: a cada iteração, x receberá o valor de cada elemento do vetor. Ciclo termina ao chegar no último elemento. x = matriz: a cada iteração, x receberá um ‘vetor coluna’, com o valor de cada coluna da matriz. Ciclo termina ao chegar na última coluna.

Programação MATLAB Estruturas de decisão - for Exemplos: for x = 0:0.1:1 soma = soma + x; end for k = eye(3) display(k);

Programação MATLAB Estruturas de decisão - for Exercício: Criar um programa que mostre todos os divisores de um número recebido do usuário. Criar um programa que diga se o número digitado é primo ou não.

Programação MATLAB Estruturas de decisão - while Repetidamente executa comandos até que o valor da expressão seja falso Forma geral: while (expressão) comandos; end expressão: comparação: a<b, a>b, a==b, a~=b Variável lógica pré-declarada: L = true Ps: Parar programa: ctrl+c

Programação MATLAB Estruturas de decisão - while Exemplo: while (a<=b) a = a*2; b = b + 1; display(a); display(b); end

Programação MATLAB Estruturas de decisão - while Exercício: Escreva um programa que calcule sucessivamente a raiz quadrada de números introduzidos pelo utilizador até que este indique um número igual a 1. Utilize a função sqrt(x) para calcular a raiz quadrada e input(‘x=?’) para ler os valores. Mostrar ao fim da execução o número de iterações.

Programação MATLAB Estruturas de decisão - fluxo Ferramentas de mudança do fluxo: break – encerra o loop while ou for Ex: for k=2:x-1 if (mod(x,k) == 0) break end continue – pula para a próxima iteração Ex: for k = 1:x fprintf('%.0f, ', k); continue fprintf('\n');

Programação MATLAB Estruturas de decisão - switch Mecanismo de escolha entre várias opções, baseado em comparação de igualdade. Executa o primeiro caso em que a comparação é satisfeita. Imediatamente após executar o caso escolhido, o switch é encerrado. Caso nenhum dos casos satisfaça a condição, é executado o ‘otherwise’.

Programação MATLAB Estruturas de decisão - switch Forma geral: switch variável_teste case ‘valor_1’ comandos_1; case ‘valor_2’ comandos_2; (...) otherwise comandos_n; end

Programação MATLAB Estruturas de decisão - switch Exemplo: metodo = ‘Bilinear'; switch lower(metodo) case {'linear','bilinear'} display('Método é linear.'); case 'cubico' display('Método é cúbico.'); case 'mais proximo' display('Método é por mais próximo.'); otherwise display('Método desconhecido.'); end

Programação MATLAB Estruturas de decisão - switch Exercício: criar um programa que, de acordo com a entrada do usuário, escolha entre executar um dos programas criados anteriormente: número primo, divisores, par ou ímpar. Caso a entrada seja inválida, mostrar mensagem de erro.

Programação MATLAB - Funções Formam outro tipo de arquivo *.m Não podem ser declaradas na Command Window Recebem e retornam parâmetros Fazem uso de variáveis locais próprias Só é possível chamar funções que estejam incluídas na pasta aberta na janela “Current Folder”

Programação MATLAB - Funções Declaração: function [saída1, saída2, ...] = nome_função (ent1, ent2, ...) comandos; end Utilização: [var1 var2 ...] = nome_função(par1, par2, ...)

Programação MATLAB - Funções saída1, saída2, ...  variáveis que receberão os valores que serão retornados pela função ent1, ent2, ...  variáveis que receberão os parâmetros enviados para a função var1 var2 ...  variáveis que receberão os valores retornados pela função par1, par2, ...  parâmetros enviados para a função

Programação MATLAB - Funções Exemplo: Criar uma função que receba o logaritmando e a base e retorne o logaritmo correspondente. function logarit = logbase (logarit, base) a = log(logarit); b = log(base); logarit = a/b;

Programação MATLAB - Funções Exercícios: Criar uma função para calcular a média de n valores. Criar uma função que encontre o mdc (máximo divisor comum) dentre diversos números. Criar uma função que encontre o mmc (mínimo múltiplo comum) entre n números.

Programação MATLAB - Funções Faça um script que leia um vetor com as notas de uma turma e que calcule o seguinte: a) Percentagem das notas positivas (> = 80); b) Percentagem das notas negativas (< 40 ); c) Média das notas positivas; d) Média das notas negativas; e) Média geral das notas. Use como vetor de notas: [ 55 75 93 100 86 15 23 39 81 78.5 63 0 84 67 71 10 89 9 72 51.5]

Programação MATLAB - Funções Faça um script que leia um vetor com as notas de uma turma e que calcule o seguinte: a) Percentagem das notas positivas (> = 80); b) Percentagem das notas negativas (< 40 ); c) Média das notas positivas; d) Média das notas negativas; e) Média geral das notas. Use como vetor de notas: [ 55 75 93 100 86 15 23 39 81 78.5 63 0 84 67 71 10 89 9 72 51.5]

Gráficos 2D – função plot plot(a, b)  desenha um gráfico 2D com os vetores ‘a’ e ‘b’, de mesmo tamanho, associando cada par de elementos de mesmo endereço a um ponto do gráfico. plot(x1, y1, x2, y2, ...)  desenha várias linhas no mesmo gráfico ‘Show plot tools and dock figures’  ferramenta de edição do gráfico desenhado

Gráficos 2D – função plot Exemplo: x = -2:0.01:2; y = x.^2; plot(x, y);

Gráficos 2D – função plot Exemplo: x = -pi:0.01:pi; y1 = sin(x); y2 = cos(x); plot(x, y1 ,x , y2)

Gráficos 2D – função plot x=1:1000; for k=1:5 y(k,:)=k*log(x); end plot(x,y)

Matemática simbólica Cálculos realizados apenas com símbolos matemáticos Possibilidade de utilizar funções como diff(derivada), int(integral), fourier(transformada de fourier), etc syms x  cria uma variável simbólica x X = sym(‘ [a,b;c,d]’)  cria uma matriz simbólica X contendo as variáveis simbólicas a, b, c, d

Matemática simbólica - declaração Exemplo: syms x; x = x^2; y = int(x); % y = x^3/3 y = int(x,1,3); % y = 26/3 y = diff(x); % y = 2*x

Matemática simbólica - declaração Exemplo: M = sym(‘[a,b;c,d]’); M2 = 2*M; [ 2*a, 2*b] [ 2*c, 2*d] d = det(M2); 4*a*d - 4*b*c

Estruturas heterogêneas células (cell) Capazes de armazenar a maioria das estruturas conhecidas no MATLAB em uma única variável: - números - caracteres - strings - matrizes numéricas - matrizes de caracteres Útil para organizar e armazenar estruturas de diferentes tipos. Facilidade de manipular strings.

Estruturas heterogêneas células (cell) Declaração: A = { ... } ‘ , ’ – separa colunas ‘ ; ’ – separa linhas Manipulação: A(x,y) = (...) - acessar linha ‘x’, coluna ‘y’ Ps: ferramentas de acesso de elementos funciona semelhante ao de matrizes normais.