Você está na página 1de 7

Salvador, Maio de 2013 Universidade Federal da Bahia Escola Politcnica Departamento de Engenharia Eltrica Autor: Victor Ariel Leal

Sobral

Minicurso de Matlab Parte 1

MINICURSO MATLAB SCRIPTS

Sobre este curso O objetivo deste curso apresentar de forma geral o funcionamento de algumas ferramentas do programa Matlab: Scripts (m-files); GUI (interface grfica); e o Toolbox Simblico. Sero realizadas 3 apresentaes com 1 hora de durao cada e conjuntamente com o material didtico devem ser suficientes para a realizao de um projeto prtico para cada um dos temas.

Sobre o Matlab O programa Matlab uma extensa plataforma para a programao cientfica, ele oferece pacotes de funes para diferentes aplicaes e clculos matemticos, servindo como excepcional ferramenta para engenheiros de sistemas. Na engenharia de sistemas, produz-se um modelo matemtico para cada parte do sistema a ser analisado e se estuda o seu comportamento em diferentes condies como por exemplo na presena de rudo e no linearidades. O Matlab disponibiliza um ferramental bastante abrangente para a rpida realizao destas simulaes.

Salvador, Maio de 2013

Minicurso de Matlab Parte 1

COMPONENTES PRINCIPAIS DO MATLAB

Janela de comando (Command Window ) Um componente principal do Matlab a janela de comando. o espao onde as funes so executadas de forma sequencial e os resultados so apresentados. Para utilizar, basta digitar o comando desejado na linha com a indicao >> e pressionar enter. Como exemplo de comando digite uma conta de soma simples (ex: 2+5) e pressione enter.

rea de trabalho ( Workspace ) A rea de trabalho a janela que mostra todas as variveis que esto acessveis atualmente no Matlab. Se voc executou o comando 2+5 sugerido na seo janela de comando, voc deve encontrar a varivel ans com valor igual a 7 neste espao. A varivel ans genrica e sempre guarda o resultado do ltimo comando executado. Se voc digitar na janela de comando a=5 e pressionar enter, uma nova varivel chamada a vai aparecer na rea de trabalho.

Histrico de Comandos ( Command History ) O histrico de comandos mostra os ltimos comandos executados pelo Matlab, ou seja, todos os comandos que foram inseridos na linha de comando. Se voc executou os comandos das sees anteriores, deve aparecer 2+5 e a=5 no histrico de comandos. Voc pode executar um comando do histrico uma outra vez bastando clicar duas vezes no comando desejado.

Pasta Atual ( Current Folder ) A pasta atual o espao que mostra os arquivos que podem ser acessados diretamente ou onde os arquivos criados sero escritos. A seguir apresentaremos como acessar e criar alguns destes arquivos.

Ajuda (Help) A ferramenta de ajuda do Matlab foi concebida para ser bastante prtica e acessvel, o que facilita bastante o autodidatismo na ferramenta. Para acessar a janela de ajuda v no menu Help e clique na opo de Product Help. Para utilizar, digite na rea Search a palavra-chave desejada e navegue entre os resultados. Inmeros exemplos so disponibilizados e podem ser executados facilmente copiando-se o cdigo para a linha de comando.

Salvador, Maio de 2013

Minicurso de Matlab Parte 1

SCRIPTS OU ARQUIVOS M (M-FILES)

O que um script? Um script uma sequencia de comandos, um passo-a-passo a ser executado. No Matlab o script um arquivo de texto com extenso .m chamado tambm arquivo M (M-file), onde cada linha um comando a ser executado pelo Matlab. As vantagens do script automatizar a realizao de uma sequencia de comandos e a possibilidade de utilizar elementos tradicionais de programao para controle de fluxo e loops (if, for, while, switch).

Como criar scripts? Para criar um script pode-se utilizar o menu principal e escolher a opo novo script (file>new>script) ou utilizar o atalho Control+N. Quando criado o novo script, uma janela de edio vai ser aberta e assim o cdigo pode ser escrito.

Como criar comentrios no script? Para comentar uma linha, utiliza-se o smbolo % e todo o contedo a direita desta linha considerado comentrio, ou seja, no considerado como comando para o Matlab. O Matlab muda a cor de todo o texto comentado para verde, facilitando a verificao rpida se o cdigo est comentado ou no. Um atalho para comentar uma linha ou diversas linhas que estejam selecionadas Control+R. Para retirar o simbolo de comentrio de uma linha ou diversas linhas selecionadas, o atalho Control+T. Existe tambm um tipo de organizao chamado clula que criado com o smbolo duplo %%, possibilitando que o trecho de cdigo logo abaixo desta divisria at a prxima clula possa ser executado separadamente num script com vrias clulas. O atalho para executar uma clula Control+Enter

Como criar um vetor ou matriz O Matlab foi desenvolvido para a computao eficiente de clculos envolvendo matrizes e vetores, logo estes elementos devem ser utilizados sempre que possvel. Um vetor criado da seguinte maneira: x=[1 2 3 4 5]. Uma matriz criada da seguinte maneira: y=[1 2; 3 4]. Voc pode digitar esses comandos na linha de comando para visualizar a criao destes elementos. Voc tambm pode criar vetores com passo constante, por exemplo: x=[0:2:20]. Pode-se ler esse exemplo como um vetor com elementos de zero a 20 com passo igual a 2.

Salvador, Maio de 2013 Como criar uma funo

Minicurso de Matlab Parte 1

Uma funo tipo especial de script que tem entradas e sadas bem definidas. Uma funo pode ser criada pelo menu principal (File>New>Function) ou apenas acrescentando na primeira linha function [ output_args ] = Untitled( input_args ) e end no final do script. No espao output_args deve ser acrescentado as variveis de sada e no espao input_args as variveis de entrada. A palavra Untitled pode ser substituida pelo nome desejado para a funo, porm o nome do script e o nome da funo devem ser iguais.

Como imprimir um grfico simples Para visualizar um grfico de um determinado vetor x, pode-se utilizar a funo plot(x). Para plotar um grfico dos pontos (x,y) dos respectivos vetores x e y, utiliza-se o comando plot(y,x). Para visualizar um grfico em barras de uma varivel x, utiliza-se o comando bar(x). Para plotar diversas curvas no mesmo grfico utiliza-se o comando plot(y1,x1,y2,x2). Para criar uma nova janela de um grfico, pode-se utilizar o comando figure. O comando hold possibilita que uma nova curva seja impressa sobre a curva atual, assim a sequencia plot(y1,x1), hold e plot(y2,x2) ir gerar um nico grfi co com as duas curvas definidas pelos pontos dos vetores (y1,x1) e (y2,x2). As janelas dos grficos possuem opes de ajuste manual (Edit>Figure Properties...) onde o grfico pode ser propriamente formatado. Aps a formatao possvel gerar um script com os comandos necessrios para que se possa realizar aquela formatao outra vez para outro grfico qualquer (File>Generate Code...).

Como utilizar dados de um arquivo de entrada O Matlab tem algumas funes para realizar a leitura de arquivos em diversos formatos, como por exemplo o comando [A,B,C,...] = textread('filename','format') realiza a leitura de um arquivo de texto e armazena os resultados nas variveis A, B,C,... Normalmente quando no se sabe o formato dos dados no arquivo, utiliza-se o formato string %s. O comando textread(circuito, '%s', 'delimiter','\n') realiza a leitura de um arquivo colocando cada linha desse texto lido numa varivel de sada. Outra funo de leitura bastante til o comando num = xlsread(filename, sheet, range) para ler dados de planilhas excel. Nessa funo voc pode configurar as clulas que voc deseja ler e tambm configurar se deseja carregar somente os dados numricos ou tambm o texto. A forma mais simples de salvar variveis e realizar a sua leitura no Matlab utilizando o formato .mat. Voc pode salvar variveis com o comando save(savefile, A, B, ... ), onde savefile o nome do arquivo .mat e A, B, ... so as variveis que voc deseja salvar. O comando load(filename) importa as variveis de volta para a rea de trabalho do Matlab.

Salvador, Maio de 2013 Como imprimir dados num arquivo de sada

Minicurso de Matlab Parte 1

Para imprimir dados num arquivo, inicialmente utiliza-se a funo fopen, seja para criar um novo arquivo ou para editar um existente. Por exemplo, o comando fid = fopen('source_circuit.txt', 'w') abre um arquivo chamado 'source_circuit.txt ou caso ele no exista na pasta atual, cria-se um novo arquivo com esse nome (opo w). Depois de aberto o arquivo, possvel escrever um texto nesse arquivo utilizando o comando fprintf(fid,string1). Este comando imprime no arquivo aberto pelo comando fopen, chamado fid, o texto contido na varivel string1. Para pular uma linha no arquivo texto, utiliza-se o caractere especial /n. Aps a realizao da escrita no arquivo desejado, deve-se fechar esse arquivo com o comando fclose(fid). Tambm possvel escrever em arquivos estilo planilha do excel (extenso .xls) utilizando o comando xlswrite(filename, M), onde filename o nome do arquivo onde voc deseja escrever e M a varivel a ser escrita. Da mesma forma que no comando xlsread, voc pode escolher as posies na tabela e a sheet do documento que voc deseja escrever.

Como publicar um relatrio diretamente do cdigo Na janela do script, v em file>publish arquivo.m e o Matlab converte automaticamente o seu script num arquivo formatado estilo html. Voc pode imprimir em pdf e j ter um relatrio pronto. Observe a formatao dos comentrios e das Clulas do seu cdigo, voc pode organizar e comentar o seu script de maneira a produzir um relatrio mais estruturado. Todos os grficos tambm so impressos nesse arquivo de sada. Voc tambm pode configurar alguns parmetros da publicao do relatrio no menu (File>Publish Configuration for nome_do_arquivo>Edit Publish Configuration for nome_do_arquivo).

Consideraes finais Todas as funes e elementos apresentados anteriormente foram apenas uma introduo s possibilidades do programa Matlab, para adquirir prtica com a sua utilizao e entender os detalhes de cada funo, recomendo a leitura da ferramenta de Ajuda do software e sempre que possvel testar todas as suas hipteses diretamente na linha de comando. Matlab uma ferramenta fcil de utilizar, com uma documentao de suporte muito boa e bastante eficaz para resolver inmeros problemas, ento mos a obra e no economize no cdigo!

Salvador, Maio de 2013

Minicurso de Matlab Parte 1

PROJETO 1

Digamos que voc seja um novo estagirio do INPE e esteja trabalhando com os diversos sistemas envolvidos no lanamento de foguetes. Lendo seu Curriculum Vitae, o seu chefe notou que voc diz possuir conhecimentos avanados em Matlab e buscando aproveitar estes conhecimentos ele te passa o seguinte projeto: Utilizando a equao de foguetes de Tsiolkovsky (considerando um foguete de somente um estgio), calcule qual seria o percentual de massa de combustvel em relao massa total necessria para que o foguete atinja velocidade de escape para diferentes tipos de combustvel. A equao de Tsiolkovsky a seguinte:

Onde a diferena de velocidade entre o tempo inicial e o final, a velocidade de ejeo das partculas do combustvel, a massa final do foguete e a massa inicial do foguete. Considere a velocidade de escape de 11.2 km/s. Para fazer esse projeto voc pode plotar o grfico da velocidade de ejeo mnima para diferentes porcentagens da proporo de combustvel em relao massa total. Realize os seus clculos entre =2 km/s e =5km/s. Para comparar os seus resultados com uma simulao mais sofisticada, agora o seu chefe quer que voc faa um arquivo texto ou planilha excel com pelo menos 100 valores de relao percentual entre massa de combustvel e massa total para a faixa entre =2 km/s e =5km/s. Desafios extras: 1) Fazer um script para ler os dados no arquivo texto que voc gerou e comparar estes resultados com os calculados pela equao relativstica:

2) Fazer uma funo para plotar a altitude do foguete em funo do tempo considerando agora o efeito da gravidade (ver o arquivo Foguete.pdf no link fornecido na seo Material Suplementar). 3) Fazer uma equao que permita calcular a altitude em funo do tempo ou a proporo de massa de combustvel em relao a massa total em funo de para o caso de foguetes com mltiplos estgios. (No final de um estgio, a massa dos tanques vazios de combustvel so descartadas, resultando num aumento da proporo de combustvel em relao a massa total)

Salvador, Maio de 2013

Minicurso de Matlab Parte 1

MATERIAL SUPLEMENTAR

Tutoriais de Matlab do PET Eng. Eltrica da UFBA Parte 1) www.peteletrica.eng.ufba.br/?p=991 Parte 2) www.peteletrica.eng.ufba.br/?p=1429 Parte 3) www.peteletrica.eng.ufba.br/?p=1902

Vdeos tutoriais disponibilizados pela Mathworks www.youtube.com/user/MATLAB

Material sobre a equao de foguetes de Tsiolkovsky pt.wikipedia.org/wiki/Equa%C3%A7%C3%A3o_de_foguete_de_Tsiolkovsky www.dfn.if.usp.br/~ribas/download/Foguete.pdf www.relativitycalculator.com/rocket_equations.shtml

Exemplo prtico exemplo1.m funcao1.m