A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Matlab Mini Curso PET 2012.

Apresentações semelhantes


Apresentação em tema: "Matlab Mini Curso PET 2012."— Transcrição da apresentação:

1 Matlab Mini Curso PET 2012

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

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

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

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

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

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

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

9 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

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

11 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,

12 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);

13 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;

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

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

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

17 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.

18 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

19 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; 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.

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

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

22 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 =

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

24 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 =

25 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,:) = [ ]

26 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

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

28 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

29 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 = (1/3)*x + sen(30)*y + atan(2)*z = 21.3

30 Matrizes – funções úteis

31 Matrizes – funções úteis

32 Matrizes – funções úteis

33 Matrizes multidimensionais

34 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];

35 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);

36 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.

37 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

38 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

39 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.

40 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

41 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.

42 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);

43 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.

44 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

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

46 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.

47 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');

48 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’.

49 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

50 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

51 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.

52 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”

53 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, ...)

54 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

55 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;

56 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.

57 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: [ ]

58 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: [ ]

59 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

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

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

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

63 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

64 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

65 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

66 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.

67 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.


Carregar ppt "Matlab Mini Curso PET 2012."

Apresentações semelhantes


Anúncios Google