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

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

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

Apresentações semelhantes


Apresentação em tema: "• Software matlab – características gerais • Apresentação da interface • Variáveis, funções e comandos básicos • Linguagem de programação Matlab."— Transcrição da apresentação:

1

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

3 • Mostra todos os arquivos atuais na pasta Matlab;

4 • Mostra o histórico de todos os comandos realizados na command window

5 • Mostra todas as variáveis criadas e seus respectivos tipos

6 • Terminal e janela de realização de comandos individualmente

7 • Janela de criação de programas e funções Matlab

8 • Variáveis sempre definidas como matrizes de dimensão N

9 • 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 – function_handle

10 • Mudar exibição das variáveis numéricas: • File -> Preferences -> Command Window-> Numeric Format

11 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 • 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 lógicas -> a = true, a = false, a = comparação • Ex: b = 3; c = 4; a = (b

14

15

16 • Unidade imaginária: “i” ou “j” • Ex: a = 3 + 4*i a = i • Comandos: imag(a) = 4real(a) = 3 abs(a) = 5angle(a) =

17 • 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 • ''Single quotation mark • % Percent character • \\Backslash • \a Alarm • \bBackspace • \fForm feed • \nNew line • \rCarriage return • \tHorizontal tab • \vVertical tab

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

20

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

22 • 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 • Ferramenta ‘:’ Ex: a = 1:5  a = a = 0:0.1:1  a = (...) a = [1:3 ; 4:6; 7:9]  a =

24 • 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 • Acessando elemento:  x(linha,coluna) = a n • Acessando linha:  x(linha, :) = [a 1, a 2, a 3,..., a n ] • Acessando coluna:  x(:, coluna) = [a 1 ; a 2 ; a 3 ;... ; a n ] • Apagando linha ou coluna:  x(linha, :) = [ ]  x(coluna,:) = [ ]

26 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 • Indexação de elementos:

28 • 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 • Resolver o sistema: 5j*x + (2-6j)*y + 7*z = log 5 (20) 9*x – pi*y + sqrt(2)*z = (1/3)*x + sen(30)*y + atan(2)*z = 21.3

30

31

32

33

34 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 • 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 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 • 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 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

39 • 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 • Realiza um certo conjunto de comandos numa pré-determinada quantidade de vezes. • Forma geral: for x = valor comandos; end

41 • 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 • Exemplos: for x = 0:0.1:1 soma = soma + x; end for k = eye(3) display(k); end

43 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 • 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  Variável lógica pré-declarada: L = true Ps: Parar programa: ctrl+c

45 • Exemplo: while (a<=b) a = a*2; b = b + 1; display(a); display(b); end

46 • 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 • 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 if (mod(x,k) == 0) fprintf('%.0f, ', k); continue end fprintf('\n'); end

48 • 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 • Forma geral: switch variável_teste case ‘valor_1’ comandos_1; case ‘valor_2’ comandos_2; (...) otherwise comandos_n; end

50 • 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 • 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 • 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 • Declaração: function [saída1, saída2,...] = nome_função (ent1, ent2,...) comandos; end • Utilização: [var1 var2...] = nome_função(par1, par2,...)

54 • 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 • 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 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 • 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 • 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 • 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(x 1, y 1, x 2, y 2,...)  desenha várias linhas no mesmo gráfico • ‘Show plot tools and dock figures’  ferramenta de edição do gráfico desenhado

60 • Exemplo: x = -2:0.01:2; y = x.^2; plot(x, y);

61 • Exemplo: x = -pi:0.01:pi; y1 = sin(x); y2 = cos(x); plot(x, y1,x, y2)

62 x=1:1000; for k=1:5 y(k,:)=k*log(x); end plot(x,y)

63 • 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 • 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 • 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 • 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 • 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 "• Software matlab – características gerais • Apresentação da interface • Variáveis, funções e comandos básicos • Linguagem de programação Matlab."

Apresentações semelhantes


Anúncios Google