Minicurso MATLAB Básico

Slides:



Advertisements
Apresentações semelhantes
Estruturação de Linguagens (Pascal e C++)
Advertisements

Carlos André Vaz Junior
Programação em Java Prof. Maurício Braga
MATLAB Comandos Básicos.
Shell Script Professor: João Paulo
Informática Aplicada.
Universidade Federal de Ouro Preto (UFOP)
Instrutor: Marcelo Escobar
LINGUAGEM C.
Iniciação ao MatLab Profa Dra. Rossana Lott Rodrigues
The language of tecnical computing
LINGUAGEM ESTRUTURADA TURBO C
Linguagem C Strings.
O Portal do Estudante de Computação
Construindo gráficos com o “GNUPLOT”
GET – Engenharia de Produção
Prof. Natalia Castro Fernandes Mestrado em Telecomunicações – UFF 2º semestre/2012.
O Portal do Estudante de Computação
Introdução a Computação e Cálculo Numérico
Introdução a Computação e Cálculo Numérico
Aula prática 6 Vetores e Matrizes
Matlab– Noções introdutórias
Prof. Natalia Castro Fernandes Engenharia de Telecomunicações – UFF 2º semestre/2012.
PROGRAMAÇÃO ESTRUTURADA II
Introdução ao MatLab Aula 3
FTIN Formação Técnica em Informática
Universidade Federal de Alagoas – UFAL Centro de Tecnologia – CTEC
Seminário 1: Revisão de C
Fábio de Oliveira Borges
Introdução a aplicativos Java
Matlab Mini Curso PET 2012.
O Portal do Estudante de Computação
Monitoria de Sistemas Inteligentes
Introdução ao MATLAB 5.3 para Hidrólogos
Sistemas de Controle de Aeronaves II
Programação em C++ Compiladores
Algoritmo e Programação
Sistema Operacional DOS 6.22 PROF. PAULO LORINI NAJAR
PROGRAMAÇÃO PARA INTERNET Prof.: Jean Carlo Mendes
Linguagem Pascal Prof. Sérgio Rodrigues.
Faculdade Talentos Humanos - FACTHUS - Algoritmo I - Rogério Rodrigues
Capítulo V – Comandos de Entrada e Saída 5.1 – Equipamentos de entrada e saída 5.2 – Saída no vídeo-texto 5.3 – Entrada pelo teclado 5.4 – Entrada e saída.
Planilha Eletrônica - Excel
Aula prática 2 Operadores e Expressões Comandos de Decisão Comentários
Criando uma formatação
Programação e Aplicações Gráficas
Acabias Marques Luiz. I - Introdução ao Ruby Parte 1 – Introdução a linguagem  O que é Ruby  Instalação  O IRB  Operadores Aritméticos  Tipos de.
Programação Funcional
Introdução ao MATLAB 5.3 para Hidrólogos
Curso de modelagem numérica computacional com o software livre (Octave) Instituto Federal de Educação, Ciência e Tecnologia do Piauí –IFPI, campus Parnaíba.
Aula Prática 1 Monitoria IP/CC (~if669) (A partir do slide elaborado por Luís Gabriel)
Monitoria de Sistemas Inteligentes IF684
MatLab (Matrix Laboratory)
MATLAB - Matrix Laboratory Adaptado de Profa
Haskell Programação Funcional Diego Lima Rubem Moreira.
Fundamentos de linguagens de programação
CES-10 INTRODUÇÃO À COMPUTAÇÃO
Algoritmos.
Editor de Texto do Dosvox
Introdução à Programação
Programação Computacional Aula 8: Entrada e Saída pelo Console Prof a. Madeleine Medrano
Microsoft Excel.
Programação estruturada unidade 2
MatLab (Matrix Laboratory)
Aula Prática 1 Monitoria IP/CC (~if669) (A partir do slide elaborado por Luís Gabriel)
R e Rstudio Prof. Raphael de Souza e Josiel Maimone Figueiredo Programação para Física Ambiental.
Profª Dalila Borges Justino Lins
Variáveis, expressões e comandos Dilvan Moreira. Lembrando …  Instalação normal (para utilizar no PC com Windows) 
Grupos de Slides No 5. Prof. SIMÃO
Lógica de Programação Aula 06 Prof. Marcelo Marcony.
Transcrição da apresentação:

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

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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

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

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 ^

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!

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

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

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

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

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)

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

Vetores Formas de criar um vetor: >>Vetor_linha = [1 2 4 3] 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 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 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.

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

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

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

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

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.

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

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.

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

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

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)

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

Condicional Uso do if-else aninhadas:

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

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)

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

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

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;

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

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

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

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

Gráficos

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

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)

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)

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’)

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

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

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