• software matlab – características gerais • apresentação da interface • variáveis,...
TRANSCRIPT
![Page 1: • Software matlab – características gerais • Apresentação da interface • Variáveis, funções e comandos básicos • Linguagem de programação Matlab](https://reader038.vdocuments.com.br/reader038/viewer/2022102618/552fc140497959413d8de948/html5/thumbnails/1.jpg)
Matlab
Mini CursoPET 2012
![Page 2: • Software matlab – características gerais • Apresentação da interface • Variáveis, funções e comandos básicos • Linguagem de programação Matlab](https://reader038.vdocuments.com.br/reader038/viewer/2022102618/552fc140497959413d8de948/html5/thumbnails/2.jpg)
Introdução
• Software matlab – características gerais
• Apresentação da interface
• Variáveis, funções e comandos básicos
• Linguagem de programação Matlab
![Page 3: • Software matlab – características gerais • Apresentação da interface • Variáveis, funções e comandos básicos • Linguagem de programação Matlab](https://reader038.vdocuments.com.br/reader038/viewer/2022102618/552fc140497959413d8de948/html5/thumbnails/3.jpg)
Interface - Current Folder
• Mostra todos os arquivos atuais na pasta Matlab;
![Page 4: • Software matlab – características gerais • Apresentação da interface • Variáveis, funções e comandos básicos • Linguagem de programação Matlab](https://reader038.vdocuments.com.br/reader038/viewer/2022102618/552fc140497959413d8de948/html5/thumbnails/4.jpg)
Interface - Command History
• Mostra o histórico de todos os comandos realizados na command window
![Page 5: • Software matlab – características gerais • Apresentação da interface • Variáveis, funções e comandos básicos • Linguagem de programação Matlab](https://reader038.vdocuments.com.br/reader038/viewer/2022102618/552fc140497959413d8de948/html5/thumbnails/5.jpg)
Interface - Workspace
• Mostra todas as variáveis criadas e seus respectivos tipos
![Page 6: • Software matlab – características gerais • Apresentação da interface • Variáveis, funções e comandos básicos • Linguagem de programação Matlab](https://reader038.vdocuments.com.br/reader038/viewer/2022102618/552fc140497959413d8de948/html5/thumbnails/6.jpg)
Interface - Command Window
• Terminal e janela de realização de comandos individualmente
![Page 7: • Software matlab – características gerais • Apresentação da interface • Variáveis, funções e comandos básicos • Linguagem de programação Matlab](https://reader038.vdocuments.com.br/reader038/viewer/2022102618/552fc140497959413d8de948/html5/thumbnails/7.jpg)
Interface - Editor
• Janela de criação de programas e funções Matlab
![Page 8: • Software matlab – características gerais • Apresentação da interface • Variáveis, funções e comandos básicos • Linguagem de programação Matlab](https://reader038.vdocuments.com.br/reader038/viewer/2022102618/552fc140497959413d8de948/html5/thumbnails/8.jpg)
Variáveis, funções e comandos básico
• Variáveis sempre definidas como matrizes de dimensão N
![Page 9: • Software matlab – características gerais • Apresentação da interface • Variáveis, funções e comandos básicos • Linguagem de programação Matlab](https://reader038.vdocuments.com.br/reader038/viewer/2022102618/552fc140497959413d8de948/html5/thumbnails/9.jpg)
Variáveis, funções ecomandos 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
![Page 10: • Software matlab – características gerais • Apresentação da interface • Variáveis, funções e comandos básicos • Linguagem de programação Matlab](https://reader038.vdocuments.com.br/reader038/viewer/2022102618/552fc140497959413d8de948/html5/thumbnails/10.jpg)
Variáveis, funções ecomandos básicos
• Mudar exibição das variáveis numéricas:• File -> Preferences -> Command Window-> Numeric Format
![Page 11: • Software matlab – características gerais • Apresentação da interface • Variáveis, funções e comandos básicos • Linguagem de programação Matlab](https://reader038.vdocuments.com.br/reader038/viewer/2022102618/552fc140497959413d8de948/html5/thumbnails/11.jpg)
Variáveis, funções ecomandos 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,
![Page 12: • Software matlab – características gerais • Apresentação da interface • Variáveis, funções e comandos básicos • Linguagem de programação Matlab](https://reader038.vdocuments.com.br/reader038/viewer/2022102618/552fc140497959413d8de948/html5/thumbnails/12.jpg)
Variáveis, funções ecomandos 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);
![Page 13: • Software matlab – características gerais • Apresentação da interface • Variáveis, funções e comandos básicos • Linguagem de programação Matlab](https://reader038.vdocuments.com.br/reader038/viewer/2022102618/552fc140497959413d8de948/html5/thumbnails/13.jpg)
Variáveis, funções ecomandos 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 = ~adisplay(a); //a = 0;
![Page 14: • Software matlab – características gerais • Apresentação da interface • Variáveis, funções e comandos básicos • Linguagem de programação Matlab](https://reader038.vdocuments.com.br/reader038/viewer/2022102618/552fc140497959413d8de948/html5/thumbnails/14.jpg)
Variáveis, funções ecomandos básicos - logical
![Page 15: • Software matlab – características gerais • Apresentação da interface • Variáveis, funções e comandos básicos • Linguagem de programação Matlab](https://reader038.vdocuments.com.br/reader038/viewer/2022102618/552fc140497959413d8de948/html5/thumbnails/15.jpg)
Variáveis, funções ecomandos básicos - logical
![Page 16: • Software matlab – características gerais • Apresentação da interface • Variáveis, funções e comandos básicos • Linguagem de programação Matlab](https://reader038.vdocuments.com.br/reader038/viewer/2022102618/552fc140497959413d8de948/html5/thumbnails/16.jpg)
Variáveis, funções ecomandos básicos - complexos
• Unidade imaginária: “i” ou “j”• Ex: a = 3 + 4*ia = 3.0000 + 4.0000i• Comandos:imag(a) = 4 real(a) = 3abs(a) = 5 angle(a) = 0.9273
![Page 17: • Software matlab – características gerais • Apresentação da interface • Variáveis, funções e comandos básicos • Linguagem de programação Matlab](https://reader038.vdocuments.com.br/reader038/viewer/2022102618/552fc140497959413d8de948/html5/thumbnails/17.jpg)
Variáveis, funções ecomandos 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.
![Page 18: • Software matlab – características gerais • Apresentação da interface • Variáveis, funções e comandos básicos • Linguagem de programação Matlab](https://reader038.vdocuments.com.br/reader038/viewer/2022102618/552fc140497959413d8de948/html5/thumbnails/18.jpg)
Variáveis, funções ecomandos 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
![Page 19: • Software matlab – características gerais • Apresentação da interface • Variáveis, funções e comandos básicos • Linguagem de programação Matlab](https://reader038.vdocuments.com.br/reader038/viewer/2022102618/552fc140497959413d8de948/html5/thumbnails/19.jpg)
Variáveis, funções ecomandos 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.
![Page 20: • Software matlab – características gerais • Apresentação da interface • Variáveis, funções e comandos básicos • Linguagem de programação Matlab](https://reader038.vdocuments.com.br/reader038/viewer/2022102618/552fc140497959413d8de948/html5/thumbnails/20.jpg)
Variáveis, funções ecomandos básicos
![Page 21: • Software matlab – características gerais • Apresentação da interface • Variáveis, funções e comandos básicos • Linguagem de programação Matlab](https://reader038.vdocuments.com.br/reader038/viewer/2022102618/552fc140497959413d8de948/html5/thumbnails/21.jpg)
Matrizes e Programação
• Declaração de vetores e matrizes
• Manipulação
• Funções
![Page 22: • Software matlab – características gerais • Apresentação da interface • Variáveis, funções e comandos básicos • Linguagem de programação Matlab](https://reader038.vdocuments.com.br/reader038/viewer/2022102618/552fc140497959413d8de948/html5/thumbnails/22.jpg)
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
![Page 23: • Software matlab – características gerais • Apresentação da interface • Variáveis, funções e comandos básicos • Linguagem de programação Matlab](https://reader038.vdocuments.com.br/reader038/viewer/2022102618/552fc140497959413d8de948/html5/thumbnails/23.jpg)
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 1a = [1:3 ; 4:6; 7:9] a = 1 2 3
4 5 6 7 8 9
![Page 24: • Software matlab – características gerais • Apresentação da interface • Variáveis, funções e comandos básicos • Linguagem de programação Matlab](https://reader038.vdocuments.com.br/reader038/viewer/2022102618/552fc140497959413d8de948/html5/thumbnails/24.jpg)
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
![Page 25: • Software matlab – características gerais • Apresentação da interface • Variáveis, funções e comandos básicos • Linguagem de programação Matlab](https://reader038.vdocuments.com.br/reader038/viewer/2022102618/552fc140497959413d8de948/html5/thumbnails/25.jpg)
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,:) = [ ]
![Page 26: • Software matlab – características gerais • Apresentação da interface • Variáveis, funções e comandos básicos • Linguagem de programação Matlab](https://reader038.vdocuments.com.br/reader038/viewer/2022102618/552fc140497959413d8de948/html5/thumbnails/26.jpg)
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
![Page 27: • Software matlab – características gerais • Apresentação da interface • Variáveis, funções e comandos básicos • Linguagem de programação Matlab](https://reader038.vdocuments.com.br/reader038/viewer/2022102618/552fc140497959413d8de948/html5/thumbnails/27.jpg)
Matrizes e Programação - Manipulação
• Indexação de elementos:
![Page 28: • Software matlab – características gerais • Apresentação da interface • Variáveis, funções e comandos básicos • Linguagem de programação Matlab](https://reader038.vdocuments.com.br/reader038/viewer/2022102618/552fc140497959413d8de948/html5/thumbnails/28.jpg)
Matrizes e Programação - Manipulação
• Exercício: Resolver o seguinte sistema linear:x + 10y – 12z = 1204x – 2y – 20z = 60-x + y + 5z = 10
Matriz inversa: inv(A)Escalonamento: rref(A)Determinante: det(A)
Resp: x = 340; y = 50; z = 60
![Page 29: • Software matlab – características gerais • Apresentação da interface • Variáveis, funções e comandos básicos • Linguagem de programação Matlab](https://reader038.vdocuments.com.br/reader038/viewer/2022102618/552fc140497959413d8de948/html5/thumbnails/29.jpg)
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
![Page 30: • Software matlab – características gerais • Apresentação da interface • Variáveis, funções e comandos básicos • Linguagem de programação Matlab](https://reader038.vdocuments.com.br/reader038/viewer/2022102618/552fc140497959413d8de948/html5/thumbnails/30.jpg)
Matrizes – funções úteis
![Page 31: • Software matlab – características gerais • Apresentação da interface • Variáveis, funções e comandos básicos • Linguagem de programação Matlab](https://reader038.vdocuments.com.br/reader038/viewer/2022102618/552fc140497959413d8de948/html5/thumbnails/31.jpg)
Matrizes – funções úteis
![Page 32: • Software matlab – características gerais • Apresentação da interface • Variáveis, funções e comandos básicos • Linguagem de programação Matlab](https://reader038.vdocuments.com.br/reader038/viewer/2022102618/552fc140497959413d8de948/html5/thumbnails/32.jpg)
Matrizes – funções úteis
![Page 33: • Software matlab – características gerais • Apresentação da interface • Variáveis, funções e comandos básicos • Linguagem de programação Matlab](https://reader038.vdocuments.com.br/reader038/viewer/2022102618/552fc140497959413d8de948/html5/thumbnails/33.jpg)
Matrizes multidimensionais
![Page 34: • Software matlab – características gerais • Apresentação da interface • Variáveis, funções e comandos básicos • Linguagem de programação Matlab](https://reader038.vdocuments.com.br/reader038/viewer/2022102618/552fc140497959413d8de948/html5/thumbnails/34.jpg)
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];
![Page 35: • Software matlab – características gerais • Apresentação da interface • Variáveis, funções e comandos básicos • Linguagem de programação Matlab](https://reader038.vdocuments.com.br/reader038/viewer/2022102618/552fc140497959413d8de948/html5/thumbnails/35.jpg)
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);
![Page 36: • Software matlab – características gerais • Apresentação da interface • Variáveis, funções e comandos básicos • Linguagem de programação Matlab](https://reader038.vdocuments.com.br/reader038/viewer/2022102618/552fc140497959413d8de948/html5/thumbnails/36.jpg)
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.
![Page 37: • Software matlab – características gerais • Apresentação da interface • Variáveis, funções e comandos básicos • Linguagem de programação Matlab](https://reader038.vdocuments.com.br/reader038/viewer/2022102618/552fc140497959413d8de948/html5/thumbnails/37.jpg)
Programação MATLABEstruturas de decisão - if
• Executa teste lógico com expressão. Se resultado = 1 (true) : executa comandosSe resultado = 0 (false) : pula para próxima expressão• Forma geral:if (expressão1)
comandos1;elseif (expressão2)
comandos2;else
comandos 3;end
![Page 38: • Software matlab – características gerais • Apresentação da interface • Variáveis, funções e comandos básicos • Linguagem de programação Matlab](https://reader038.vdocuments.com.br/reader038/viewer/2022102618/552fc140497959413d8de948/html5/thumbnails/38.jpg)
Programação MATLABEstruturas 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; display(c);end
![Page 39: • Software matlab – características gerais • Apresentação da interface • Variáveis, funções e comandos básicos • Linguagem de programação Matlab](https://reader038.vdocuments.com.br/reader038/viewer/2022102618/552fc140497959413d8de948/html5/thumbnails/39.jpg)
Programação MATLABEstruturas 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.
![Page 40: • Software matlab – características gerais • Apresentação da interface • Variáveis, funções e comandos básicos • Linguagem de programação Matlab](https://reader038.vdocuments.com.br/reader038/viewer/2022102618/552fc140497959413d8de948/html5/thumbnails/40.jpg)
Programação MATLABEstruturas de decisão - for
• Realiza um certo conjunto de comandos numa pré-determinada quantidade de vezes.
• Forma geral:for x = valor
comandos;end
![Page 41: • Software matlab – características gerais • Apresentação da interface • Variáveis, funções e comandos básicos • Linguagem de programação Matlab](https://reader038.vdocuments.com.br/reader038/viewer/2022102618/552fc140497959413d8de948/html5/thumbnails/41.jpg)
Programação MATLABEstruturas 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.
![Page 42: • Software matlab – características gerais • Apresentação da interface • Variáveis, funções e comandos básicos • Linguagem de programação Matlab](https://reader038.vdocuments.com.br/reader038/viewer/2022102618/552fc140497959413d8de948/html5/thumbnails/42.jpg)
Programação MATLABEstruturas de decisão - for
• Exemplos:for x = 0:0.1:1
soma = soma + x;end
for k = eye(3)display(k);
end
![Page 43: • Software matlab – características gerais • Apresentação da interface • Variáveis, funções e comandos básicos • Linguagem de programação Matlab](https://reader038.vdocuments.com.br/reader038/viewer/2022102618/552fc140497959413d8de948/html5/thumbnails/43.jpg)
Programação MATLABEstruturas 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.
![Page 44: • Software matlab – características gerais • Apresentação da interface • Variáveis, funções e comandos básicos • Linguagem de programação Matlab](https://reader038.vdocuments.com.br/reader038/viewer/2022102618/552fc140497959413d8de948/html5/thumbnails/44.jpg)
Programação MATLABEstruturas 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~=bVariável lógica pré-declarada: L = truePs: Parar programa: ctrl+c
![Page 45: • Software matlab – características gerais • Apresentação da interface • Variáveis, funções e comandos básicos • Linguagem de programação Matlab](https://reader038.vdocuments.com.br/reader038/viewer/2022102618/552fc140497959413d8de948/html5/thumbnails/45.jpg)
Programação MATLABEstruturas de decisão - while
• Exemplo:
while (a<=b)a = a*2;b = b + 1;display(a);display(b);
end
![Page 46: • Software matlab – características gerais • Apresentação da interface • Variáveis, funções e comandos básicos • Linguagem de programação Matlab](https://reader038.vdocuments.com.br/reader038/viewer/2022102618/552fc140497959413d8de948/html5/thumbnails/46.jpg)
Programação MATLABEstruturas 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.
![Page 47: • Software matlab – características gerais • Apresentação da interface • Variáveis, funções e comandos básicos • Linguagem de programação Matlab](https://reader038.vdocuments.com.br/reader038/viewer/2022102618/552fc140497959413d8de948/html5/thumbnails/47.jpg)
Programação MATLABEstruturas de decisão - fluxo
• Ferramentas de mudança do fluxo: break – encerra o loop while ou forEx: for k=2:x-1 if (mod(x,k) == 0) break end end continue – pula para a próxima iteraçãoEx: for k = 1:x if (mod(x,k) == 0) fprintf('%.0f, ', k);
continue end
fprintf('\n');end
![Page 48: • Software matlab – características gerais • Apresentação da interface • Variáveis, funções e comandos básicos • Linguagem de programação Matlab](https://reader038.vdocuments.com.br/reader038/viewer/2022102618/552fc140497959413d8de948/html5/thumbnails/48.jpg)
Programação MATLABEstruturas 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’.
![Page 49: • Software matlab – características gerais • Apresentação da interface • Variáveis, funções e comandos básicos • Linguagem de programação Matlab](https://reader038.vdocuments.com.br/reader038/viewer/2022102618/552fc140497959413d8de948/html5/thumbnails/49.jpg)
Programação MATLABEstruturas de decisão - switch
• Forma geral:switch variável_teste
case ‘valor_1’comandos_1;
case ‘valor_2’comandos_2;
(...)otherwise
comandos_n;end
![Page 50: • Software matlab – características gerais • Apresentação da interface • Variáveis, funções e comandos básicos • Linguagem de programação Matlab](https://reader038.vdocuments.com.br/reader038/viewer/2022102618/552fc140497959413d8de948/html5/thumbnails/50.jpg)
Programação MATLABEstruturas 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
![Page 51: • Software matlab – características gerais • Apresentação da interface • Variáveis, funções e comandos básicos • Linguagem de programação Matlab](https://reader038.vdocuments.com.br/reader038/viewer/2022102618/552fc140497959413d8de948/html5/thumbnails/51.jpg)
Programação MATLABEstruturas 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.
![Page 52: • Software matlab – características gerais • Apresentação da interface • Variáveis, funções e comandos básicos • Linguagem de programação Matlab](https://reader038.vdocuments.com.br/reader038/viewer/2022102618/552fc140497959413d8de948/html5/thumbnails/52.jpg)
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”
![Page 53: • Software matlab – características gerais • Apresentação da interface • Variáveis, funções e comandos básicos • Linguagem de programação Matlab](https://reader038.vdocuments.com.br/reader038/viewer/2022102618/552fc140497959413d8de948/html5/thumbnails/53.jpg)
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, ...)
![Page 54: • Software matlab – características gerais • Apresentação da interface • Variáveis, funções e comandos básicos • Linguagem de programação Matlab](https://reader038.vdocuments.com.br/reader038/viewer/2022102618/552fc140497959413d8de948/html5/thumbnails/54.jpg)
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
![Page 55: • Software matlab – características gerais • Apresentação da interface • Variáveis, funções e comandos básicos • Linguagem de programação Matlab](https://reader038.vdocuments.com.br/reader038/viewer/2022102618/552fc140497959413d8de948/html5/thumbnails/55.jpg)
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;
![Page 56: • Software matlab – características gerais • Apresentação da interface • Variáveis, funções e comandos básicos • Linguagem de programação Matlab](https://reader038.vdocuments.com.br/reader038/viewer/2022102618/552fc140497959413d8de948/html5/thumbnails/56.jpg)
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.
![Page 57: • Software matlab – características gerais • Apresentação da interface • Variáveis, funções e comandos básicos • Linguagem de programação Matlab](https://reader038.vdocuments.com.br/reader038/viewer/2022102618/552fc140497959413d8de948/html5/thumbnails/57.jpg)
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]
![Page 58: • Software matlab – características gerais • Apresentação da interface • Variáveis, funções e comandos básicos • Linguagem de programação Matlab](https://reader038.vdocuments.com.br/reader038/viewer/2022102618/552fc140497959413d8de948/html5/thumbnails/58.jpg)
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]
![Page 59: • Software matlab – características gerais • Apresentação da interface • Variáveis, funções e comandos básicos • Linguagem de programação Matlab](https://reader038.vdocuments.com.br/reader038/viewer/2022102618/552fc140497959413d8de948/html5/thumbnails/59.jpg)
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
![Page 60: • Software matlab – características gerais • Apresentação da interface • Variáveis, funções e comandos básicos • Linguagem de programação Matlab](https://reader038.vdocuments.com.br/reader038/viewer/2022102618/552fc140497959413d8de948/html5/thumbnails/60.jpg)
Gráficos 2D – função plot
• Exemplo:x = -2:0.01:2;y = x.^2;plot(x, y);
![Page 61: • Software matlab – características gerais • Apresentação da interface • Variáveis, funções e comandos básicos • Linguagem de programação Matlab](https://reader038.vdocuments.com.br/reader038/viewer/2022102618/552fc140497959413d8de948/html5/thumbnails/61.jpg)
Gráficos 2D – função plot
• Exemplo:x = -pi:0.01:pi;y1 = sin(x);y2 = cos(x);plot(x, y1 ,x , y2)
![Page 62: • Software matlab – características gerais • Apresentação da interface • Variáveis, funções e comandos básicos • Linguagem de programação Matlab](https://reader038.vdocuments.com.br/reader038/viewer/2022102618/552fc140497959413d8de948/html5/thumbnails/62.jpg)
Gráficos 2D – função plot
x=1:1000; for k=1:5 y(k,:)=k*log(x);endplot(x,y)
![Page 63: • Software matlab – características gerais • Apresentação da interface • Variáveis, funções e comandos básicos • Linguagem de programação Matlab](https://reader038.vdocuments.com.br/reader038/viewer/2022102618/552fc140497959413d8de948/html5/thumbnails/63.jpg)
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
![Page 64: • Software matlab – características gerais • Apresentação da interface • Variáveis, funções e comandos básicos • Linguagem de programação Matlab](https://reader038.vdocuments.com.br/reader038/viewer/2022102618/552fc140497959413d8de948/html5/thumbnails/64.jpg)
Matemática simbólica - declaração
• Exemplo:syms x;x = x^2;y = int(x); % y = x^3/3y = int(x,1,3); % y = 26/3y = diff(x); % y = 2*x
![Page 65: • Software matlab – características gerais • Apresentação da interface • Variáveis, funções e comandos básicos • Linguagem de programação Matlab](https://reader038.vdocuments.com.br/reader038/viewer/2022102618/552fc140497959413d8de948/html5/thumbnails/65.jpg)
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
![Page 66: • Software matlab – características gerais • Apresentação da interface • Variáveis, funções e comandos básicos • Linguagem de programação Matlab](https://reader038.vdocuments.com.br/reader038/viewer/2022102618/552fc140497959413d8de948/html5/thumbnails/66.jpg)
Estruturas heterogêneascé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.
![Page 67: • Software matlab – características gerais • Apresentação da interface • Variáveis, funções e comandos básicos • Linguagem de programação Matlab](https://reader038.vdocuments.com.br/reader038/viewer/2022102618/552fc140497959413d8de948/html5/thumbnails/67.jpg)
Estruturas heterogêneascé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.