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

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

Minicurso MATLAB Básico

Apresentações semelhantes


Apresentação em tema: "Minicurso MATLAB Básico"— 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 Layout 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.

5 Layout 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.

6 Layout 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.

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

8 Help 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.

9 Dados 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.

10 Dados 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.

11 Dados 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.

12 Funções Format 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

13 Funções Format 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

14 Operações com escalares
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 Símbolo Adição + Subtração - Multiplicação * Divisão / ou \ Potenciação ^

15 Funções Embutidas 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!

16 Funções Embutidas 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

17 Funções Embutidas 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

18 Funções Embutidas 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

19 Funções Embutidas 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

20 Casting 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)

21 Transformações de variáveis
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

22 Vetores 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)

23 Vetores 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

24 Vetores 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 vai/vbi. Crie um vetor contendo os dois últimos elementos de va e vb.

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

26 Matrizes 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

27 Matrizes 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

28 Matrizes 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

29 Matrizes 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.

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

31 Função 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.

32 Função 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

33 Função 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: ');

34 Função 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)

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

36 Condicional Uso do if-else aninhadas:

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

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

39 Estruturas de Repetição
Uso do while: while condição ação end Exemplo: a = 1; b = 15; while a<b, clc a = a+1 b = b-1 pause(1) % e feito uma pausa de 1 segundo disp('fim do loop')

40 Estruturas de Repetição
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: ');

41 Estruturas de Repetição
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;

42 Estruturas de Repetição
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

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

44 Manipulação de Arquivo em Disco
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

45 Gráficos 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')

46 Gráficos

47 Gráficos 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

48 Gráficos 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)

49 Gráficos 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)

50 Gráficos 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’)

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

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

53 Gráficos 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


Carregar ppt "Minicurso MATLAB Básico"

Apresentações semelhantes


Anúncios Google