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

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

Minicurso MATLAB Básico Palestrantes Rafael Rodrigues de Araujo Marco Aurélio Amorim Biazollo.

Apresentações semelhantes


Apresentação em tema: "Minicurso MATLAB Básico Palestrantes Rafael Rodrigues de Araujo Marco Aurélio Amorim Biazollo."— Transcrição da apresentação:

1 Minicurso MATLAB Básico Palestrantes Rafael Rodrigues de Araujo Marco Aurélio Amorim Biazollo

2 Introdução MATLAB (MATrix LABoratory) trata-se de um software interativo de alta performance voltado para o cálculo numérico. O MATLAB integra análise numérica, cálculo com matrizes, processamento de sinais e construção de gráficos em ambiente fácil de usar onde problemas e soluções são expressos somente como eles são escritos matematicamente, ao contrário da programação tradicional.

3 Layout  Command Window É a janela dos cálculos e da programação. Nesta janela, são inseridos os dados, que são interpretados pelo programa, e então os resultados são retornados. Caso o usuário queira, esta janela também mostra o desenvolvimento dos cálculos realizados, mostrando os valores de cada variável, após terem sido executadas as ações referentes a elas.

4  Editor É a janela onde são criados códigos que podem ser salvos como arquivos do MATLAB. É a janela mais utilizada, uma vez que nela podem ser digitados códigos completos para só depois serem rodados na Command Window. Além disso, com o modo Debug, que será explicado mais adiante, pode-se rodar o código linha por linha, para ver todos os passos realizados pelo programa. Layout

5  Command History Window Esta janela mostra todos os comandos inseridos na Command Window recentemente, classificados por ordem cronológica. Ao apertar a seta pra cima do teclado na Command Window, visualizamos os comandos armazenados na Command History Window. Layout

6  Workspace O Workspace mostra todas as variáveis utilizadas recentemente e seus respectivos tipos e valores. Com ele, é possível verificar se alguma variável teve seu valor modificado quando o código foi rodado, e assim encontrar eventuais erros na programação. Layout

7  Figure Window A Figure Window é a janela que exibe gráficos. Estes podem ser criados em duas ou três dimensões. Mais adiante, será explicado como plotar gráficos em duas dimensões. Layout

8 O comando help consiste em uma ferramenta de ajuda sobre todas as funções, comandos e operadores existentes no MATLAB. Para acessar, basta digitar na Command Window: >>help função/comando/operador A partir do comando dado, aparecem informações sobre o termo pesquisado. Primeiramente, é fornecida uma definição. Em seguida, são dados exemplos de uso e todas as possibilidades de aplicação, bem como informações sobre tópicos relacionados à pesquisa. Help

9  Salvando um arquivo É possível salvar um código utilizando o editor com a extensão ‘.m’. Basta ir em File>New>M-File.  Executar um arquivo Para executar existe duas formas. Sendo uma delas selecionar o script que deseja executar e apertar F5, a outra basta digitar o nome do arquivo na janela de comando e apertar enter. Dados

10  Criando Dados Declarar uma variável no MATLAB é muito simples, basta digitar o nome desejado e o valor a ser atribuído a essa variável. Apesar de simples deve-se tomar alguns cuidados. Exemplo:  O nome da variável deve sempre começar com uma letra: A = 10.  Também não e aconselhável usar nomes de funções e variáveis embutidas: Ans, i, j e outros. Dados

11  Criando Dados  O MATLAB diferencia entre maiúscula e minúscula: A ≠ a.  Palavras reservadas não podem ser utilizadas como variável: clear, clc, if e etc.  Caracteres especiais e espaços não são aceitos, podendo utilizar somente ‘_’: A_B = 6. Dados

12 A função embutida format permite especificar o formato de apresentação de números reais na janela de comando. Exemplo: >>format long >>pi >>format short >>pi Funções Format

13 A função embutida format permite também controlar o espaço entre linhas na janela de comando. As opções são loose (padrão) e compact. Exemplo: >>format loose >>2^3 >>format compact >>2^3 Funções Format

14 Todas as operações entre escalares são feitas de forma simples. São realizadas da esquerda para a direita, obedecendo à ordem: potenciação, divisão/multiplicação, adição/subtração. Operações com escalares OperaçõesSímbolo Adição+ Subtração- Multiplicação* Divisão/ ou \ Potenciação^

15  Funções Matemática: >>sqrt(x) % raiz quadrada de x >>exp(x) % e^x >>abs(x) % valor absoluto de x >>log(x) % lnx >>factorial(x) % x! Funções Embutidas

16  Uteis >>clc % apaga as linhas de Comando >>clear all % limpa os valores das variáveis >>% -> comentário >>whos(x) % Fornece informações sobre a variável x >>isletter(x) % verifica se e uma letra caso sim retorna 1 senão 0 >>isnumeric(x) % verifica se e um numero caso sim retorna 1 senão 0 >>sum(x) % soma os elementos de um vetor Funções Embutidas

17  Funções Trigonométricas: >>sin(x) % sen(x) com x em radiano >>cosd(x) % cos(x) com x em grau >>atan(x) % arctg(x) com x em radiano >>cosh(x) % cosh(x) com x em radiano Funções Embutidas

18  Funções de Arredondamento: >>round(x) -> arredonda para inteiro mais próximo >>fix(x) -> arredonda para inteiro menor >>ceil(x) -> arredonda para inteiro maior >>rem(x,y) -> retorna o resto da divisão de x por y >>sign(x) -> retorna 1 se x>0, -1 se x<0 e 0 se x=0 >>floor(x) -> arredonda para o inteiro negativo menor Funções Embutidas

19  Funções para Cálculo: >>syms t % cria uma variável simbólica x >>diff(t) % deriva a função entre parênteses >>int(t) % integra a função entre parênteses >>F = laplace(f) % calcula a transformada de f, sendo f = 2*exp(-3*t) >>ilaplace(F) % calcula a transformada de F >>dsolve('Dy=-a*y') % retorna a função y(t) >>[autovetor autovalor] = eig(M) % retorna os autovetores e autovalores de M Funções Embutidas

20 Uma forma de mudar o tipo de uma variável, não é uma transformação. >>A = 2 >>int(A) >>int8(A) >>float(A) >>char(A) >>boolean(A) Casting

21 O MATLAB possui alguma funções embutidas de transformação. >>A = 2 >>num2str(A) % transforma um número em string >>str2num(A) %transforma uma string em um número Transformações de variáveis

22  Formas de criar um vetor: >>Vetor_linha = [ ] ou [1, 2, 4, 3] >>Vetorp = xi:p:xf >>Vetor_coluna = [4; 3; 5; 2] >>VetorPA = [a1,r,an] >>Vetorif= linspace(xi,xf,n) Vetores

23  Operações com vetores: Para acessar um elemento especifico de um vetor é necessário informar o nome da variável e o índice dentro do parêntese exemplo: >>Vet(2) Com isso também se pode alterar o valor do elemento da variável : >>Vet(2) = 5 %Aqui esta sendo atribuído o valor 5 no índice 2 do vetor Vet As operações aritméticas entres vetores são feitas de forma comum: >>Veta+Vetb >>find(vet>2) % retorna o índice do elemento no vetor >>vet = [veta vetb] % contatena dois vetores Vetores

24 Exemplos: Tendo va = [2;3;4;6] e vb = [1;3;4;2]. Crie um vetor linha que seja a concatenação de va e vb. Com os mesmos va e vb, crie um vetor que onde os elementos seja va i /vb i. Crie um vetor contendo os dois últimos elementos de va e vb. Vetores

25 Resposta: >>V = [va;vb] >>v = va./vb >>v = [va(3:4);vb(3:4)] Vetores

26  Criar uma matriz: >>M = [a11 a12;a21 a22] >>zeros(m,n) % matriz de 0 mxn >>ones(m,n) % matriz de 1 mxn >>eye(n) % matriz identidade nxn Matrizes

27  Operações com matrizes: Para acessar um elemento especifico de uma matriz é necessário informar o nome da variável e os índices dentro do parêntese exemplo: >> M(2,3) Com isso também se pode alterar o valor do elemento da variável : >>M(2,3) = 5 %Aqui esta sendo atribuído o valor 5 na linha 2 coluna 3 As operações aritméticas entres vetores são feitas de forma comum: >>Ma+Mb Matrizes

28  Operações com matrizes: >>det(Ma+Mb) % determinante de Ma+Mb >>inv(M) % matriz inversa de M >> Mt = M’ % transposta de M >> mat(:,2) = [] % apaga os valores da coluna 2 >>isequal(Ma, Mb) % retorna 1 se forem iguais e 0 se diferentes Matrizes

29 Exemplos com matrizes: Criar uma matriz 3x3 utilizando passo igual a 1 com o operador ‘:’. Apagar a ultima linha da matriz gerada e multiplicar a segunda linha por 2. Mostrar o índice dos elementos múltiplos de 2 da matriz acima. Matrizes

30 Resposta: >> M = [1:3;4:6;7:9] >> M(3,:) = [] >> M(2,:) = M(2,:)*2 >> [lin col]=find(mod(M,2)==0) Matrizes

31  Criar uma função: >>edit -> abre o editor Dentro do editor incia-se a função desta forma: function [out] = nomef(in) %function -> comando para dizer que uma função %out -> parâmetro de saída %nomef -> nome da função %in -> parâmetro de entrada Obs.: O script deve ter o mesmo nome da função ao salvar. Deve-se indicar a pasta onde o script foi salvo. Função

32  Entrada de dados: >>num = input(‘Digite seu numero preferido: ’) >>nome = input(‘Digite seu nome: ’,’s’) % e necessário colocar o ‘s’ para char e strings Saída de dados: >>disp(‘Olá Mundo’) >>fprintf(‘Bem vindo %s \n’,nome) % semelhante ao printf do C Função

33 Exemplo: %Este é o programa principal para o cálculo da área do círculo raio = leraio; area = calcarea(raio); exibearea(raio,area) function raio = leraio % Esta função solicita ao usuário a digitação do raio disp('Quando solicitado, informe o valor do raio em cm.') raio = input('Digite o raio: '); Função

34 function area = calcarea(raio) % Esta função calcula a área de um círculo area = pi * raio * raio; % ou tb area = pi*power(raio,2); function exibearea(raio,area) % Esta função exibe a área do círculo fprintf('Para um círculo de raio igual a %.2f cm\n',raio) fprintf('a área equivale a %.2f cm quadrados.\n',area) Função

35  Uso do if: if condição ação end Uso do if-else: if condição ação1 else ação2 end Condicional

36  Uso do if-else aninhadas: Condicional

37 switch expressão case caso1 ação1 case caso2 ação2 case caso3 ação3... otherwise açãon end Condicional

38  Uso do for: for variável_de_controle = faixa corpo_do_laço end Exemplo: >> for i = 1:5 fprintf('%d ',i) end Estruturas de Repetição

39  Uso do while: while condição ação end Exemplo: a = 1; b = 15; while a

40 Exemplo: % Este é o programa principal para o cálculo da área do retângulo [base,altura] = ledimensoes; exibearearetangulo(base,altura) function [b,h] = ledimensoes % Esta função solicita ao usuário a digitação da base e da altura b = input('Digite a base: '); h = input('Digite a altura: '); Estruturas de Repetição

41 function exibearearetangulo(bas,alt) % Esta função exibe a área do retângulo. % Ela chama uma subfunção para calcular a área. area = calcarearetangulo(bas,alt); fprintf('Para um retângulo de base %.2f e altura %.2f\n',bas,alt) fprintf('a área equivale a %.2f.\n',area) function area = calcarearetangulo(bas,alt) % Esta subfunção calcula a área do retângulo. area = bas * alt; Estruturas de Repetição

42 escolha = eopcoes; while escolha ~= 3 && escolha ~= 0 switch escolha case 1 raio = leraio; area = calcarea(raio); exibearea(raio,area) case 2 [base,altura] = ledimensoes; exibearearetangulo(base,altura) end escolha = eopcoes; end Estruturas de Repetição

43 function escolha = eopcoes % Exibe o menu de opções escolha = menu('Escolha uma opção',‘Área Circulo',‘Área Retângulo',... 'Sair do programa'); Estruturas de Repetição

44  Gravar em disco: >>dados = M+M’ >>save testfile.dat dados –ascii  Leitura do disco: >>load testfile.dat >>disp(testfile)  Regravação em disco: >>Mat = eye(3); >>save testfile.dat Mat –ascii -append Manipulação de Arquivo em Disco

45  Como plotar o gráfico: Primeiramente, deve-se criar dois vetores que armazenem, respectivamente, os valores das variáveis “X” e “Y” que serão os eixos do gráfico. Então, o comando a ser dado é: >> plot(x,y,’Opções de Estilo’)  Plotando uma função: Uma outra maneira para se plotar um gráfico no MATLAB é usando o comando “fplot”. Ele plota diretamente uma função dada. Seu formato é: >> fplot(‘função’,[intervalo de valores], opções de estilo); Exemplo: >> fplot('cos(x)',[0,pi],'green') Gráficos

46

47  Mais de um gráfico na mesma janela: Figure: esse comando abre uma nova Figure Window, onde o próximo gráfico plotado será mostrado. >>figure Hold on / Hold off : o comando hold on fixa a última Figure Window gerada, e todos os plots a partir dele até o comando hold off são gerados na mesma janela. Ou seja, ele possibilita que várias curvas sejam mostradas num mesmo gráfico. >>hold on >>plot(x,y) >>plot(w,z) >>hold off Gráficos

48 Subplot: o comando subplot permite que vários gráficos sejam mostrados separadamente numa mesma Figure Window. Com ele, aparecerão duas ou mais curvas, cada qual com seus eixos e escalas, lado a lado horizontalmente e/ou verticalmente, numa mesma janela. >>plot(x,y) >>subplot(a,b,p) >>plot(w,z) Gráficos

49 Exemplo: >> x = 1:0.01:10; >> y1 = square(x); >> y2 = sin(x); >> subplot(2,1,1) >> plot(x,y1) >> subplot(2,1,2) >> plot(x,y2) Gráficos

50  Comandos auxiliares: Title: O comando title insere um título à última Figure Window aberta. >>title(‘titulo desejado’) Xlabel: O comando xlabel permite que o eixo das abscissas do gráfico seja identificado. >>xlabel(‘identificação abscissas’) Ylabel: O comando ylabel permite que o eixo das ordenadas do gráfico seja identidifcado. >>ylabel(‘identificação ordenadas’) Text: O comando text insere um texto digitado pelo usuário numa determinada posição. >>text(x,y,’texto desejado’) Gráficos

51 Exemplo: >> x=[ ]; >> y=[ ]; >> plot(x,y,'green') >> xlabel('x'); >> ylabel('y'); >>title(‘Grafico Simples’); >>axis([ ]); >> text(8,2,'(8,2)') Gráficos

52 Exemplo: >> syms t; >> f = 2*t^2+2*t+1 >> ezplot(f) %plota uma expressão alfanumérica Gráficos

53 Exemplo: >>clf %Limpa os gráficos anteriores >>x = 0:0.1:2; >>y1 = exp(x); >>y2 = sqrt(exp(x)); >>plot(x,y1,'r') >>hold on >>plot(x,y2,‘b') >>grid on % Coloca grade >>legend('y1=exp(x)','y2=sqrt(exp(x))') %Inseri uma legenda Gráficos


Carregar ppt "Minicurso MATLAB Básico Palestrantes Rafael Rodrigues de Araujo Marco Aurélio Amorim Biazollo."

Apresentações semelhantes


Anúncios Google