Baixe o app para aproveitar ainda mais
Prévia do material em texto
CÁLCULO NUMÉRICO - EAMB018 / ECIV019 - Período Letivo: 2013-1 Carga Horária: 60h Horários: 2ª feira (11:10 – 12:50) 4ª feira (11:10 – 12:50) Professor: Eduardo Toledo de Lima Junior limajunior@lccv.ufal.br 1. INTRODUÇÃO AO MATLAB Algoritmos / Linguagem Um algoritmo é escrito em PSEUDOCÓDIGO. Posteriormente, o algoritmo será implementado em uma determinada LINGUAGEM DE PROGRAMAÇÃO, ou seja, escreveremos um código (programa) em uma determinada linguagem de programação. E A M B 0 1 8 / E C IV 0 1 9 - C á lc u lo N u m é ri c o Um algoritmo é escrito em PSEUDOCÓDIGO. Posteriormente, o algoritmo será implementado em uma determinada LINGUAGEM DE PROGRAMAÇÃO, ou seja, escreveremos um código (programa) em uma determinada linguagem de programação. Um algoritmo é independente da linguagem de programação que se pretende utilizar. Ele deve ser fácil de se interpretar e de codificar. LINGUAGEM HUMANA LINGUAGEM DE MÁQUINA LINGUAGEM DE PROGRAMAÇÃO PALAVRAS RESERVADAS e NOTAÇÃO MATEMÁTICA E A M B 0 1 8 / E C IV 0 1 9 - C á lc u lo N u m é ri c o 1. INTRODUÇÃO AO MATLAB Algoritmos / Linguagem COMPILADOR: Programa especial para fazer esta “tradução” LINGUAGEM DE MÁQUINA LINGUAGEM DE PROGRAMAÇÃO Linguagens de programação: Fortran, C, C++, Pascal, Cobol, Java, MATLAB E A M B 0 1 8 / E C IV 0 1 9 - C á lc u lo N u m é ri c o 1. INTRODUÇÃO AO MATLAB Algoritmos / Linguagem COMPILADOR: Programa especial para fazer esta “tradução” LINGUAGEM DE MÁQUINA LINGUAGEM DE PROGRAMAÇÃO Linguagens de programação: Fortran, C, C++, Pascal, Cobol, Java, MATLAB O MATLAB INCORPORA AS CARACTERÍSTICAS DE LINGUAGEM DE PROGRAMAÇÃO E TAMBÉM DE COMPILADOR. É EXTREMAMENTE ADEQUADO PARA UTILIZAÇÃO EM NÍVEL DE GRADUAÇÃO PARA ENGENHARIA. E A M B 0 1 8 / E C IV 0 1 9 - C á lc u lo N u m é ri c o 1. INTRODUÇÃO AO MATLAB Algoritmos / Linguagem estado de espera: aguardando um comando MATrix LABoratory (The Mathworks, Inc.): Poderoso software de computação, com ambiente de programação interativo. Mostra os objetos existentes no ambiente de trabalho Mostra o histórico dos comandos executados É a área de trabalho E A M B 0 1 8 / E C IV 0 1 9 - C á lc u lo N u m é ri c o 1. INTRODUÇÃO AO MATLAB Generalidades É uma linguagem de programação interpretada, ou seja, interpreta diretamente os comandos inseridos pelo usuário. Os comandos são finalizados teclando “enter”. -Os comandos de cálculo matemático básico inseridos na área de trabalho são diretamente avaliados, como numa calculadora. Hierarquia das operações: 1.potência 2. mult/div 3. adição/subtr - Comando de atribuição: Atribui um dado valor a uma variável - Uso da vírgula: Permite inserir vários comandos numa mesma linha >> 3*4-2 ans = 10 >> x = 17 ans = 17 >> a = 5, b = 3, c = 4 >> a*b+c ans = 19 E A M B 0 1 8 / E C IV 0 1 9 - C á lc u lo N u m é ri c o 1. INTRODUÇÃO AO MATLAB Generalidades >> a = 5; b = 3; c = 4; >> a*b+c ans = 19 - Uso do ponto e vírgula: Impede a exibição do valor inserido ou calculado - Visualização de variáveis já armazenadas - Verificação de variáveis já armazenadas -Apagar uma ou todas as variáveis armazenadas (apaga a variável c) >> a a = 5 >> who ans a b c >> clear c >> clear all E A M B 0 1 8 / E C IV 0 1 9 - C á lc u lo N u m é ri c o 1. INTRODUÇÃO AO MATLAB Generalidades - Inserir um comentário (não será avaliado pelo MATLAB, apenas um comentário) - Limpar a tela -Comando de ajuda - Demonstração das potencialidades do programa >> % A variável b tem valor inicial 5 >> a = 5; b = 3; >> clc >> help >> demo E A M B 0 1 8 / E C IV 0 1 9 - C á lc u lo N u m é ri c o 1. INTRODUÇÃO AO MATLAB Generalidades Informações digitadas na janela de comando do MATLAB são voláteis. Ao fechar o programa, elas se perdem. Para guardar informações e criar programas que podem ser salvos num dispositivo de armazenamento, usa-se um arquivo reservado do MATLAB, com extensão .m. São arquivos de texto simples, que salvos ou criados em formato .m são interpretados e executados pelo MATLAB. Na janela principal do MATLAB, digita-se edit, ou no menu file -> new m file. Abre-se então o editor de arquivos do matlab e cria-se um script. E A M B 0 1 8 / E C IV 0 1 9 - C á lc u lo N u m é ri c o 1. INTRODUÇÃO AO MATLAB Generalidades Informações digitadas na janela de comando do MATLAB são voláteis. Ao fechar o programa, elas se perdem. Para guardar informações e criar programas que podem ser salvos num dispositivo de armazenamento, usa-se um arquivo reservado do MATLAB, com extensão .m. São arquivos de texto simples, que salvos ou criados em formato .m são interpretados e executados pelo MATLAB. Na janela principal do MATLAB, digita-se edit, ou no menu file -> new m file. Abre-se então o editor de arquivos do matlab e cria-se um script. Comandos úteis num script -Comando de entrada de dados: M = input(‘digite a massa em kg’) Alt = input(‘digite a altura em m’) -Comando de saída de dados: disp(‘O valor do I.M.C. é’) disp(IMC) E A M B 0 1 8 / E C IV 0 1 9 - C á lc u lo N u m é ri c o 1. INTRODUÇÃO AO MATLAB Generalidades E Q U I0 0 6 - I n tr o d u ç ã o à C o m p u ta ç ã o Na linguagem MATLAB, não existe uma diferença entre números inteiros e reais. Eles são tratados de uma mesma forma como variáveis numéricas. Variáveis no MATLAB 1. INTRODUÇÃO AO MATLAB a = 5; %variável numérica x = 8.34; %variável numérica s = ‘c’; %caractere l = VERDADEIRO; %variável lógica V = ‘casa’ %sequência de caracteres (string) E Q U I0 0 6 - I n tr o d u ç ã o à C o m p u ta ç ã o Na linguagem MATLAB, não existe uma diferença entre números inteiros e reais. Eles são tratados de uma mesma forma como variáveis numéricas. Além disso, o MATLAB não requer a declaração prévia dessas variáveis. Isso é feito implicitamente quando a variável está sendo usada pela primeira vez no programa computacional. ! ! Variáveis no MATLAB s = ‘2’; %caractere s = 2 ; %numérica 1. INTRODUÇÃO AO MATLAB a = 5; %variável numérica x = 8.34; %variável numérica s = ‘c’; %caractere l = VERDADEIRO; %variável lógica V = ‘casa’ %sequência de caracteres (string) E Q U I0 0 6 - I n tr o d u ç ã o à C o m p u ta ç ã o Na linguagem MATLAB, não existe uma diferença entre números inteiros e reais. Eles são tratados de uma mesma forma como variáveisnuméricas. Além disso, o MATLAB não requer a declaração prévia dessas variáveis. Isso é feito implicitamente quando a variável está sendo usada pela primeira vez no programa computacional. ! ! REGRAS PARA CRIAÇÃO DE IDENTIFICADORES DE VARIÁVEIS EM GERAL NO MATLAB Sem espaços em branco Maiúscula Minúscula Deve ser iniciado com letra Sem palavras-chave (reservadas) Sem caracteres especiais Variáveis no MATLAB s = ‘2’; %caractere s = 2 ; %numérica 1. INTRODUÇÃO AO MATLAB E Q U I0 0 6 - I n tr o d u ç ã o à C o m p u ta ç ã o Os operadores permitem combinar variáveis e constantes, formando uma expressão que pode ser avaliada e resultar em um valor. Operadores e Expressões Operador de Atribuição: Permite atribuir valor a uma variável (=). Comando de atribuição: Envolve uma constante e uma variável, ou duas constantes. a = 5 x = -8.34 b = c 1. INTRODUÇÃO AO MATLAB a = 5+b xd = sqrt(b) s = ‘c’ T=s+3 E Q U I0 0 6 - I n tr o d u ç ã o à C o m p u ta ç ã o Os operadores permitem combinar variáveis e constantes, formando uma expressão que pode ser avaliada e resultar em um valor. Operadores e Expressões Operador de Atribuição: Permite atribuir valor a uma variável (=). Comando de atribuição: Envolve uma constante e uma variável, ou duas constantes. Operadores aritméticos: São os operadores que representam as operações básicas da matemática (+, -, *, /, ^, mod, div, sqrt). Expressões aritméticas: Expressão cujos operadores são aritméticos e cujos operandos são constantes ou variáveis do tipo numérico (inteiro ou real) Prioridade entre os operadores 1. Parênteses mais internos 2. ^ sqrt 3. * / div mod 4. + - a = 5 x = -8.34 b = c mod é o operador resto da divisão div é o operador quociente da divisão 9 mod 4 = 1 9 div 4 = 2 1. INTRODUÇÃO AO MATLAB a == 3 d == 6 (a+d)>4 E Q U I0 0 6 - I n tr o d u ç ã o à C o m p u ta ç ã o Operadores e Expressões Operadores relacionais: São os operadores que permitem comparações entre dois valores (constantes, variáveis ou expressões aritméticas) do mesmo tipo primitivo. O resultado de uma operação relacional é sempre um valor lógico. No MATLAB é zero ou um, que correspondem aos resultados FALSO e VERDADEIRO, respectivamente. No MATLAB, os operadores são expressos por menor que menor ou igual que maior que maior ou igual que igual a operador de atribuição diferente de Expressões relacionais: Expressão cujos operadores são relacionais e cujos operandos são relações, variáveis ou constantes de tipo lógico. < <= > >= == ~= = 1. INTRODUÇÃO AO MATLAB E Q U I0 0 6 - I n tr o d u ç ã o à C o m p u ta ç ã o Operadores e Expressões Operadores lógicos: São os operadores que permitem compor operações lógicas compostas. No MATLAB, os operadores são expressos por e ou não Expressões lógicas: Expressão cujos operadores são lógicos ou relacionais e cujos operandos são relações, variáveis ou constantes de tipo lógico. & | ~ A não A Falso Verdadeiro Verdadeiro Falso A B A & B F F F F V F V F F V V V A B A ou B F F F F V V V F V V V V 2 < 5 & 15/3 == 5 V 1. INTRODUÇÃO AO MATLAB E Q U I0 0 6 - I n tr o d u ç ã o à C o m p u ta ç ã o As estruturas de controle de fluxo são fundamentais para qualquer linguagem de programação. São estruturas que alteram o fluxo de execução do programa. A mais simples delas é a estrutura sequencial, que foi utilizada até agora. Consiste num fluxo direto de execução dos comandos na sequência em que estão dispostos no código. Exemplo: Calcular a média aritmética de quatro notas bimestrais quaisquer fornecidas por um aluno. %Entrada de dados N1 = input(‘Entre com a nota 1: ’); N2 = input(‘Entre com a nota 2: ’); N3 = input(‘Entre com a nota 3: ’); N4 = input(‘Entre com a nota 4: ’); %Calculo da media MA = (N1+N2+N3+N4)/4; %Impressao do resultado disp(‘A media e: ’); disp(MA); 1. INTRODUÇÃO AO MATLAB Estruturas de Controle Exemplo: O cálculo do ponto de interseção entre duas retas pode ser obtido igualando-se as suas equações. Baseado nessa informação, fazer um programa que leia os coeficientes das equações das retas e calcule o ponto de interseção. As retas são definidas pelas equações y = Ax+B e y = Cx + D. Imprimir o resultado. E Q U I0 0 6 - I n tr o d u ç ã o à C o m p u ta ç ã o 1. INTRODUÇÃO AO MATLAB Estruturas de Controle Exemplo: O cálculo do ponto de interseção entre duas retas pode ser obtido igualando-se as suas equações. Baseado nessa informação, fazer um programa que leia os coeficientes das equações das retas e calcule o ponto de interseção. As retas são definidas pelas equações y = Ax+B e y = Cx + D. Imprimir o resultado. %Programa para calculo ponto de interseccao entre retas %Entrada de dados A = input(‘Coeficiente A: ‘); B = input(‘Coeficiente B: ‘); C = input(‘Coeficiente C: ‘); D = input(‘Coeficiente D: ‘); %Calculo do ponto de interseccao x = (D-B)/(A-C); y = Ax + B; %Impressao dos resultados disp(‘Coordenada X: ‘); disp(x); disp(‘Coordenada Y: ‘); disp(y) E Q U I0 0 6 - I n tr o d u ç ã o à C o m p u ta ç ã o 1. INTRODUÇÃO AO MATLAB Estruturas de Controle E Q U I0 0 6 - I n tr o d u ç ã o à C o m p u ta ç ã o As estruturas de seleção (condicionais) permitem a escolha de um grupo de comandos a serem executados quando determinadas condições são ou não satisfeitas (verdadeiro ou falso). a) Seleção simples: consiste no teste de uma determinada condição antes de executar uma ação Exemplo: Calcular a média aritmética de quatro notas bimestrais de um aluno, verificando sua aprovação, sabendo que a media mínima exigida é 7. %Programa para calculo de media verificando aprovacao N1 = input(‘Entre com a nota 1: ’); N2 = input(‘Entre com a nota 2: ’); N3 = input(‘Entre com a nota 3: ’); N4 = input(‘Entre com a nota 4: ’); %Calculo da media MA = (N1+N2+N3+N4)/4; disp(‘A media e:’); disp(MA) %Verificacao de aprovacao e impressao do conceito if(MA>=7) disp(‘Aluno aprovado!’) end 1. INTRODUÇÃO AO MATLAB Estruturas de Controle Exemplo: Calcular a média aritmética de quatro notas bimestrais de um aluno, verificando sua aprovação e reprovacao, sabendo que a media mínima exigida é 7. %Programa para calculo de media verificando aprovacao N1 = input(‘Entre com a nota 1: ’); N2 = input(‘Entre com a nota 2: ’); N3 = input(‘Entre com a nota 3: ’); N4 = input(‘Entre com a nota 4: ’); %Calculo da media MA = (N1+N2+N3+N4)/4; disp(‘A media e:’); disp(MA) %Verificacao de aprovacao e impressao do conceito if(MA>=7) disp(‘Aluno aprovado!’) else disp(‘Aluno reprovado!’) end E Q U I0 0 6 - I n tr o d u ç ã o à C o m p u ta ç ã o b) Seleção composta: quando tivermos situaçõesem que duas alternativas dependem de uma mesma condição (da condição ser verdadeira ou falsa) 1. INTRODUÇÃO AO MATLAB Estruturas de Controle E Q U I0 0 6 - I n tr o d u ç ã o à C o m p u ta ç ã o c) Seleção encadeada: quando houver necessidade de agruparmos várias seleções de forma encadeada. Exemplo: Calcular a média aritmética de quatro notas bimestrais de um aluno, verificando sua aprovação, possibilidade de ir à prova final e reprovação. Nota mínima pra ir à final=5. %Programa para calculo de media verificando aprovacao, chance de fazer final e reprovacao %Entrada de dados N1 = input(‘Entre com a nota 1: ’); N2 = input(‘Entre com a nota 2: ’); N3 = input(‘Entre com a nota 3: ’); N4 = input(‘Entre com a nota 4: ’); %Calculo da media MA = (N(1)+N(2)+N(3)+N(4))/4; %Impressao do valor da media disp(‘A media e: ’); disp(MA); %Verificacao e impressao do conceito if(MA>=7) disp(‘Aluno aprovado!’) elseif(MA<5) disp(‘Aluno reprovado!’) else disp(‘Aluno na prova final!’) end 1. INTRODUÇÃO AO MATLAB Estruturas de Controle E Q U I0 0 6 - I n tr o d u ç ã o à C o m p u ta ç ã o d) Seleção de múltipla escolha: Forma alternativa de fazer a seleção encadeada if-else-if. A seleção de múltipla escolha compara um dado valor a constantes, desviando o fluxo de código para o ponto indicado pela primeira constante onde há correspondência. Cada constante indica uma condição a ser verificada, pela comparacao com o valor dado. 1. INTRODUÇÃO AO MATLAB Estruturas de Controle Exemplo: Construir um o algoritmo para reajustar o salário de acordo com o cargo de um funcionário. Se for técnico, aumentar o salário em 50%, se for gerente, aumentar em 30% e se for outro cargo, aumentar em 20%. %Programa para calculo de reajuste de acordo com cargo %Entrada de dados S = input(‘Digite o salario atual: ’); F = input(‘Digite o codigo do cargo(1-tecnico,2- gerente,3-outro’); switch(F) case 1 SR=S*1.5; disp(‘valor do salario reajustado’);disp(SR); case 2 SR=S*1.3; disp(‘valor do salario reajustado’);disp(SR); case 3 SR=S*1.2; disp(‘valor do salario reajustado’);disp(SR); otherwise disp(‘o codigo de cargo digitado e invalido’) end E Q U I0 0 6 - I n tr o d u ç ã o à C o m p u ta ç ã o 1. INTRODUÇÃO AO MATLAB Estruturas de Controle E Q U I0 0 6 - I n tr o d u ç ã o à C o m p u ta ç ã o As estruturas de repetição permitem que uma sequência de comandos contida num determinado trecho do código seja executada repetidas vezes, sem a necessidade de reescrever esse trecho. a) Repetição definida: O número de repetições é finito, definido no início do bloco Exemplo: Calcular a média bimestral de 10 alunos, sabendo que esta é calculada como sendo: 30% do valor da nota do trabalho e 70% do valor da nota da prova. for i=1:10 %Entrada de dados N1=input(‘Digite a nota do trabalho’); N2=input(‘Digite a nota da prova’); %Calculo da media MA = 0.3*N1+0.7*N2; %Impressao do valor da media disp(‘A media do aluno’);disp(i);disp(‘é’);disp(MA); end 1. INTRODUÇÃO AO MATLAB Estruturas de Controle E Q U I0 0 6 - I n tr o d u ç ã o à C o m p u ta ç ã o **Uso de variáveis acumuladoras Exemplo: Calcular a média anual de uma turma de 20 alunos. 1. INTRODUÇÃO AO MATLAB Estruturas de Controle E Q U I0 0 6 - I n tr o d u ç ã o à C o m p u ta ç ã o **Uso de variáveis acumuladoras Exemplo: Calcular a média anual de uma turma de 20 alunos. %Acumulador Soma=0; for i=1:20 %Entrada de dados M=input(‘Digite a media do aluno’); %Calculo da media Soma = Soma+M; end Media=Soma/20; %Impressao do valor da media da turma disp(‘A media anual da turma e’);disp(Media); 1. INTRODUÇÃO AO MATLAB Estruturas de Controle E Q U I0 0 6 - I n tr o d u ç ã o à C o m p u ta ç ã o b) Repetição indefinida: são estruturas onde não se conhece, a priori, quantas execuções serão realizadas. Exemplo: Calcular o valor de f(x)=x^2+2 até que f(x) seja maior que 20. %Inicializacao de dados F=0; while(F<=20) %Entrada de dados x = input(‘Entre com x: ’); F = x^2+2; %Impressao do valor da funcao disp(F); end 1. INTRODUÇÃO AO MATLAB Estruturas de Controle elemento numérico caracteres variável elemento variável Os elementos de um vetor V são acessados por V(i) *String é uma variável composta homogênea, formada por caracteres. As variáveis compostas homogêneas unidimensionais são comumente chamadas de VETORES (matrizes linha ou matrizes coluna). E Q U I0 0 6 - I n tr o d u ç ã o à C o m p u ta ç ã o Vetores e Matrizes 3 8.5 7 5 Caracteres C A R R O 1. INTRODUÇÃO AO MATLAB Exemplo: Criar um programa que gere os n primeiros termos da série de Fibonacci 1,1,2,3,5,8,13,21,... E Q U I0 0 6 - I n tr o d u ç ã o à C o m p u ta ç ã o 1. INTRODUÇÃO AO MATLAB Vetores e Matrizes Exemplo: Criar um programa que gere os n primeiros termos da série de Fibonacci 1,1,2,3,5,8,13,21,... %Entrada de dados n = input(‘Deseja gerar a serie até que termo?’); S(1)=1; S(2)=1; for i=3:n S(i)=S(i-1)+S(i-2); end disp(‘Os termos da serie sao’) disp(S) E Q U I0 0 6 - I n tr o d u ç ã o à C o m p u ta ç ã o 1. INTRODUÇÃO AO MATLAB Vetores e Matrizes Criando gráficos no MATLAB: Comando plot cria gráficos bidimensionais, com sintaxe plot(x,y), onde x e y são vetores contendo os valores de abcissa e ordenada do gráfico. >> a = 1:7 a = 1 2 3 4 5 6 7 >> b = a.^2 b = 1 4 9 16 25 36 49 >> plot(a,b) E Q U I0 0 6 - I n tr o d u ç ã o à C o m p u ta ç ã o 1. INTRODUÇÃO AO MATLAB Vetores e Matrizes E Q U I0 0 6 - I n tr o d u ç ã o à C o m p u ta ç ã o Exemplo: Gerar o grafico da função y = sin(x), para o intervalo 0≤x≤4pi. x=0:pi/30:4*pi; y=sin(x); plot(x,y) 0 2 4 6 8 10 12 14 -1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1 1. INTRODUÇÃO AO MATLAB Vetores e Matrizes variável matriz elemento Os elementos de uma matriz M bidimensional são acessados por M(i,j) obs: - Uma matriz pode ser entendida como um conjunto de vetores - Para manipularmos um vetor, basta um laço de repetição - Para manipularmos uma matriz, são necessários “n” laços de repetição, sendo “n’ a dimensão da matriz NO MATLAB A = [1 2 3;4 5 6] E Q U I0 0 6 - I n tr o d u ç ã o à C o m p u ta ç ã o 1 4 5 3 1. INTRODUÇÃO AO MATLAB Vetores e MatrizesE Q U I0 0 6 - I n tr o d u ç ã o à C o m p u ta ç ã o 1. INTRODUÇÃO AO MATLAB Vetores e Matrizes Exemplo: Fazer um programa que leia 2 matrizes 2x3 e calcule uma terceira matriz dada pela expressão R = 2*At-Bt. for i = 1:1:2 for j = 1:1:3 A(i,j) = input(‘A: ’); end end for i = 1:1:2 for j = 1:1:3 B(i,j) = input(‘B: ’); end end for i = 1:1:2 for j = 1:1:3 AT(j,i) = A(i,j); BT(j,i) = B(i,j); end end for i = 1:1:3 for j = 1:1:2 R(i,j) = 2*AT(i,j) – BT(i,j); end end disp( R ); E Q U I0 0 6 - I n tr o d u ç ã o à C o m p u ta ç ã o 1. INTRODUÇÃO AO MATLAB Vetores e Matrizes Exemplo: Fazer um programa que calcule o produto de duas matrizes A e B, sabendo que A é 3x2 e B é 2x4. for i = 1:1:3 for j = 1:1:2 disp(‘linha’);disp(i) disp(‘coluna’);disp(j) A(i,j) = input(‘A: ‘); end end for i = 1:1:2 for j = 1:1:4 disp(‘linha’);disp(i) disp(‘coluna’);disp(j) B(i,j) = input(‘B: ‘); end end for i = 1:1:3 for j = 1:1:4 C(i,j) = 0; for k = 1:1:2 C(i,j) = C(i,j) + A(i,k) * B(k,j); end end end E Q U I0 0 6 - I n tr o d u ç ã o à C o m p u ta ç ã o Módulos (Funções) SCRIPT x FUNÇÃO Entrada de dados convencional (script) do ex. 01 func.nome = input(‘Nome: ’, ‘s’); func.ano = input(‘Ano: ’); func.sal_mes = input(‘Salario Mensal: ’); func.sal_ano = input(‘Salario Anual: ’); Entrada de dados usando função do ex. 01 function f = entrada f.nome = input(‘Nome: ’, ‘s’); f.ano = input(‘Ano: ’); f.sal_mes = input(‘Salario Mensal: ’); f.sal_ano = input(‘Salario Anual: ’); 1. INTRODUÇÃO AO MATLAB E Q U I0 0 6 - I n tr o d u ç ã o à C o m p u ta ç ã o Módulos (Funções) Alguns detalhes que devem ser observados no MATLAB: • Uma função é identificada pela palavra-chave function; • Todas funções têm um nome associado. Neste exemplo, o nome é entrada; • Cada função deve ser armazenada em um arquivo .m separado (um arquivo para cada função); • O nome do arquivo deve ser igual ao nome da função armazenada nele. No exemplo acima, o arquivo deve se chamar entrada.m; • A variável f, que é um registro, só é válida dentro da função entrada. Dizemos que ela é uma variável local. Ou seja, todas as variáveis criadas dentro de uma função só podem ser usadas na própria função. Elas não existem fora deste contexto. 1. INTRODUÇÃO AO MATLAB E Q U I0 0 6 - I n tr o d u ç ã o à C o m p u ta ç ã o Módulos (Funções) Até agora, já usamos diversas funções pré-definidas pelo próprio MATLAB... plot disp input sqrt mod log sen cos . . . 1. INTRODUÇÃO AO MATLAB function [lista de variáveis de saída] = nome (lista de variáveis de entrada) ...instruções para inicialização de variáveis ...instruções de execução ... E Q U I0 0 6 - I n tr o d u ç ã o à C o m p u ta ç ã o Módulos (Funções) Sintaxe no MATLAB valores de retorno (opcionais) argumentos(opcionais) palavra-chave (obrigatória) nome da função (obrigatório) Argumentos são as variáveis de entrada que as funções vão receber. É por meio delas que as funções recebem dados. 1. INTRODUÇÃO AO MATLAB Valores de retorno são as variáveis de saída que as funções vão disponibilizar para outras aplicações. E Q U I0 0 6 - I n tr o d u ç ã o à C o m p u ta ç ã o Módulos (Funções) % arquivo ‘produto.m’ function c=produto(a,b) c = a*b; % arquivo ‘imprime.m’ function imprime (a,b,c) disp(a); disp(b); disp(c); % arquivo principal: ‘teste.m’ x = input(‘Numero: ‘); y = input(‘Numero: ‘); z=produto(x,y); imprime(x,y,z); a, b e c são variáveis locais da função produto a, b e c são variáveis locais da função imprime essas variáveis podem conter valores diferentes em ambas as funçoes x, y e z são variáveis locais do módulo principal teste z armazena uma cópia do valor de retorno da função produto 1. INTRODUÇÃO AO MATLAB
Compartilhar