1.33k likes | 1.7k Views
UNIVERSIDADE FEDERAL DE CAMPINA GRANDE. 4ª Semana Matemática Introdução a Programação no MATLAB. Currículo Resumido. 2003.1 - Graduando em Engenharia Elétrica; 2004.1 a 2006.2 - Monitor de Cálculo 1 pelo DME; 2007 – Membro do Projeto Olhos Digitais;
E N D
UNIVERSIDADE FEDERAL DE CAMPINA GRANDE 4ª Semana Matemática Introdução a Programação no MATLAB Galdino, J.F
Currículo Resumido 2003.1 - Graduando em Engenharia Elétrica; 2004.1 a 2006.2 - Monitor de Cálculo 1 pelo DME; 2007 – Membro do Projeto Olhos Digitais; 2007 – Participação no IV Encontro de Extensão da UFCG (Atual) - Monitor Voluntário do Laboratório de Princípios de Comunicações; (Atual) – Professor Voluntário de Matemática do PVS (Pré Vestibular Solidário) 2007. E-mail: josenildofg@gmail.com
Sumário • Introdução ao MATLAB • Estruturas de Controle • Arquivos de Comando M-File • Funções de Entrada e Saída • Introdução a Funções MATLAB • Toolboxes • Toolbox de Matemática Simbólica • Programas em MATLAB
Introdução ao MATLAB • MATLAB(MATrix LABoratory): Programa de computador especializado e otimizado para cálculos científicos e de engenharia. • Surgiu em 1970 com o intuito de auxiliar os cursos de Teoria Matricial, Álgebra Linear e Analise Numérica.
Introdução ao MATLAB • Vantagens • Facilidade de Uso • Independência de Plataforma • Funções Predefinidas • Interface Gráfica de Usuário • Compilador MATLAB • Desvantagens • Linguagem Interpretada • Custo
Navegador de Ajuda Espaço de Lançamento Janela de Comandos MATLAB Navegador de Diretório Corrente Janela de Histórico de Comandos
Introdução ao Matlab • Informação do Sistema: >>computer >>version >>ver >>license
Introdução ao Matlab • Comandos básicos: >>who -- Lista as variáveis. >>whos -- Lista e especifica as variáveis. >>clc -- Limpa a Janela de Comandos. >>clf -- Limpa figura atual >>clear -- Deleta variáveis do workspace MATLAB. >>help -- Ajuda do Matlab, documentação. >>help elfun – Lista funções do MATLAB
Operadores Aritméticos Forma Geral: A op B + Soma Estrutural e Matricial - Subtração Estrutural e Matricial * Multiplicação Matricial / Divisão Matricial à Direita \ Divisão Matricial à Esquerda ^ Expoente Matricial ‘ Operador de Transposição
Operadores Aritméticos • A + B 0 2 2 2 • A – B 2 -2 2 0 • A + C Operação ilegal • A + D 6 5 7 6
Operadores Aritméticos • A * B -1 2 2 5 • A * C 3 8 • A .* B -1 0 0 1 • A .* C Operação ilegal
Operadores Aritméticos • A / B -1 2 -2 5 • A \ B -1 2 2 -3 • A ./ B -1 0 Inf 1 • A .\ B -1 Inf 0 1
Operadores Relacionais • Forma geral A op B A e B: Operandos. Pode ser uma matriz, um escalar ou uma cadeia de caracteres. Op: Operador
Operadores Relacionais • Os operadores <, <=, > e >= são usados para comparar a parte real dos operandos. • Os operadores == e ~= são usados para comparar a partereale imaginária dos operandos.
Operadores Relacionais ExpressãoResultado 5 > 3 1 ´AC’ > ‘BA´ 0 1 a > b 1 0 1 + j <= 2 + 3*j 1 x >= [3 8] 1 0 a > c 0 1 2 + j == 1+ j 0 5 + j ~= 2 + j 1 a = [2 1] b = [ 1 1 ] c = [ 0 2 ] x = [ 4 2]
Operadores Lógicos Operação Lógica Binária Operação Lógica Unária A op B opA
Operadores Lógicos • O MATLAB utiliza a lógica positiva, ou seja, assume-se o valor verdadeiro se ele for diferente de zero e falso se ele for igual a zero.
Operadores Lógicos • Tabela da Verdade para Operadores Lógicos
Precedência dos operadores • Os operadores aritméticos são avaliados primeiro. • Os operadores relacionais são avaliados da esquerda para a direita. • Todos os operadores ~ são avaliados. • Todos os operadores & são avaliados. • Todos os operadores I são avaliados. OBS: Sempre use parênteses para indicar a ordem correta desejada de avaliação de uma expressão.
Operadores Lógicos Expressão Resultado ~A 0 A l B 1 B l C 1 3 > 4 & 1 0 3 > (4 & 1) 1 ~C 0 A l B & C 1 A & C 1 B & C 0 A = 1, B = 0 e C = -10
Operadores Lógicos -Exercícios Expressão ~A A l B B l C 3 > 4 & 1 3 > (4 & 1) ~C A l B & C A & C B & C Resultado 0 1 1 0 1 0 1 1 0
Estruturas de Controle • Controle de Fluxo O controle de fluxo é um recurso que permite que resultados anteriores influenciem operações futuras. Como em outras linguagens, o MatLab possui recursos que permitem o controle de fluxo de execução de comandos, com base em estruturas de tomada de decisões. Será apresentado as seguintes estruturas de controle: • if • if-else • switch • while • for
Estruturas de Controle • Simbologia Inicio e fim de uma estrutura de uma controle Símbolo de decisão Indica que ações serão executadas
Estruturas de Controle • Algoritmo Série de ações executadas em uma ordem especifica. • Pseudocódigo • Linguagem artificial e informal de representar o código de um programa. • Útil para desenvolver algoritmos que serão convertidos em programas estruturados no Matlab.
Estruturas de Controle if Estrutura de seleção para escolha de cursos de ação específicos. A estrutura de seleção if executa uma ação indicada só quando a condição é true (Verdadeira); caso contrário, a ação é saltada.
Estruturas de Controle if Testa a condição Verdadeira Condição Executa uma ação Falsa
Estruturas de Controle • Pseudocódigo Se a nota do estudante for maior ou igual que 7.0 Imprima “Aprovado” • Código no Matlab ifnota >= 7 fprintf(‘Aprovado’); end
Estruturas de Controle If-else Testa a condição Verdadeira Falsa Condição Executa uma ação Executa uma ação
Estruturas de Controle • Pseudocódigo Se a nota do estudante for maior ou igual que 7.0 Imprima “Aprovado” senão Imprima “Reprovado” • Código no Matlab ifnota >= 7 fprintf(‘Aprovado’); else fprintf(‘Reprovado’); end
Estruturas de controle Laços são construções MATLAB que nos permitem executar uma sequência de declarações mais de uma vez. Existem dois tipos de laços: • while • for
Estruturas de controle while: é um bloco de declarações que se repete indefinidamente, enquanto uma condição for satisfeita. A forma geral do while é: while expressão ... ... Bloco de código ... end
Estruturas de Controle while Testa a condição Verdadeira Condição Executa uma ação Falsa
Estruturas de Controle • switch • Estrutura de seleção múltipla. • Consiste de uma série de rótulos case e um otherwise.
Estrutura de Controle Verdadeiro Ação(ões) do case a Case (‘a’) Falso Case (‘b’) Verdadeiro Ação(ões) do case b Falso . . Falso Otherwise
Estruturas de Controle • Laço for : Executa um bloco de declarações durante um número especificado de vezes. for indice = expressão Declaração 1 .... Corpo Declaração n end
Estrutura de Controle n: número de iterações do laço for cont: variável de controle cont = 1 Inicialização da variável de controle cont = 2 cont = 3 Verdadeiro cont <= n Corpo do laço cont = cont + 1 Falso
Estruturas de Controle • Exemplo: Calcular a soma dos 10 primeiros inteiros. soma = 0; % Inicializa a variável soma com zero for k = 1:10 soma = soma + k; end fprintf('A soma dos dez primeiros inteiros eh: %.2f', soma);
Estruturas de Controle • Exemplo: Calcular o fatorial de um número n. n = 5; fatorial = 1; % Inicializa a variável soma com zero for k = 1:n % Laço de repetição: n vezes fatorial = fatorial*k; % Cálculo do fatorial end fprintf(‘O fatorial de %.2f eh %.2f', n, fatorial);
Estruturas de Controle • Exemplo: Calcular a soma dos 5 primeiros inteiros impares. soma = 0; % Inicializa a variável soma com zero for k = 1:2:9 soma = soma + k; end fprintf('A soma dos 5 primeiros inteiros impares eh: %.2f', soma);
Estruturas de Controle for X while • while: utilizado para repetir um trecho de código quando não é desconhecido o número de iterações do laço. • for: utilizado para repetir um trecho de código quando é conhecido o número de iterações do laço.
Estruturas de Controle • Break • Usada para controlar a operação dos laços for e while • Encerra a execução do laço e passa o controle para a próxima declaração logo após o fim do laço.
Estruturas de Controle % Uso do break for k = 1:5 if k == 3; break; end fprintf(‘k = %d\n’, k); end disp(‘Fim do laço!’);
Estruturas de Controle k = 1 k = 2 Fim do laço!
Estruturas de Controle • Continue • Usada para controlar a operação dos laços for e while • Termina a passagem corrente pelo laço e retorna o controle para o inicio do laço.
Estruturas de Controle % Uso do continue for k = 1:5 if k == 3; continue; end fprintf(‘k = %d\n’, k); end disp(‘Fim do laço!’);
Estruturas de Controle k = 1 k = 2 k = 4 k = 5 Fim do laço!