You are on page 1of 51

Foto: cortesia do Laboratrio de Propulso a Jato (Jet Propulsion Laboratory) da NASA.

Engenharia no Sculo XXI


Explorao remota
inda se passaro muitos anos at que os humanos possam viajar para outros planetas. Enquanto isso, sondas no tripuladas ampliaram rapidamente nosso conhecimento do universo. Sua utilizao ser mais intensa no futuro quando a nossa tecnologia se desenvolver a ponto de torn-las mais confiveis e versteis. Espera-se o surgimento de melhores sensores para a coleta de imagens e de outros dados. Dispositivos robticos aprimorados tornaro essas sondas mais autnomas e mais capazes de interagir com o ambiente, em vez de apenas observ-lo. A sonda planetria Sojourner, da NASA, aterrissou em Marte no dia 4 de julho de 1997 e impressionou as pessoas na Terra, que a assistiram explorar com sucesso a superfcie marciana para determinar interaes roda-solo, analisar as rochas e o solo e obter imagens da sonda para verificao de danos. Depois, no incio de 2004, duas sondas aprimoradas, Spirit e Opportunity, aterrissaram em lados opostos do planeta e, em uma das mais importantes descobertas do sculo XXI, obtiveram fortes evidncias de que j houve gua em quantidades significativas em Marte. Tendo aproximadamente o tamanho de um carrinho de golfe, as novas sondas possuem seis rodas, cada uma com o seu prprio motor. Elas atingem uma velocidade mxima de 5 centmetros por segundo em terra plana e dura e podem viajar at cerca de 100 metros por dia. Necessitando de 100 watts para se mover, elas obtm potncia a partir de painis solares que geram 140 watts durante uma janela de 4 horas a cada dia. O sofisticado sistema de controle de temperatura no apenas as protege das temperaturas noturnas de -96C, mas tambm impede o superaquecimento das sondas. O brao robtico possui trs juntas (ombro, cotovelo e pulso), impulsionadas por cinco motores, e tem um alcance de 90 centmetros. O brao transporta quatro ferramentas e instrumentos para estudos geolgicos. Nove cmeras possibilitam navegao e vises panormicas, alm de evitar riscos. O computador embarcado possui 128 MB de DRAM e coordena todos os subsistemas, incluindo comunicaes. Apesar de o planejamento original ser o de permanecerem por trs meses, ambas as sondas ainda estavam explorando Marte no final de 2009. Todas as disciplinas de engenharia foram envolvidas no projeto e no lanamento das sondas. Os toolboxes de Redes Neurais, Processamento de Sinais, Processamento de Imagens, PDE e muitos toolboxes de sistemas de controle se adequam muito bem para auxiliar projetistas de sondas e de veculos autnomos semelhantes s sondas de Marte.

1
Viso geral do MATLAB1
Este o captulo mais importante do livro. Assim que voc termin-lo, ser capaz de utilizar o MATLAB para resolver muitos tipos de problemas. A Seo 1.1 apresenta uma introduo ao MATLAB como uma calculadora interativa. A Seo 1.2 aborda os principais menus e a barra de ferramentas. A Seo 1.3 introduz arranjos, arquivos e plotagens. A Seo 1.4 discute como criar, editar e salvar programas no MATLAB. A Seo 1.5 introduz o extensivo Sistema de Ajuda do MATLAB e a Seo 1.6 introduz a metodologia de resoluo de problemas de engenharia.

Como utilizar este livro


A organizao de captulos do livro flexvel o suficiente para acomodar uma diversidade de usurios. Entretanto, importante que se abordem os primeiros captulos na ordem em que esto dispostos. O Captulo 2 aborda arranjos, que so os blocos de construo bsicos no MATLAB. O Captulo 3 aborda utilizao de arquivos, funes internas do MATLAB e funes definidas pelo usurio. O Captulo 4 aborda programao utilizando operadores relacionais e lgicos, sentenas condicionais e laos. Os captulos de 5 a 11 so independentes e podem ser abordados em qualquer ordem. Eles contm discusses aprofundadas sobre como utilizar o MATLAB para solucionar diversos tipos comuns de problemas. O Captulo 5 aborda plotagens bidimensionais e tridimensionais em mais detalhes. O Captulo 6 mostra como utilizar plotagens para construir modelos matemticos a partir de dados. O Captulo 7 aborda aplicaes de probabilidade, estatstica e interpolao. O Captulo 8 trata de equaes algbricas lineares de maneira mais aprofundada por meio do desenvolvimento de mtodos para os casos indeterminado e sobredeterminado. O Captulo 9 introduz mtodos

MATLAB uma marca registrada da empresa The MathWorks, Inc.

Introduo ao MATLAB para Engenheiros

numricos para clculo e equaes diferenciais ordinrias. O Simulink2, que o tpico do Captulo 10, uma interface grfica do usurio para resolver modelos de equaes diferenciais. O Captulo 11 aborda processamento simblico com o MuPAD2, uma nova funcionalidade do toolbox de Matemtica Simblica do MATLAB, com aplicaes em lgebra, clculo, equaes diferenciais, transformadas e funes especiais.

Subsdios de referncia e aprendizado


Este livro foi idealizado para ser tanto uma referncia quanto uma ferramenta de aprendizado. As caractersticas especiais teis para esses propsitos so apresentadas a seguir.

Notas margem identificam onde os novos termos foram introduzidos. Ao longo de cada captulo, aparecem pequenos exerccios do tipo Teste seus conhecimentos. Quando apropriado, as respostas so apresentadas imediatamente aps os exerccios, de modo que voc possa mensurar o seu domnio do assunto. Exerccios de dever de casa so encontrados ao final de cada captulo. Eles normalmente requerem um esforo maior do que os exerccios do tipo Teste seus conhecimentos. Cada captulo contm tabelas que resumem os comandos do MATLAB nele introduzidos. No final de cada captulo encontra-se Um resumo do que voc deve ser capaz de fazer aps terminar o captulo. Uma lista de termos-chave que voc deve conhecer. O Apndice A contm tabelas dos comandos do MATLAB, agrupados por categorias, com as pginas de referncia apropriadas. O ndice apresenta quatro partes: smbolos do MATLAB, comandos do MATLAB, blocos do Simulink e tpicos.

1.1 Sesses interativas do MATLAB


Agora mostraremos como iniciar o MATLAB, como fazer alguns clculos bsicos e como sair do MATLAB.

Simulink e MuPAD so marcas registradas da empresa The MathWorks, Inc.

Captulo 1

Viso geral do MATLAB

FIGURA 1.1-1 A rea de Trabalho padro do MATLAB.

Convenes
Neste livro utilizamos fonte de mquina de escrever para representar comandos do MATLAB, qualquer texto que voc digitar no computador e qualquer resposta do MATLAB que aparecer na tela, por exemplo, y = 6*x. Variveis no texto matemtico normal aparecem em itlico, por exemplo, y = 6x. Utilizamos negrito para trs finalidades: representar vetores e matrizes em texto matemtico normal (por exemplo, Ax b); representar uma tecla do teclado (por exemplo, Enter); e representar o nome de um menu ou de um item que aparecer em tal menu (por exemplo, File). Supomos que voc sempre aperta Enter aps digitar um comando. No representaremos essa ao com um smbolo separado.

Iniciando o MATLAB
REA DE TRABALHO

Para iniciar o MATLAB em um sistema MS Windows, clique duas vezes no cone do MATLAB. Voc ento ver a rea de Trabalho (Desktop) do MATLAB. A rea de Trabalho gerencia a janela de Comandos (Command window), o Navegador de

N. de R. T.: No Brasil, a separao de casas decimais feita por vrgula. Entretanto, o padro utilizado no MATLAB o ingls (ou seja, separao de casas decimais por ponto). Assim, quando ocorrerem casas decimais, elas devem ser separadas por um ponto na digitao de nmeros no MATLAB (seja na Command Window, seja no desenvolvimento de programas). Nas explicaes ao longo do texto, ser utilizada a notao brasileira, ou seja, a separao de casas decimais por vrgulas. Obviamente, nos cdigos apresentados ao longo do texto, os nmeros estaro separados por ponto, concordando com a notao do MATLAB. O aluno deve ficar atento a isso.

Introduo ao MATLAB para Engenheiros

JANELA DE COMANDOS

Ajuda (Help Browser) e outras ferramentas. A aparncia padro da rea de Trabalho apresentada na Figura 1.1-1. Aparecem cinco janelas: a janela de Comandos ao centro, a janela de Histrico de Comandos (Command History) direita inferior, a janela do Espao de Trabalho (Workspace) direita superior, a janela de Detalhes (Details window) esquerda inferior e a janela de Diretrio Atual (Current Directory) esquerda superior. Na parte superior da rea de Trabalho h uma linha de nomes de menu e uma linha de cones chamada de barra de ferramentas (toolbar). direita da barra de ferramentas h uma caixa que mostra o diretrio onde o MATLAB busca e salva arquivos. Ns descreveremos os menus, a barra de ferramentas e os diretrios mais adiante neste captulo. Voc utiliza a janela de Comandos para se comunicar com o MATLAB digitando diferentes tipos de instrues: comandos, funes e sentenas. Mais adiante, discutiremos as diferenas entre eles, mas por enquanto, para simplificar a discusso, de maneira genrica chamaremos as instrues de comandos. O MATLAB exibe o prompt ( ) para indicar que ele est pronto para receber instrues. Antes de dar instrues ao MATLAB, certifique-se de que o cursor esteja localizado logo aps o prompt. Se no estiver, utilize o mouse para mover o cursor. O prompt na Edio de Estudante (Student Edition) tem o seguinte aspecto: EDU . Utilizaremos o smbolo normal do prompt ( ) para ilustrar os comandos neste texto. A janela de Comandos na Figura 1.1-1 mostra alguns comandos e os resultados dos clculos. Ns abordaremos esses comandos mais adiante neste captulo. Quatro outras janelas aparecem na rea de Trabalho padro. A janela de Diretrio Atual se parece com uma janela de gerenciador de arquivos; voc pode us-la para acessar arquivos. Ao clicar duas vezes no nome de um arquivo com a extenso .m, aquele arquivo ser aberto no Editor do MATLAB. O Editor ser discutido na Seo 1.4. A Figura 1.1-1 mostra os arquivos no diretrio do autor C:\MyMATLABFiles. Abaixo da janela de Diretrio Atual est a janela .... Ela exibe quaisquer comentrios existentes no arquivo. Note que dois tipos de arquivo so mostrados no Diretrio Atual. Eles possuem as extenses .m e .mdl. Abordaremos arquivos M neste captulo. O Captulo 10 abordar o Simulink, que utiliza arquivos MDL. Voc pode ter outros tipos de arquivo no diretrio. A janela do Espao de Trabalho aparece direita superior e exibe as variveis criadas na janela de Comandos. Clique duas vezes no nome de uma varivel para abrir o Editor de Arranjos (Array Editor), que ser discutido no Captulo 2. A quinta janela na rea de Trabalho padro janela de Histrico de Comandos. Essa janela mostra todos os caracteres que voc inseriu previamente na janela de Comandos. Ela til para rastrear tudo o que voc digitou. Voc pode clicar em algum comando que j digitou e arrast-lo para a janela de Comandos ou do Editor para evitar digit-la novamente. O duplo clique em algo j digitado o faz ser executado na janela de Comandos. Voc pode alterar a aparncia da rea de Trabalho, se desejar. Por exemplo, para eliminar uma janela, apenas clique no boto fecha janela (*) no canto direito superior. Para desencaixar ou separar uma janela da rea de Trabalho, clique no boto que contm uma seta curva. Uma janela desencaixada pode ser levada para qualquer lugar na tela. Voc pode manipular outras janelas do mesmo modo. Para restaurar a configurao padro, clique no menu Desktop, depois clique em Desktop Layout e selecione Default.

Captulo 1

Viso geral do MATLAB

Inserindo comandos e expresses


Para ver como simples utilizar o MATLAB, tente inserir alguns comandos no seu computador. Se voc cometer algum erro de digitao, apenas pressione Enter at aparecer o prompt e redigite a linha. Ou, uma vez que o MATLAB retm seus toques de tecla anteriores em um arquivo de comandos, voc pode usar a tecla direcional superior () para rever os comandos j inseridos. Aperte a tecla uma vez para ver a ltima insero, duas para ver a penltima insero, e assim por diante. Utilize a tecla direcional inferior () para caminhar para frente ao longo da lista de comandos j inseridos. Quando voc encontrar a linha desejada, voc pode edit-la utilizando as teclas direcionais esquerda e direita ( e ) e as teclas Backspace e Delete. Pressione Enter para executar o comando. Essa tcnica permite corrigir rapidamente erros de digitao. Note que voc pode visualizar seus toques de tecla anteriores exibidos na janela de Histrico de Comandos. Voc pode copiar uma linha dessa janela para a janela de Comandos selecionando a linha com o mouse, mantendo o boto esquerdo do mouse pressionado e arrastando a linha para a janela de Comandos. Certifique-se de que o cursor esteja no prompt da janela de Comandos. Para dividir 8 por 10, digite 8/10 e pressione Enter (o smbolo / o smbolo do MATLAB para diviso). Sua insero e a resposta do MATLAB aparecero da seguinte maneira na tela (chamamos essa interao entre voc e o MATLAB de sesso interativa, ou simplesmente de sesso). Lembre-se de que o smbolo >> aparece automaticamente na tela; voc no o digita.

SESSO

VARIVEL

O MATLAB indenta o resultado numrico. Ele utiliza uma preciso alta para os seus clculos, mas por padro ele normalmente exibe quatro casas decimais, exceto quando o resultado um inteiro. O MATLAB atribui a resposta mais recente a uma varivel chamada ans, que uma abreviao de answer (resposta). Uma varivel no MATLAB um smbolo utilizado para conter um valor. Voc pode utilizar a varivel ans para clculos posteriores; por exemplo, utilizando o smbolo do MATLAB para multiplicao (*), obtemos

Note que a varivel ans agora possui o valor 4. Voc pode utilizar variveis para escrever expresses matemticas. Em vez de utilizar a varivel padro ans, voc pode atribuir o resultado a uma varivel de sua prpria escolha, por exemplo, a varivel r, como apresentado a seguir:

Espaos na linha melhoram a legibilidade; por exemplo, voc pode colocar um espao antes e depois do sinal =, se voc quiser. O MATLAB ignora esses espaos quando realiza os seus clculos. Ele tambm ignora espaos em torno dos sinais + e -.

Introduo ao MATLAB para Engenheiros

Se voc agora digitar r no prompt e pressionar Enter, voc ver

e verificar, portanto, que a varivel r contm o valor 0,8. Voc pode utilizar essa varivel em clculos posteriores. Por exemplo,

ARGUMENTO

Um erro comum esquecer o smbolo de multiplicao * e digitar a expresso como se faria em lgebra, como s = 20r. Se voc fizer isso no MATLAB, ele retornar uma mensagem de erro. O MATLAB possui centenas de funes disponveis. Uma delas a funo raiz quadrada, sqrt. Um par de parnteses utilizado aps o nome da funo para envolver o valor (chamado de argumento da funo) que processado pela funo. Por exemplo, para calcular a raiz quadrada de 9 e atribuir o seu valor a uma varivel r, voc digita r = sqrt(9). Note que o valor anterior de r foi substitudo por 3.

Ordem de precedncia
ESCALAR

Um escalar um nmero nico. Uma varivel escalar uma varivel que contm um nmero nico. O MATLAB utiliza os smbolos + - * / ^ para adio, subtrao, multiplicao, diviso e exponenciao (potncia) de escalares. Eles esto listados na Tabela 1.1-1. Por exemplo, se voc digitar x = 8 + 3*5, retornar a resposta x = 23. Se voc digitar 2^3-10, retornar a resposta ans = 2. A barra (/) representa a diviso direita, que o operador de diviso normal com o qual voc familiarizado. Se voc digitar 15/3, retornado o resultado ans = 5. O MATLAB possui outro operador de diviso, chamado de diviso esquerda, que indicado pela barra invertida (\). O operador de diviso esquerda til para resolver conjuntos de equaes algbricas lineares, como veremos. Uma boa maneira de lembrar a diferena entre os operadores de diviso direita e esquerda consiste em notar que a barra se inclina em direo ao denominador. Por exemplo, 7/2 = 2\7 = 3,5.
TABELA 1.1-1 Operaes aritmticas escalares
Smbolo
^ * / \ + -

Operao
exponenciao: a multiplicao: ab
b

Forma no MATLAB
a^b a*b a/b a\b a+b ab

diviso direita: a/b = diviso esquerda: a\b = adio: a + b subtrao: a - b

Captulo 1

Viso geral do MATLAB

TABELA 1.1-2 Ordem de precedncia


Precedncia
Primeiro Segundo Terceiro Quarto

Operao
Parnteses, a comear pelo par mais interno. Exponenciao, da esquerda para a direita. Multiplicao e diviso com igual precedncia, da esquerda para a direita. Adio e subtrao com igual precedncia, da esquerda para a direita.

PRECEDNCIA

As operaes matemticas representadas pelos smbolos + - * / \ e ^ obedecem a um conjunto de regras chamado de precedncia. As expresses matemticas so avaliadas a partir da esquerda, com a operao de exponenciao tendo a maior ordem de precedncia, seguida pela multiplicao e pela diviso com igual precedncia, seguidas, por sua vez, pela adio e pela subtrao com igual precedncia. Os parnteses podem ser utilizados para alterar essa ordem. A avaliao comea com o par de parnteses mais interno. A Tabela 1.1-2 resume essas regras. Por exemplo, observe o efeito da precedncia na seguinte sesso.

10

Introduo ao MATLAB para Engenheiros

Para evitar erros, sinta-se livre para inserir parnteses sempre que estiver inseguro acerca do efeito que a precedncia ter sobre o clculo. Utilize os parnteses tambm para melhorar a legibilidade das suas expresses no MATLAB. Por exemplo, os parnteses no so necessrios na expresso 8 + (3*5), mas eles deixam clara a sua inteno de multiplicar 3 por 5 antes de adicionar 8 ao resultado.

Teste seus conhecimentos


T1.1-1 Utilize o MATLAB para calcular as seguintes expresses a. b. 6(351/4) + 140,35 (Respostas: a. 410,1297

b. 17,1123)

O operador de atribuio
O sinal = no MATLAB chamado de operador de atribuio ou de substituio. Ele trabalha de maneira diferente do sinal de igualdade que voc conhece da matemtica. Quando voc digita x = 3, voc est dizendo ao MATLAB para atribuir 3 varivel x. Isto no diferente da que acontece na matemtica. Entretanto, no MATLAB tambm podemos digitar algo como: x = x + 2. Isso diz ao MATLAB para adicionar 2 ao valor atual de x e substituir o valor atual de x com esse novo valor. Se x originalmente tivesse o valor 3, o seu novo valor seria 5. Esse uso do operador = diferente do uso na matemtica. Por exemplo, a equao matemtica x = x + 2 invlida porque implica que 0 = 2. No MATLAB a varivel do lado esquerdo do operador = substituda pelo valor gerado pela conta do lado direito. Portanto, uma varivel, e apenas uma varivel, deve estar do lado esquerdo do operador =. Dessa forma, no MATLAB voc no pode digitar 6 = x. Outra consequncia dessa restrio que voc no pode escrever no MATLAB expresses como a seguinte: >>x+2=20 A equao correspondente x + 2 = 20 aceitvel em lgebra e tem como soluo x = 18, mas o MATLAB no pode resolver tal equao sem comandos adicionais (esses comandos esto disponveis no toolbox de Matemtica Simblica, o qual ser descrito no Captulo 11). Outra restrio que o lado direito do operador = deve ter um valor calculvel. Por exemplo, se a varivel y no tiver um valor a ela atribudo, ento o comando seguinte gerar uma mensagem de erro no MATLAB. >>x = 5 + y Alm de associar valores conhecidos a variveis, o operador de atribuio muito til para atribuir valores que no so conhecidos com antecedncia, ou para mudar o valor de uma varivel utilizando um procedimento prescrito. O exemplo seguinte mostra como isso feito.

Captulo 1

Viso geral do MATLAB

11

EXEMPLO 1.1-1

Volume de um cilindro circular

O volume de um cilindro circular de altura h e raio r dado por V = r2h. Um dado tanque cilndrico possui altura de 15 m e um raio de 8 m. Queremos construir outro tanque cilndrico com um volume 20% maior, mas com a mesma altura. Qual deve ser o valor do raio?

Soluo

Primeiro resolvemos a equao do cilindro para o raio r. Isso resulta em

A sesso mostrada abaixo. Primeiro atribumos valores para as variveis r e h que representam o raio e a altura. Depois, calculamos o volume do cilindro original e o aumentamos em 20%. Finalmente, resolvemos para o valor de raio requerido. Para este problema, podemos utilizar a constante interna do MATLAB pi. >>r = 8; >>h = 15; >>V = pi*r^2*h; >>V = V + 0.2*V; >>r = sqrt(V/(pi*h)) r = 8.7636 Assim, o novo cilindro deve ter um raio de 8,7636 m. Note que os valores originais das variveis r e V so substitudos por dois valores novos. Isso aceitvel, uma vez que no desejamos utilizar os valores originais novamente. Note como a precedncia se aplica linha V = pi*r^2*h;. Ela equivalente a V = pi*(r^2)*h;.

Nomes de variveis
ESPAO DE TRABALHO

O termo espao de trabalho (workspace) se refere aos nomes e valores de qualquer varivel em uso na sesso atual de trabalho. Os nomes de variveis devem comear com uma letra; o restante do nome pode conter letras, dgitos e traos inferiores (underscore). O MATLAB sensvel a maisculas e minsculas (case sensitive). Portanto, os seguintes nomes representam cinco variveis diferentes: speed, Speed, SPEED, Speed_1 e Speed_2. No MATLAB 7, os nomes de variveis no podem ter mais do que 63 caracteres.

Gerenciando a sesso de trabalho


A Tabela 1.1-3 resume alguns comandos e smbolos especiais para gerenciar a sesso de trabalho. Um sinal de ponto e vrgula no final da linha suprime a impresso dos resultados na tela. Se um sinal de ponto e vrgula no for inserido no final de uma linha, o MATLAB exibe os resultados da linha na tela. Mesmo que voc suprima a exibio com o ponto e vrgula, o MATLAB continua armazenando o valor da varivel.

12

Introduo ao MATLAB para Engenheiros

TABELA 1.1-3 Comandos para gerenciar a sesso de trabalho


Comando
clc clear clear var1 var2 exist(name) quit who whos : , ; ...

Descrio
Limpa a janela de comandos. Remove todas as variveis da memria. Remove as variveis var1 e var2 da memria. Determina se existe um arquivo ou varivel com o nome name. Fecha o MATLAB. Lista todas as variveis na memria. Lista todas as variveis e tamanhos e indica se elas possuem parte imaginria. Dois pontos; gera um arranjo com elementos igualmente espaados. Vrgula; separa elementos de um arranjo. Ponto e vrgula; suprime impresso na tela; tambm indica uma nova linha em um arranjo. Reticncias; continua uma linha.

Voc pode inserir vrios comandos na mesma linha separando-os com uma vrgula se quiser ver o resultado do comando anterior, ou com um ponto e vrgula se quiser suprimir a exibio. Por exemplo,

Note que o primeiro valor de x no foi exibido. Note tambm que o valor de x mudou de 2 para 15. Se voc precisa digitar uma linha longa, voc pode utilizar o sinal de reticncias, digitando trs pontos, para atrasar a execuo. Por exemplo,

Utilize as teclas direcionais Tab e Ctrl para recuperar, editar e reutilizar funes e variveis que voc digitou anteriormente. Por exemplo, suponhamos que voc insira a linha >>volume = 1 + sqr(5) O MATLAB responde com uma mensagem de erro porque voc no digitou o t de sqrt. Em vez de redigitar toda a linha, pressione a tecla direcional superior () uma vez para exibir a ltima linha digitada. Aperte a tecla direcional esquerda () algumas vezes para mover o cursor e adicionar o t que est faltando, e ento pressione Enter. O uso repetido da tecla direcional superior recupera linhas digitadas anteriormente.

Captulo 1

Viso geral do MATLAB

13

Teclas Tab e direcionais


Voc pode utilizar a funcionalidade de recuperao inteligente para recuperar uma funo ou varivel digitada anteriormente cujos primeiros caracteres voc especifique. Por exemplo, aps ter inserido a linha que comea com volume, ao digitar vol e pressionar a tecla direcional superior () uma vez, voc recupera a ltima linha digitada que comea com a funo ou varivel cujo nome se inicia com vol. Essa funcionalidade sensvel a maisculas e minsculas. Voc pode utilizar a funcionalidade tab completion para reduzir a quantidade de digitao. O MATLAB automaticamente completa o nome de uma funo, varivel ou arquivo se voc digitar as primeiras letras do nome e pressionar a tecla Tab. Se o nome for nico, ele completado automaticamente. Por exemplo, na sesso listada anteriormente, se voc digitar Fruit e pressionar Tab, o MATLAB completar o nome e exibir FruitPurchased. Pressione Enter para exibir o valor da varivel, ou continue editando para criar uma nova linha executvel que utiliza a varivel FruitPurchased. Se houver mais do que um nome que comea com as letras que voc digitou, o MATLAB exibir esses nomes quando voc pressionar a tecla Tab. Utilize o mouse para selecionar o nome desejado na lista. As teclas direcionais esquerda () e direita () movem o cursor para a esquerda e para a direita um caractere por vez ao longo de uma linha. Para mover o cursor uma palavra por vez, pressione Ctrl e ao mesmo tempo para mov-lo para a direita; e Ctrl e ao mesmo tempo para mov-lo para a esquerda. Pressione Home para mover o cursor para o comeo de uma linha; pressione End para mover o cursor para o final de uma linha.

Deletando e removendo
Pressione Del para deletar o caractere no cursor; pressione Backspace para deletar o caractere antes do cursor. Pressione Esc para apagar toda a linha; pressione Ctrl e k simultaneamente para deletar (kill) os caracteres desde o cursor at o final da linha. O MATLAB armazena o ltimo valor de uma varivel at que voc feche o MATLAB ou apague esse valor. Negligenciar esse fato comumente causa erros. Por exemplo, voc pode preferir utilizar a varivel x em vrios clculos diferentes. Se voc se esquecer de atribuir a x o valor correto, o MATLAB utilizar o ltimo valor, e voc obter um resultado incorreto. Voc pode utilizar a funo clear para remover os valores de todas as variveis da memria, ou pode utilizar a forma clear var1 var2 para remover as variveis var1 e var2. O resultado do comando clc diferente; ele remove tudo que est exibido na janela de Comandos, mas os valores das variveis so mantidos. Voc pode digitar o nome de uma varivel e pressionar Enter para ver o seu valor atual. Se a varivel no tiver um valor (isto , se ela no existir), voc ver uma mensagem de erro. Voc tambm pode utilizar a funo exist. Digite exist(x) para ver se a varivel x est em uso. Se retornar o valor 1, a varivel existe; um 0 indica que ela no existe. A funo who lista os nomes de todas as variveis na memria, mas no mostra os seus valores. A forma who var1 var2 restringe a exibio aos valores especificados. O caractere curinga * pode ser utilizado para exibir variveis que atendem a um padro. Por exemplo, who A* encontra todas as variveis no espao de trabalho atual que comecem com A. A funo whos lista os nomes das variveis e os seus tamanhos, e indica se elas possuem parte imaginria no nula.

14

Introduo ao MATLAB para Engenheiros

A diferena entre uma funo, um comando e uma sentena que a funo tem os seus argumentos evolvidos por parnteses. Comandos, como clear, no precisam ter argumentos; mas se tiverem, eles no so envolvidos por parnteses, como em clear x, por exemplo. Sentenas no podem ter argumentos; por exemplo, clc e quit so sentenas. Pressione Ctrl-C para cancelar uma computao longa sem terminar a sesso. Voc pode sair do MATLAB digitando quit. Voc tambm pode clicar no menu File e ento clicar em Exit MATLAB.

Constantes predefinidas
O MATLAB possui vrias constantes especiais predefinidas, tais como a constante interna pi que utilizamos no Exemplo 1.1-1. O smbolo Inf representa q, o que, na prtica, significa um nmero to grande que o MATLAB no consegue represent-lo. Por exemplo, ao digitar 5/0, obtemos a resposta Inf. O smbolo NaN representa no um nmero. Ele indica um resultado numrico indefinido tal como o obtido ao digitarmos 0/0. O smbolo eps o menor nmero que, quando somado a 1 pelo computador, resulta em um nmero maior do que 1. Ns o utilizamos como um indicador da preciso dos clculos. . Ns Os smbolos i e j indicam a unidade imaginria, em que os utilizamos para criar e representar nmeros complexos, tais como x = 5 + 8i. Tente no utilizar os nomes de constantes especiais como nomes de variveis. Apesar de o MATLAB permitir que voc atribua um valor diferente a essas constantes, no uma boa prtica fazer isso.

Operaes com nmeros complexos


O MATLAB manipula lgebra de nmeros complexos automaticamente. Por exemplo, o nmero c1 = 1 2i inserido da seguinte maneira: c1 = 1 2i. Voc tambm pode digitar c1 = Complex(1, -2). Ateno: Note que no necessrio um asterisco entre i ou j e um nmero, apesar de ele ser necessrio com uma varivel, tal como c2 = 5 i*c1. Essa conveno pode causar erros se voc no for cuidadoso. Por exemplo, as expresses y = 7/2*i e x = 7/2i geram dois resultados diferentes: y = (7/2)i = 3,5i e x = 7/(2i) = -3,5i.
TABELA 1.1-4 Variveis e constantes especiais
Comando
ans eps i,j Inf NaN pi

Descrio
Varivel temporria que contm a resposta mais recente. Especifica a acurcia da preciso de ponto flutuante. A unidade imaginria Infinito. Indica um resultado numrico indefinido. O nmero .

N. de T.: NaN a sigla de not a number.

Captulo 1

Viso geral do MATLAB

15

A adio, a subtrao, a multiplicao e a diviso de nmeros complexos so realizadas facilmente. Por exemplo,

Teste seus conhecimentos


T1.1-2 Dados x = -5 + 9i e y = 6 - 2i, utilize o MATLAB para mostrar que x + y = 1 + 7i, xy = -12 + 64i e x/y = -1,2 + 1,1i.

Comandos de formatao
O comando format controla como os nmeros aparecem na tela. A Tabela 1.1-5 apresenta as variantes desse comando. O MATLAB utiliza muitos algarismos significativos em seus clculos, mas raramente precisamos ver todos eles. O formato de exibio padro do MATLAB o formato short, que utiliza quatro dgitos decimais. Voc pode exibir mais digitando format long, o que resulta na exibio de 16 dgitos. Para retornar ao modo padro, digite format short. Voc pode forar para que a sada esteja em notao cientfica digitando format short e, ou format long e, em que e representa o nmero 10. Assim, a sada 6.3792e+03 representa o nmero 6,3792 * 103. A sada 6.3792e-03 representa o nmero 6,3792 * 10-3. Note que nesse contexto e no representa o nmero e, que a base do logaritmo natural. Aqui, e representa expoente. Essa uma
TABELA 1.1-5 Formatos de exibio numrica
Comando
format short format long format short e format long e format format format format format bank + rat compact loose

Descrio e exemplo
Quatro dgitos decimais (o padro); 13.6745. 16 dgitos; 17.27484029463547. Cinco dgitos (quatro decimais) mais o expoente; 6.3792e+03. 16 dgitos (15 decimais) mais o expoente; 6.379243784781294e-04. Dois dgitos decimais; 126.73. Positivo, negativo ou zero; +. Aproximao racional; 43/7. Suprime algumas linha em branco. Restabelece o modo de exibio menos compacto.

16

Introduo ao MATLAB para Engenheiros

FIGURA 1.2-1 A parte superior da rea de Trabalho do MATLAB.

escolha pobre de notao, mas o MATLAB segue os padres convencionais de programao de computadores que foram estabelecidos h muitos anos. Utilize format bank apenas para operaes monetrias; esse modo no reconhece parte imaginria.

1.2 Menus e barra de ferramentas


A rea de Trabalho gerencia a janela de Comandos e outras ferramentas do MATLAB. A aparncia padro da rea de Trabalho apresentada na Figura 1.1-1. Ao longo da parte superior da rea de Trabalho esto uma linha de nomes de menu e uma linha de cones chamada de barra de ferramentas. direita da barra de ferramentas est uma caixa que mostra o diretrio atual, onde o MATLAB busca por arquivos. Veja a Figura 1.2-1. Outras janelas aparecem em uma sesso do MATLAB, a depender do que voc fizer. Por exemplo, uma janela grfica contendo uma plotagem aparece quando voc utiliza as funes de plotagem; uma janela do Editor/Debugador aparece para ser utilizada na criao de arquivos de programa. Cada janela possui a sua prpria barra de menus, com um ou mais menus, na parte superior. Assim, a barra de menus mudar quando voc mudar de janela. Para ativar ou selecionar um menu, clique nele. Cada menu possui alguns itens. Clique em um item para selecion-lo. Mantenha em mente que os menus so sensveis a contexto. Assim, seus contedos mudam, dependendo de quais funcionalidades voc estiver utilizando.

DIRETRIO ATUAL

Os menus da rea de trabalho


A maior parte da sua interao se dar na janela de Comandos. Quando a janela de Comandos est ativa, a rea de Trabalho padro do MATLAB 7 (mostrada na Figura 1.1-1) apresenta seis menus: File, Edit, Debug, Desktop, Window e Help. Note que esses menus mudam dependendo da janela que estiver ativa. Cada item em um menu pode ser selecionado com o menu aberto tanto clicando no item quanto digitando sua letra sublinhada. Alguns itens podem ser selecionados, sem o menu estar aberto, por meio da tecla de atalho listada direita do item. Aqueles itens seguidos por trs pontos (...) abrem um submenu ou outra janela contendo uma caixa de dilogo. Os trs menus mais teis so os menus File, Edit e Help. O menu Help est descrito na Seo 1.5. O menu File no MATLAB 7 contm os seguintes itens, que realizam as aes indicadas quando voc os seleciona.

O Menu File no MATLAB 7


New Abre uma caixa de dilogo que permite criar um novo arquivo de programa, chamado de arquivo M (M-file), utilizando um editor de texto chamado de Editor/Debugador, uma nova Figura, uma varivel na janela do Es-

Captulo 1

Viso geral do MATLAB

17

pao de Trabalho, um arquivo do tipo Model (utilizado pelo Simulink) ou uma nova GUI (Interface Grfica do Usurio). Open... Abre uma caixa de dilogo que permite selecionar um arquivo para edio. Close Command Window (ou Current Folder) Fecha a janela de Comandos ou o arquivo atual, se algum estiver aberto. Import Data... Inicia o Import Wizard, que permite importar dados facilmente. Save Workspace As... Abre uma caixa de dilogo que permite salvar um arquivo. Set Path... Abre uma caixa de dilogo que permite definir o caminho de busca do MATLAB. Preferences... Abre uma caixa de dilogo que permite definir as preferncias para itens como fonte, cor, espaamento da tecla Tab, e assim por diante. Page Setup... Abre uma caixa de dilogo que permite formatar a sada impressa. Print... Abre uma caixa de dilogo que permite imprimir toda a janela de Comandos. Print Selection... Abre uma caixa de dilogo que permite imprimir partes selecionadas da janela de Comandos. File List Contm uma lista dos arquivos utilizados anteriormente, em ordem de utilizao mais recente. Exit MATLAB Fecha o MATLAB. A opo New no menu File permite selecionar o tipo de arquivo M a ser criado: um arquivo M em branco, um arquivo M do tipo funo ou um arquivo M do tipo classe. Selecione arquivo M em branco para criar um arquivo M do tipo discutido na Seo 1.4. Arquivos M do tipo funo so discutidos no Captulo 3, mas arquivos M do tipo classe esto alm do escopo deste texto. O menu Edit contm os seguintes itens.

O Menu Edit no MATLAB 7


Undo Reverte a operao de edio anterior. Redo Reverte a operao Undo anterior. Cut Remove o texto selecionado e o armazena para colagem posterior. Copy Copia o texto selecionado para colagem posterior, sem remov-lo. Paste Insere qualquer texto do clipboard na localizao atual do cursor. Paste to Workspace... Insere os contedos do clipboard no espao de trabalho (workspace) como uma ou mais variveis. Select All Seleciona todo o texto na janela de Comandos. Delete Apaga a varivel selecionada no Navegador do Espao de Trabalho (Browser Workspace).

N. de T.: GUI a sigla de Graphical User Interface.

18

Introduo ao MATLAB para Engenheiros

Find... Encontra e substitui frases. Find Files... Encontra arquivos. Clear Command Window Remove todo o texto da janela de Comandos. Clear Command History Remove todo o texto da janela de Histrico de Comandos. Clear Workspace Remove os valores de todas as variveis do Espao de Trabalho. Voc pode utilizar Copy e Paste para copiar e colar comandos que aparecem na janela de Comandos. Entretanto, uma maneira mais fcil utilizar a tecla direcional superior para percorrer a lista de comandos anteriores e pressionar Enter quando voc vir o comando que deseja recuperar. Utilize o menu Debug para acessar o Debugador, que discutido no Captulo 4. Utilize o menu Desktop para controlar a configurao da rea de Trabalho e para exibir barras de ferramentas. O menu Window apresenta um ou mais itens, dependendo do que voc tiver feito at ento na sua sesso. Clique no nome de uma janela que aparece no menu para abri-la. Por exemplo, se voc tiver plotado uma figura e no tiver fechado a sua janela, a janela da plotagem aparecer nesse menu como Figure 1. Entretanto, h outras maneiras de ir de uma janela para outra (tal como pressionando as teclas Alt e Tab simultaneamente se as janelas no estiverem ancoradas). O menu View aparecer direita do menu Edit se voc tiver selecionado um arquivo em uma pasta na janela de Diretrio Atual. Esse menu fornece informao sobre o arquivo selecionado. A barra de ferramentas, que est abaixo da barra de menus, fornece botes como atalhos para algumas das funcionalidades nos menus. Clicar no boto equivalente a clicar no menu e em seguida clicar no item do menu; assim, o boto elimina um clique do mouse. Os primeiros sete botes correspondem a New, M-File, Open File, Cut, Copy, Paste, Undo e Redo. O oitavo boto ativa o Simulink. O nono boto ativa o GUIDE Quick Start, que utilizado para criar e editar interfaces grficas do usurio (GUIs). O dcimo boto ativa o Profiler, que pode ser utilizado para otimizar o desempenho do programa. O dcimo primeiro boto (com um ponto de interrogao) acessa o Sistema de Ajuda (Help System). Abaixo da barra de ferramentas est um boto que acessa a ajuda para adicionar atalhos barra de ferramentas e um boto que acessa uma lista das funcionalidades adicionadas desde o lanamento (release) anterior.

1.3 Arranjos, arquivos e plotagens


Esta sesso introduz arranjos, que so os blocos de construo bsicos no MATLAB, e mostra como manipular arquivos e gerar plotagens.

Arranjos
Ao longo do texto, discutiremos centenas de funes no MATLAB. Por exemplo, para calcular sen x, em que x tem o seu valor em radianos, voc deve digitar sin(x). Para calcular cos x, digite cos(x). A funo exponencial ex calculada a partir de exp(x). O logaritmo natural, ln x, calculado digitando-se log(x) (note a

Captulo 1

Viso geral do MATLAB

19

ARRANJO

diferena entre o texto matemtico, ln, e a sintaxe do MATLAB, log). Voc calcula o logaritmo na base 10 digitando log10(x). O inverso do seno, ou o arco seno, obtido ao se digitar asin(x). A resposta retornada em radianos, no em graus. A funo asind(x) retorna o valor em graus. Um dos pontos fortes do MATLAB a sua habilidade em manipular colees de nmeros, chamadas arranjos, como se elas fossem uma nica varivel. Um arranjo numrico uma coleo ordenada de nmeros (um conjunto de nmeros arranjados em uma ordem especfica). Um exemplo uma varivel do tipo arranjo que contm os nmeros 0, 4, 3 e 6, nesta ordem. Ns utilizamos colchetes para definir a varivel x que contm essa coleo digitando x = [0, 4, 3, 6]. Os elementos do arranjo tambm podem ser separados por espaos, mas vrgulas so preferidas para melhorar a legibilidade e evitar erros. Note que a varivel y definida como y = [6, 3, 4, 0] no igual a x, porque a ordem dos nmeros diferente. A razo para se utilizar colchetes a seguinte: se voc digitasse x = 0, 4, 3, 6, o MATLAB iria tratar as quatro entradas separadamente e atribuiria o valor 0 a x. Pode-se considerar que arranjo [0, 4, 3, 6] possui uma linha e quatro colunas, e um subcaso de uma matriz, que possui mltiplas linhas e colunas. Como veremos mais adiante, as matrizes tambm so indicadas por colchetes. Podemos somar os dois arranjos x e y para produzir outro arranjo z digitando a linha z = x + y. Para calcular z, o MATLAB soma todos os nmeros correspondentes em x e y. O arranjo resultante z contm os nmeros 6, 7, 7, 6. Voc no precisa digitar todos os nmeros em um arranjo se eles forem igualmente espaados. Em vez disso, voc digita o primeiro nmero e o ltimo nmero, com o espaamento no meio, separados por dois pontos. Por exemplo, os nmeros 0, 0,1, 0,2,..., 10 podem ser atribudos a u digitando-se u = 0:0.1:10. Nesta aplicao do operador dois pontos, os colchetes no precisam ser utilizados. Para calcular w = 5 sen u para u = 0, 0,1, 0,2,..., 10, a sesso >>u = 0:0.1:10; >>w = 5*sin(u); A linha w = 5*sin(u) calculou a frmula w = 5 sin u 101 vezes, uma vez para cada valor no arranjo u, para produzir um arranjo w que possui 101 valores. Voc pode ver todos os valores de u digitando u depois do prompt; ou, por exemplo, voc pode ver o stimo valor digitando u(7). O nmero 7 chamado de um ndice de arranjo, porque ele aponta para um elemento em particular no arranjo.

NDICE DE ARRANJO

Voc pode utilizar a funo length para determinar quantos valores h em um arranjo. Por exemplo, continue a sesso anterior da seguinte maneira:

20

Introduo ao MATLAB para Engenheiros

Arranjos exibidos na tela como uma nica linha de nmeros com mais de uma coluna so chamados de arranjos linha. Voc pode criar arranjos coluna, que possuem mais de uma linha, utilizando ponto e vrgula para separar as linhas.

Razes de polinmios
Podemos descrever um polinmio no MATLAB com um arranjo cujos elementos so os coeficientes do polinmio, comeando com o coeficiente da maior potncia de x. Por exemplo, o polinmio 4x3 - 8x2 + 7x - 5 seria representado pelo arranjo [4,-8,7,-5]. As razes do polinmio f(x) so os valores de x de tal modo que f(x) = 0. As razes de um polinmio podem ser calculadas com a funo roots(a), em que a o arranjo de coeficientes do polinmio. O resultado um arranjo coluna que contm as razes do polinmio. Por exemplo, para encontrar as razes de x3 - 7x2 + 40x - 34 = 0, a sesso

As razes so x = 1 e x = 3 ; 5i. Os dois comandos poderiam ter sido combinados no comando nico roots([1,-7,40,-34]).

Teste seus conhecimentos


T1.3-1 Utilize o MATLAB para determinar quantos elementos h no arranjo cos(0):0.02:log10(100). Utilize o MATLAB para determinar o vigsimo quinto elemento. (Resposta: 51 elementos e 1,48) T1.3-2 Utilize o MATLAB para encontrar as razes do polinmio 290 - 11x + 6x2 + x3. (Resposta: x = -10, 2 ; 5i)

Funes internas
Vimos algumas funes internas do MATLAB, tais como as funes sqrt e sin. A Tabela 1.3-1 lista algumas das funes internas do MATLAB comumente utilizadas. O Captulo 3 traz uma extensa abordagem sobre as funes internas. Os usurios do MATLAB podem criar suas prprias funes para suas necessidades especiais. A criao de funes definidas pelo usurio abordada no Captulo 3.

Trabalhando com arquivos


O MATLAB utiliza alguns tipos de arquivos que permitem salvar programas, dados e resultados de sesses. Como veremos na Seo 1.4, arquivos de funes do MATLAB e arquivos de programas so salvos com a extenso .m, e portanto so chamados de arquivos M. Arquivos MAT possuem a extenso .mat e so utilizados para salvar os nomes e os valores das variveis criadas durante uma sesso do MATLAB.

ARQUIVOS MAT

Captulo 1

Viso geral do MATLAB

21

TABELA 1.3-1 Algumas funes matemticas comumente utilizadas


Funo
ex ln x log10 x cos x sen x tan x cos-1 x sen-1 x tan-1 x

Sintaxe do MATLAB
exp(x) sqrt(x) log(x) log10(x) cos(x) sin(x) tan(x) acos(x) asin(x) atan(x)

As funes trigonomtricas do MATLAB listadas aqui utilizam medidas em radianos. As funes trigonomtricas que terminam em d, tais como sind(x) e cosd(x), consideram o argumento x em graus. As funes inversas, como atand(x), retornam valores em graus.

ARQUIVOS ASCII

ARQUIVO DE DADOS

Como eles so arquivos ASCII, os arquivos M podem ser criados utilizando-se apenas um processador de textos. Os arquivos MAT so arquivos binrios que geralmente podem ser lidos apenas pelo software que os criou. Eles contm uma assinatura de mquina que permite que sejam transferidos entre tipos diferentes de mquina, tais como MS Windows e Macintosh. O terceiro tipo de arquivo que utilizaremos um arquivo de dados, especificamente um arquivo de dados ASCII, isto , criado de acordo com o formato ASCII. Voc pode precisar utilizar o MATLAB para analisar dados armazenados em um arquivo gerado por um programa de planilhas, um processador de textos, um sistema de aquisio de dados de um laboratrio ou de um arquivo que voc compartilha com algum.

Salvando e recuperando suas variveis do espao de trabalho (workspace)


Se voc quiser continuar uma sesso do MATLAB posteriormente, voc pode utilizar os comandos save e load. Quando voc digita save, o MATLAB salva as variveis do espao de trabalho, isto , os nomes das variveis, seus tamanhos e seus valores, em um arquivo binrio chamado matlab.mat, o qual o MATLAB capaz de ler. Para recuperar suas variveis do espao de trabalho, digite load. Voc pode ento continuar sua sesso como antes. Para salvar as variveis do espao de trabalho em outro arquivo chamado filename.mat, digite save filename. Para carregar as variveis do espao de trabalho, digite load filename. Se o arquivo MAT filename que foi salvo contiver as variveis A, B, e C, ento ao carreg-lo as variveis sero inseridas de volta no espao de trabalho e sobrescrevero quaisquer variveis existentes que tenham os mesmos nomes. Para salvar apenas algumas das suas variveis, por exemplo, var1 e var2, no arquivo filename.mat, digite save filename.mat var1 var2. Voc no precisa digitar os nomes das variveis para recuper-las; apenas digite load filename.

N. de T.: ASCII um acrnimo para American Standard Code for Information Interchange, que em portugus significa Cdigo Padro Americano para o Intercmbio de Informao.

22

Introduo ao MATLAB para Engenheiros

CAMINHO

Diretrios e caminho importante saber a localizao dos arquivos que voc utiliza no MATLAB. Isso frequentemente causa problemas para os iniciantes. Suponha que voc utilize o MATLAB no seu computador em casa e salve um arquivo em um disco removvel, como ser discutido mais adiante nesta seo. Se voc levar esse disco para utilizar com o MATLAB em outro computador, como, por exemplo, no laboratrio de computadores da sua escola, voc deve se certificar de que o MATLAB sabe como encontrar os seus arquivos. Os arquivos so armazenados em diretrios, tambm chamados de pastas. Os diretrios podem ter subdiretrios abaixo deles. Por exemplo, suponha que o MATLAB foi instalado no drive c:, no diretrio c:\matlab. Ento o diretrio toolbox um subdiretrio abaixo do diretrio c:\matlab, e symbolic um subdiretrio abaixo do diretrio toolbox. O caminho informa ao MATLAB como encontrar um arquivo em particular. Trabalhando com discos removveis Na Seo 1.4 voc aprender como criar e salvar arquivos M. Suponha que voc tenha salvado o arquivo problema1.m no diretrio \homework em um disco, o qual voc insere no drive f:. O caminho para esse arquivo f:\homework. Como o MATLAB est normalmente instalado, quando voc digita problema1, 1. O MATLAB primeiro checa para ver se problema1 uma varivel e, se for, exibe o seu valor. 2. Se no, o MATLAB ento checa para ver se problema1 um dos seus prprios comandos; em caso afirmativo, ele o executa. 3. Se no, o MATLAB ento procura no diretrio atual por um arquivo com nome problem1.m e executa problem1, se ele o encontra. 4. Se no, o MATLAB ento busca por problem1.m em ordem nos diretrios em seu caminho de busca e, caso o encontre, ele o executa. Voc pode exibir o caminho de busca do MATLAB digitando path. Se problem1 estiver apenas no disco e se o diretrio f: no estiver no caminho de busca, o MATLAB no encontrar o arquivo e gerar uma mensagem de erro, a no ser que voc diga a ele onde procurar. Voc pode fazer isso digitando cd f:\homework, que representa mude o diretrio para f:\homework. Isso mudar o diretrio atual para f:\homework e forar o MATLAB a procurar seu arquivo nesse diretrio. A sintaxe geral desse comando cd dirname, em que dirname o caminho completo at o diretrio. Uma alternativa a esse procedimento copiar o seu arquivo para um diretrio no disco rgido que est no caminho de busca. Entretanto, h algumas armadilhas com essa abordagem: (1) se voc alterar o arquivo durante sua sesso, pode se esquecer de copiar o arquivo revisado de volta para o seu disco; (2) o disco rgido fica desorganizado (esse um problema em laboratrios de computadores pblicos, e talvez voc no seja autorizado a salvar seu arquivo em um disco rgido); (3) o arquivo pode ser apagado ou sobrescrito se o MATLAB for reinstalado; e (4) outra pessoa pode ter acesso ao seu trabalho! Voc pode determinar o diretrio atual (aquele em que o MATLAB procura por seu arquivo) digitando pwd. Para ver uma lista de todos os arquivos no diretrio atual, digite dir. Para ver os arquivos no diretrio dirname, digite dir dirname.

CAMINHO DE BUSCA

Captulo 1

Viso geral do MATLAB

23

TABELA 1.3-2 Comandos de sistema, diretrios e arquivos


Command
addpath dirname cd dirname dir dir dirname path pathtool pwd rmpath dirname what

Descrio
Adiciona o diretrio dirname ao caminho de busca. Muda o diretrio atual para dirname. Lista todos os arquivos no diretrio atual. Lista todos os arquivos no diretrio dirname. Exibe o caminho de busca do MATLAB. Inicializa a ferramenta Set Path. Exibe o diretrio atual. Remove o diretrio dirname do caminho de busca. Lista os arquivos especficos do MATLAB encontrados no diretrio de trabalho atual. A maioria dos arquivos de dados e outros arquivos que no so especficos do MATLAB no so listados. Utilize dir para obter uma lista de todos os arquivos. Lista os arquivos especficos do MATLAB no diretrio dirname. Exibe o nome do caminho de item se item for uma funo ou arquivo. Se item for uma varivel, o comando o identifica como tal.

what dirname which item

O comando what exibe uma lista dos arquivos especficos do MATLAB no diretrio atual. O comando what dirname faz o mesmo para o diretrio dirname. Digite which item para exibir o nome do caminho completo da funo item ou do arquivo item (inclua a extenso do arquivo). Se item for uma varivel, o MATLAB o identifica como tal. Voc pode adicionar um diretrio ao caminho de busca utilizando o comando addpath. Para remover um diretrio do caminho de busca, utilize o comando rmpath. A ferramenta Set Path uma interface grfica para trabalhar com arquivos e diretrios. Digite pathtool para iniciar o navegador. Para salvar as configuraes de caminho, clique em Save na ferramenta. Para restaurar o caminho de busca padro, clique em Default no navegador. Esses comandos esto resumidos na Tabela 1.3-2.

Plotando com o MATLAB


O MATLAB possui muitas funes poderosas e fceis de serem utilizadas para a criao de plotagens de vrios tipos diferentes, tais como plotagens retilneas, logartmicas, de superfcies e de contornos. Como um exemplo simples, plotemos a funo y = 5 sen x para 0 x 7. Utilizaremos um incremento de 0,01 para gerar um nmero grande de valores de x a fim de produzir uma curva suave. A funo plot(x,y) gera um grfico com os valores de x no eixo horizontal (as abscissas) e com os valores de y no eixo vertical (as ordenadas). A sesso >>x = 0:0.01:7; >>y = 3*cos(2*x); >>plot(x,y),xlabel(x),ylabel(y)
JANELA GRFICA

A plotagem aparece na tela em uma janela grfica, com o nome Figure 1, como pode ser visto na Figura 1.3-1. A funo xlabel insere o texto entre aspas simples como um rtulo no eixo horizontal. A funo ylabel faz o mesmo para o eixo vertical.

24

Introduo ao MATLAB para Engenheiros

FIGURA 1.3-1 Uma janela grfica mostrando uma plotagem.

PLOTAGENS SOBREPOSTAS

Quando o comando plot executado com sucesso, uma janela grfica aparece automaticamente. Se for desejada uma cpia da plotagem no disco rgido, ela pode ser obtida clicando-se em Print no menu File na janela grfica. A janela pode ser fechada clicando-se em Close no menu File da janela grfica; depois disso, o cursor retornar ao prompt na janela de Comandos. Outras funes de plotagens teis so title e gtext, que inserem texto em uma plotagem. Ambas aceitam texto entre parnteses e aspas simples, assim como a funo xlabel. A funo title insere o texto na parte superior da plotagem; a funo gtext insere o texto no ponto da plotagem em que o cursor estiver localizado quando voc clicar com o boto esquerdo do mouse. Voc pode criar plotagens mltiplas, chamadas de plotagens sobrepostas, incluindo outro conjunto ou outros conjuntos de valores na funo plot. Por exemplo, para plotar as funes e z = 4 sen 3x para 0 x 5 com o mesmo comando plot, a sesso >>x = 0:0.01:5; >>y = 2*sqrt(x); >>z = 4*sin(3*x); >>plot(x,y,x,z),xlabel(x),gtext(y),gtext(z) Depois que a plotagem aparece na tela, o programa espera para que voc posicione o cursor e clique com o boto do mouse, uma vez para cada comando gtext utilizado. Utilize a funo gtext para inserir os rtulos y e z prximos s curvas apropriadas. Voc tambm pode distinguir as curvas umas das outras utilizando diferentes tipos de linha para cada curva. Por exemplo, para plotar a curva z utilizando

Captulo 1

Viso geral do MATLAB

25

MARCADORES DE DADOS

uma linha tracejada, substitua a funo plot(x,y,x,z) na sesso anterior por plot(x,y,x,z, ). Outros tipos de linha podem ser utilizados, os quais so discutidos no Captulo 5. Algumas vezes til ou necessrio obter as coordenadas de um ponto em uma curva plotada. A funo ginput pode ser utilizada para esse fim. Insira essa funo ao final de todas as plotagens e de suas sentenas de formatao, de modo que a plotagem j esteja em seu formato final. O comando [x,y] = ginput(n) captura n pontos e retorna as coordenadas x e y nos vetores x e y, ambos com tamanho n. Posicione o cursor e clique com o mouse. As coordenadas retornadas e as coordenadas da plotagem se encontram na mesma escala. Nos casos em que voc estiver plotando dados, ao invs de funes, voc deveria utilizar marcadores de dados para plotar cada ponto (a no ser que haja muitos pontos). Para marcar cada ponto com o sinal de soma +, a sintaxe necessria para a funo plot plot(x,y,+). Voc pode conectar os pontos dos dados com linhas, se desejar. Nesse caso, voc deve plotar os dados duas vezes, uma vez com os marcadores de dados e outra sem os marcadores. Por exemplo, suponha que a varivel independente dos dados seja x = [15:2:23] e que os valores da varivel dependente sejam y = [20, 50, 60, 90, 70]. Para plotar os dados com sinais de soma, utilize a seguinte sesso: >>x = 15:2:23; >>y = [20, 50, 60, 90, 70]; >>plot(x,y,+,x,y),xlabel(x),ylabel(y), grid O comando grid insere linhas de grid na plotagem. Outros marcadores de dados esto disponveis, os quais so discutidos no Captulo 5. A Tabela 1.3-3 resume esses comandos de plotagem. Discutiremos outras funes de plotagem e o Editor de Plotagens (Plot Editor) no Captulo 5.
TABELA 1.3-3 Alguns comandos de plotagem do MATLAB
Comando
[x,y] = ginput(n) grid gtext(text) plot(x,y) title(text) xlabel(text) ylabel(text)

Descrio
Habilita o mouse a capturar n pontos de um plotagem, e retorna as coordenadas x e y nos vetores x e y, ambos com tamanho n. Insere linhas de grid na plotagem. Habilita a insero e o posicionamento de texto com o mouse. Gera uma plotagem do arranjo y versus o arranjo x em eixos lineares. Insere texto de ttulo na parte superior da plotagem. Adiciona um rtulo ao eixo horizontal (as abscissas). Adiciona um rtulo ao eixo vertical (as ordenadas).

Teste seus conhecimentos


T1.3-3 Utilize o MATLAB para plotar a funo ao longo do intervalo 0 t 5. Insira um ttulo na plotagem e rotule adequadamente os eixos. A varivel s representa a velocidade em ps por segundo; a varivel t representa o tempo em segundos.

26

Introduo ao MATLAB para Engenheiros

T1.3-4 Utilize o MATLAB para plotar as funes e z = 5e0,3x - 2x ao longo do intervalo 0 x 1,5. Rotule adequadamente a plotagem e cada curva. As variveis y e z representam foras em newtons; a varivel x representa a distncia em metros.

Equaes algbricas lineares


Voc pode utilizar o operador diviso esquerda (\) no MATLAB para solucionar conjuntos de equaes algbricas lineares. Por exemplo, considere o conjunto

Para solucionar tais conjuntos no MATLAB, voc deve criar dois arranjos; ns os denominaremos A e B. O nmero de linhas de A igual ao nmero de equaes e o nmero de colunas igual ao nmero de variveis. As linhas de A devem conter os coeficientes de x, y e z, nesta ordem. Nesse exemplo, a primeira linha de A deve ser 6, 12, 4; a segunda linha deve ser 7, -2, 3; e a terceira linha deve ser 2, 8, -9. O arranjo B contm as constantes que esto no lado direito da equao; ele tem uma nica coluna e tantas linhas quantas forem as equaes. Nesse exemplo, a primeira linha de B 70, a segunda 5 e a terceira 64. A soluo obtida digitando-se A\B. A sesso

A soluo x = 3, y = 5 e z = -2. Esse mtodo funciona bem quando o conjunto de equaes possui uma nica soluo. Para aprender a lidar com problemas que tenham mais de uma soluo (ou talvez nenhuma soluo!), veja o Captulo 8.

Teste seus conhecimentos


T1.3-5 Utilize o MATLAB para resolver o seguinte conjunto de equaes:

(Resposta: x = 2, y = -5, z = 10)

Captulo 1

Viso geral do MATLAB

27

1.4 Arquivos de script (script files) e o Editor/Debugador (Editor/Debugger)


Voc pode realizar operaes no MATLAB de duas maneiras: 1. No modo interativo, em que todos os comandos so inseridos diretamente na janela de Comandos. 2. Rodando um programa no MATLAB armazenado em um arquivo de script (script file). Esse tipo de arquivo contm comandos do MATLAB, portanto, rod-lo equivalente a digitar todos esses comandos, um por vez, no prompt da janela de Comandos. Voc pode rodar o arquivo digitando o seu nome no prompt da janela de Comandos. Quando o problema a ser solucionado necessita de muitos comandos, de um conjunto repetido de comandos ou envolve arranjos com muitos elementos, o modo interativo inconveniente. Felizmente, o MATLAB permite a voc escrever os seus prprios programas para evitar essa dificuldade. Voc escreve e salva programas no MATLAB em arquivos M (M-files), os quais possuem a extenso .m; por exemplo, program1.m. O MATLAB utiliza dois tipos de arquivos M: arquivos de script e arquivos de funes. Voc pode utilizar o Editor/Debugador (Editor/Debugger) interno do MATLAB para criar arquivos M. Uma vez que eles contm comandos, os arquivos de script so algumas vezes chamados de arquivos de comandos. Arquivos de funes so discutidos no Captulo 3.

ARQUIVO DE SCRIPT

Criando e utilizando um arquivo de script


COMENTRIO

O smbolo % designa um comentrio, que no executado pelo MATLAB. Comentrios so utilizados principalmente em arquivos de script com o propsito de documentar o arquivo. O smbolo de comentrio pode ser inserido em qualquer lugar da linha. O MATLAB ignora tudo que estiver escrito direita do smbolo %. Por exemplo, considere a seguinte sesso.

Note que a parte da linha antes do sinal % executada para calcular x. Aqui est um exemplo simples que ilustra como criar, salvar e rodar um arquivo de script, utilizando o Editor/Debugador interno do MATLAB. Entretanto, voc pode utilizar outro editor de textos para criar o arquivo. O arquivo de amostra apresentado a seguir. Ele calcula o cosseno da raiz quadrada de alguns nmeros e exibe o resultado na tela.

28

Introduo ao MATLAB para Engenheiros

FIGURA 1.4-1 A janela de comandos do MATLAB com o Editor/Debugador aberto.

Para criar esse novo arquivo M na janela de Comandos, selecione New no menu File e clique em Blank M-File. Voc ver ento uma nova janela de edio. Essa a janela do Editor/Debugador, mostrada na Figura 1.4-1. Digite no arquivo conforme est na figura. Voc pode utilizar o teclado e o menu Edit no Editor/Debugador como o faria na maioria dos processadores de texto para criar e editar um arquivo. Quando tiver terminado, selecione Save no menu File do Editor/Debugador. Na caixa de dilogo que aparece, substitua o nome padro dado (normalmente Untitled) pelo nome Example_1 e clique em Save. O Editor/Debugador automaticamente incluir a extenso .m e salvar o arquivo no diretrio atual do MATLAB, que, por enquanto, consideraremos que est no disco rgido. Uma vez que o arquivo foi salvo, digite na janela de Comandos do MATLAB o nome do arquivo de script Example_1 para executar o programa. Voc ver o resultado exibido na janela de Comandos. A Figura 1.4-1 mostra uma tela contendo a exibio resultante da janela de Comandos e o Editor/Debugador aberto para exibir o arquivo de script.

Utilizao eficaz de arquivos de script


Crie arquivos de script para evitar a necessidade de redigitar procedimentos longos e comumente utilizados. Aqui esto alguns outros pontos que voc deve ter em mente quando utilizar arquivos de script: 1. O nome de um arquivo de script deve seguir a conveno do MATLAB para nomeao de variveis.

Captulo 1

Viso geral do MATLAB

29

2. Lembre-se de que, quando voc digitar o nome de uma varivel no prompt da janela de Comandos, o MATLAB exibir o valor daquela varivel. Assim, no d a um arquivo de script o mesmo nome de uma varivel que ele calcula, porque o MATLAB no ser capaz de executar o arquivo de script mais de uma vez, a no ser que voc apague a varivel. 3. No d a um arquivo de script o mesmo nome de um comando ou funo do MATLAB. Voc pode checar se o comando, funo ou nome do arquivo j existe utilizando o comando exist. Por exemplo, para ver se uma varivel example1 j existe, digite exist(example1) ; ser retornado 0 se a varivel no existir, ou 1 se existir. Para ver se um arquivo M example1.m j existe, digite exist(example.m,file) antes de criar o arquivo; ser retornado 0 se o arquivo no existir, ou 2 se ele existir. Finalmente, para ver se uma funo interna example1 j existe, digite exist(example1,builtin) antes de criar o arquivo; ser retornado 0 se a funo interna no existir, ou 5 se ela existir. Note que nem todas as funes fornecidas pelo MATLAB so funes internas. Por exemplo, a funo mean.m fornecida mas no uma funo interna. O comando exist(mean.m,file) retornar 2, mas o comando exist(mean,builtin) retornar 0. Voc pode pensar nas funes internas como primitivas que formam a base para outras funes do MATLAB. Voc no pode visualizar o arquivo inteiro de uma funo interna em um editor de textos, apenas os comentrios.

Debugando arquivos de script


DEBUGANDO

Debugar um programa o processo de encontrar e remover os bugs, ou erros. Tais erros normalmente esto em uma das seguintes categorias. 1. Erros de sintaxe, como a omisso de parnteses ou vrgulas ou a digitao incorreta do nome de um comando. O MATLAB normalmente detecta os erros mais bvios e exibe uma mensagem descrevendo o erro e a sua localizao. 2. Erros devido a um procedimento matemtico incorreto, chamados de erros em tempo de execuo. Eles no ocorrem necessariamente toda vez que o programa executado; sua ocorrncia em geral depende dos dados de entrada. Um exemplo comum a diviso por zero. Para localizar um erro, tente o seguinte: 1. Sempre teste seu programa com uma verso simples do problema, cuja resposta pode ser checada por clculos mo. 2. Exiba alguns clculos intermedirios removendo o sinal de ponto e vrgula no final de sentenas. 3. Utilize as funcionalidades prprias para debugar do Editor/Debugador, que sero introduzidas no Captulo 4. Entretanto, uma vantagem do MATLAB que ele requer programas relativamente simples para realizar muitos tipos de tarefas. Deste modo, voc provavelmente no precisar utilizar o Debugador para os problemas encontrados neste texto.

30

Introduo ao MATLAB para Engenheiros

Estilo de programao
Comentrios podem ser inseridos em qualquer lugar no arquivo de script. Entretanto, uma vez que a primeira linha de comentrio antes de qualquer sentena executvel a linha procurada pelo comando lookfor, que ser discutido mais adiante neste captulo, insira palavras-chave que descrevem o arquivo de script nessa primeira linha (chamada de linha H1). Uma estrutura sugerida para um arquivo de script a seguinte. 1. Seo de comentrios Nesta seo, insira sentenas de comentrio que contenham a. O nome do programa e algumas palavras-chave na primeira linha. b. A data de criao e o nome do criador na segunda linha. c. As definies dos nomes de varivel para cada entrada e sada. Divida esta seo em pelo menos duas subsees, uma para dados de entrada e outra para dados de sada. Uma terceira seo opcional pode incluir definies de variveis utilizadas nos clculos. Lembre-se de incluir as unidades de medida para todas as variveis de entrada e de sada! d. O nome de toda funo definida pelo usurio chamada pelo programa. 2. Seo de entrada Nesta seo, insira os dados de entrada e/ou as funes de entrada que possibilitem a insero de dados. Inclua comentrios onde for apropriado para documentao. 3. Seo de clculos Insira os clculos nesta seo. Inclua comentrios onde for apropriado para documentao. 4. Seo de sada Nesta seo, insira as funes necessrias para apresentar as sadas na forma desejada. Por exemplo, esta seo pode conter funes para exibir a sada na tela. Inclua comentrios onde for apropriado para documentao. Os programas neste texto frequentemente omitem alguns desses elementos para economizar espao. Aqui, a discusso do texto associada com os programas fornece a documentao necessria.

Controlando entradas e sadas


O MATLAB fornece alguns comandos teis para a obteno de entradas do usurio e para a formatao da sada (os resultados obtidos pela execuo dos comandos do MATLAB). A Tabela 1.4-1 resume esses comandos. A funo disp (abreviao de display) pode ser utilizada para exibir o valor de uma varivel, mas no o seu nome. A sua sintaxe disp(A), em que A representa o nome de uma varivel no MATLAB. A funo disp tambm pode exibir texto, como uma mensagem para o usurio. Voc deve escrever o texto entre aspas simples. Por exemplo, o comando disp(A velocidade prevista :) faz com que essa mensagem aparea na tela. Este comando pode ser utilizado com a primeira forma da funo disp em um arquivo de script da seguinte maneira (considerando que o valor de Velocidade 63): disp(A velocidade prevista :) disp(velocidade) Quando o arquivo rodado, essas linhas produzem o seguinte na tela:

Captulo 1

Viso geral do MATLAB

31

TABELA 1.4-1 Comandos de entrada/sada


Comando
disp(A) disp(text) format x = input(text)

Descrio

Exibe o contedo, mas no o nome, do arranjo A. Exibe o texto entre aspas simples. Controla o formato de exibio da sada na tela (ver Tabela 1.1-5). Exibe o texto entre aspas simples na tela, espera pela entrada do usurio a partir do teclado, e armazena o valor em x. x = input(text,s) Exibe o texto entre aspas simples na tela, espera pela entrada do usurio a partir do teclado, e armazena a entrada como uma string em x. k=menu(title,option1, Exibe um menu cujo ttulo a varivel string title e cujas option2,...) opes so option1, option2, e assim por diante.

VARIVEL STRING

A funo input exibe o texto na tela, espera que o usurio entre com algo a partir do teclado e ento armazena a entrada na varivel especificada. Por exemplo, o comando x = input(Por favor, entre com o valor de x:) faz com que a mensagem aparea na tela. Se voc digitar 5 e pressionar Enter, varivel x ser atribudo o valor 5. Uma varivel string composta de texto (caracteres alfanumricos). Se voc quiser armazenar um texto de entrada como uma varivel string, utilize a outra forma do comando de entrada. Por exemplo, o comando Calendrio = input(Entre com o dia da semana:,s) induz a entrar com o dia da semana. Se voc digitar Quarta-feira, esse texto ser armazenado na varivel string Calendario. Utilize a funo menu para gerar um menu de opes para a entrada do usurio. Sua sintaxe k = menu(title,option1,option2,...) A funo exibe o menu cujo ttulo a varivel string title e cujas opes so as variveis string option1, option2, e assim por diante. O valor retornado de k 1, 2,..., dependendo se voc clicar no boto para option1, option2, e assim por diante. Por exemplo, o seguinte script utiliza um menu para selecionar um marcador de dados para um grfico, presumindo que os arranjos x e y j existam.

Teste seus conhecimentos


T1.4-1 A rea de superfcie A de uma esfera depende do seu raio r da seguinte maneira: A = 4r2. Escreva um arquivo de script que induza o usurio a entrar com um valor de raio, calcule a rea de superfcie A e exiba o resultado.

32

Introduo ao MATLAB para Engenheiros

Exemplo de um arquivo de script


A seguir, apresentamos um exemplo simples de um arquivo de script que mostra o estilo de programao apresentado nesta seo. A velocidade v de um objeto em queda livre (velocidade inicial nula, portanto) dada como uma funo do tempo t por = gt, em que g a acelerao devido gravidade. Nas unidades do SI, g = 9,81 m/s2. Ns queremos calcular e plotar v como uma funo de t para 0 t tfinal, em que tfinal o tempo final definido pelo usurio. O arquivo de script o seguinte: % Programa Velocidade_de_Queda.m: plota a velocidade de queda % de um objeto. % Criado em 01/03/2009, por W. Palm III % % Varivel de entrada: % tfinal = tempo final (em segundos) % % Variveis de sada: % t = arranjo de instantes de tempo em que a velocidade % calculada (segundos) % v = arranjo de velocidades (metros/segundo) % % Valor de parmetro: g = 9.81; % Acelerao em unidades do SI % % Seo de entrada: tfinal = input(Entre com o tempo final em segundos:); % % Seo de clculo: dt = tfinal/500; t = 0:dt:tfinal; % Cria um arranjo com 501 valores de tempo. v = g*t; % % Seo de sada: plot(t,v) xlabel(Tempo(segundos)), ylabel(Velocidade (metros/... segundo)) Aps criar esse arquivo, salve-o com o nome Velocidade_de_Queda.m. Para rod-lo, digite Velocidade_de_Queda (sem o .m) no prompt da janela de Comandos. Voc ser ento solicitado a entrar com um valor para tfinal. Depois de entrar com o valor e pressionar Enter, voc ver a plotagem na tela.

1.5 O Sistema de Ajuda do MATLAB


Para explorar as funcionalidades mais avanadas do MATLAB no abordadas neste livro, voc precisar saber como utilizar de modo eficaz o Sistema de Ajuda (Help System) do MATLAB. O MATLAB apresenta as seguintes opes de obteno de ajuda para utilizar os produtos MathWorks:

Captulo 1

Viso geral do MATLAB

33

1. Navegador de Funes (Function Browser) Fornece rpido acesso documentao das funes do MATLAB. 2. Navegador de Ajuda (Help Browser) Essa interface grfica do usurio ajuda voc a encontrar informao e a visualizar a documentao online dos seus produtos MathWorks. 3. Funes de Ajuda As funes help, lookfor e doc podem ser utilizadas para exibir informaes de sintaxe de uma funo especfica. 4. Outros recursos Para ajuda adicional, voc pode rodar demos, entrar em contato com o suporte tcnico, procurar a documentao de outros produtos MathWorks, ver uma lista de outros livros e participar de um grupo de discusso.

O Navegador de Funes (Function Browser)


Para ativar o Navegador de Funes, selecione-o no menu Help ou selecione o cone fx esquerda do prompt. A Figura 1.5-1 mostra o menu que aparece aps a categoria Graphics ser selecionada. A subjanela mostrada aberta quando a funo plot selecionada. Desa a barra de rolagem para ver a documentao inteira da funo plot.

O Navegador de Ajuda (Help Browser)


Para abrir o Navegador de Ajuda, selecione Product Help no menu Help, ou clique no ponto de interrogao na barra de ferramentas. O Navegador de Ajuda contm dois painis: o painel do Navegador de Ajuda propriamente dito (Help Navigator) esquerda e o painel de Exibio direita (ver Figura 1.5-2). O painel do Navegador de Ajuda contm duas abas:

Contents: uma aba de listagem de contedos Search Results: uma aba de busca que tem as funcionalidades de busca de funes e de busca de texto

FIGURA 1.5-1 O Navegador de Funes aps a seleo de plot.

34

Introduo ao MATLAB para Engenheiros

FIGURA 1.5-2 O Navegador de Ajuda (Help Browser) do MATLAB.

Utilize as abas no painel do Navegador de Ajuda para encontrar a documentao. Voc visualiza a documentao no painel de Exibio. Para abrir o painel do Navegador de Ajuda a partir do painel de Exibio, clique em Help Navigator no menu View.

Encontrando a documentao
A Figura 1.5-3 mostra o resultado de se clicar no sinal + prximo palavra MATLAB no painel do Navegador de Ajuda (Help Navigator). Um submenu aparece mostrando os vrios tpicos de Ajuda para o MATLAB.

Visualizando a documentao
Aps encontrar a documentao utilizando o painel do Navegador de Ajuda, visualize-a no painel de Exibio. Enquanto visualiza a pgina de documentao, voc pode:

Mover a barra de rolagem para ver os contedos que no esto visveis na janela. Visualizar a pgina anterior ou posterior no documento clicando na seta para a esquerda ou na seta para a direita na parte superior da pgina. Visualizar o item anterior ou posterior no ndice clicando na seta para a esquerda ou na seta para a direita na parte inferior da pgina. Encontrar uma frase ou um termo especfico ao digitar o termo na caixa Search abaixo da barra de ferramentas do Navegador de Ajuda (Help Browser) e pressionar a tecla Enter. O painel esquerda exibir ento todas as pginas de Ajuda e toda a documentao das funes que contm o termo especfico.

Captulo 1

Viso geral do MATLAB

35

FIGURA 1.5-3 O painel do Navegador de Ajuda (Help Navigator) mostrando os submenus abaixo da categoria MATLAB.

Utilizando a aba de contedos


Clique na aba Contents no painel do Navegador de Ajuda para listar os ttulos e o ndice para toda a documentao do produto. Para expandir a listagem de um item, clique no sinal + esquerda do item. Para suprimir a listagem de um item, clique no sinal esquerda do item, ou clique duas vezes no item. Clique em um item para selecion-lo. A primeira pgina daquele documento aparecer no painel de Exibio. Um duplo clique em um item na listagem de contedos expande a listagem para aquele item e mostra a primeira pgina do documento no painel de Exibio. H um sincronismo entre o painel de Contedos (Contents) e o painel de Exibio. Por padro, o item selecionado no painel de Contedos sempre corresponde documentao que aparece no painel de Exibio. Portanto, a rvore de contedos sincronizada com o documento exibido.

Utilizando a aba de resultados de busca


Clique na aba Search Results no painel do Navegador de Ajuda para encontrar todos os documentos do MATLAB que contm uma frase especfica. Digite a frase na caixa Search e pressione Enter. A lista de documentos e a posio em que a frase encontrada nesse documento aparecero no painel do Navegador de Ajuda. Selecione uma entrada na lista de resultados para visualizar esse documento no painel de Exibio. A Figura 1.5-4 mostra os resultados obtidos aps digitar-se plot na caixa Search. O painel de Exibio mostra a documentao para a funo plot (desa a barra de rolagem para ver todo o contedo), e o painel do Navegador de Ajuda (Help

36

Introduo ao MATLAB para Engenheiros

Navigator) mostra os resultados de Busca de Documentao (Documentation Search results) e os resultados de Busca de Demonstrao (Demo Search results).

Funes de ajuda
Trs funes do MATLAB podem ser utilizadas para acessar informao imediata sobre funes do MATLAB. A funo help Esta a maneira mais bsica de se determinar a sintaxe e o comportamento de uma funo especfica. Por exemplo, ao digitar-se help log10 na janela de Comandos, a seguinte exibio ser produzida:

Note que a exibio descreve o que a funo faz, alerta sobre resultados inesperados se valores de argumento fora do padro forem utilizados e direciona o usurio a outras funes relacionadas. Todas as funes do MATLAB esto organizadas em grupos lgicos, sobre os quais a estrutura de diretrios do MATLAB est baseada. Por exemplo, todas as funes matemticas elementares, tais como log10, residem no diretrio elfun, e as funes polinomiais residem no diretrio polyfun. Para listar os nomes de todas as funes nesse ltimo diretrio, com uma breve descrio de cada uma, digite help polyfun. Se voc no tem certeza de qual diretrio buscar, digite help para obter uma lista de todos os diretrios, com uma descrio da categoria de funes que cada um representa.

FIGURA 1.5-4 Os resultados obtidos aps digitar-se plot na caixa Search.

Captulo 1

Viso geral do MATLAB

37

Digite helpwin topic para exibir o texto de Ajuda para topic dentro da janela do Navegador de Ajuda (Help Browser). na rea de Trabalho. Links so criados para funes referenciadas na linha See Also do texto de Ajuda. Voc tambm pode acessar a janela de Ajuda selecionando a opo Help no menu Help, ou clicando no boto com ponto de interrogao na barra de ferramentas. A funo lookfor Esta funo permite procurar funes com base em uma palavra-chave. Ela procura na primeira linha do texto de Ajuda, conhecida como linha H1, de cada funo do MATLAB, e retorna todas as linhas H1 que contm a palavra-chave especificada. Por exemplo, o MATLAB no possui uma funo denominada sine, portanto, a resposta para o comando help sine ser sine.m not found Entretanto, o comando lookfor sine produzir mais de uma dzia de correspondncias dependendo de quais toolboxes voc tiver instalado. Por exemplo, voc ver, entre outros,

A partir dessa lista voc pode encontrar o nome correto para a funo seno. Note que todas as palavras que contm sine so retornadas, tais como cosine. Adicione all ao comando lookfor para que a funo procure em todo o texto de Ajuda, e no apenas na linha H1. A funo doc Se voc digitar doc function, ser exibida a documentao para a funo function do MATLAB. Se voc digitar doc toolbox/function, ser exibida a documentao para a funo no toolbox especificado. Digitando doc toolbox, ser exibida a pgina do mapa de rota da documentao para o toolbox especificado.

A pgina da MathWorks
Se o seu computador estiver conectado Internet, voc pode acessar The MathWorks, Inc., a criadora do MATLAB. Voc pode utilizar o correio eletrnico para fazer perguntas, dar sugestes e reportar possveis bugs. Voc tambm pode utilizar um mecanismo de busca de solues para consultar uma base de dados atualizada com informaes de suporte tcnico. O endereo da pgina http://www.mathworks.com. O sistema de Ajuda muito poderoso e detalhado, por isso, ns apenas descrevemos o seu funcionamento bsico. Voc pode, e deve, explorar o sistema de Ajuda para aprender a como utilizar suas funcionalidades com maiores detalhes. A Tabela 1.5-1 resume as funes de Ajuda do MATLAB.

38

Introduo ao MATLAB para Engenheiros

TABELA 1.5-1 Funes de Ajuda do MATLAB


Funo
doc doc function doc toolbox/function doc toolbox help help function helpwin topic lookfor topic

Utilizao
Exibe a pgina inicial de documentao no Navegador de Ajuda. Exibe a documentao para a funo function do MATLAB. Exibe a documentao para a funo no toolbox especificado. Exibe a pgina do mapa de rota da documentao para o toolbox especificado. Exibe uma lista com todos os diretrios de funes, com uma descrio da categoria de funes que cada um representa. Exibe na janela de Comandos uma descrio da funo function especificada. Exibe o texto de Ajuda para topic dentro da janela do Navegador de Ajuda. Exibe na janela de Comandos uma breve descrio para todas as funes cuja descrio inclui a palavra-chave topic especificada. Exibe o nome do arquivo M filename sem abri-lo com um editor de textos.

type filename

1.6 Metodologias para resoluo de problemas


O projeto de novos dispositivos e sistemas de engenharia exige uma multiplicidade de habilidades para a resoluo de problemas (essa multiplicidade o que evita que a engenharia se torne chata!). Quando voc est resolvendo um problema, importante planejar suas aes com antecedncia. Voc pode gastar muitas horas se mergulhar no problema sem um plano de ataque. Aqui, apresentaremos um plano de ataque, ou metodologia, para a resoluo de problemas de engenharia em geral. Uma vez que a resoluo de problemas de engenharia muitas vezes exige uma soluo computacional, e uma vez que os exemplos neste texto exigem que voc desenvolva uma soluo computacional (utilizando o MATLAB), tambm discutiremos uma metodologia para a resoluo de problemas computacionais em particular.

Passos na resoluo de problemas de engenharia


A Tabela 1.6-1 resume a metodologia que tem sido experimentada e testada pelos profissionais de engenharia por muitos anos. Esses passos descrevem um procedimento geral para a resoluo de problemas. O ato de simplificar suficientemente o problema e aplicar os princpios fundamentais apropriados chamado de modelagem, e a descrio matemtica resultante chamada de modelo matemtico, ou simplesmente de modelo. Quando a modelagem estiver finalizada, precisamos resolver o modelo matemtico para obter a resposta necessria. Se o modelo for altamente detalhado, talvez seja preciso resolv-lo com um programa de computador. A maior parte dos exemplos e exerccios neste texto exige que voc desenvolva uma soluo computacional (utilizando o MATLAB) dos problemas para os quais o modelo j tenha sido desenvolvido. Desse modo, no precisaremos utilizar sempre todos os pas-

MODELO

Captulo 1

Viso geral do MATLAB

39

TABELA 1.6-1 Passos na resoluo de problemas de engenharia


1. Entenda o objetivo do problema. 2. Rena as informaes conhecidas. possvel que voc descubra posteriormente que algumas delas so desnecessrias. 3. Determine quais informaes voc precisa encontrar. 4. Simplifique o problema apenas o suficiente para obter a informao necessria. Tome nota de todas as hipteses que voc fizer. 5. Desenhe um esboo e nomeie todas as variveis necessrias. 6. Determine quais princpios fundamentais so aplicveis. 7. Pense de maneira geral sobre a abordagem de resoluo proposta e considere outras abordagens antes de prosseguir com os detalhes. 8. D um nome a cada passo no processo de resoluo. 9. Se voc resolver o problema com um programa, verifique mo os resultados utilizando uma verso simples do problema. A verificao das dimenses a das unidades e a impresso dos resultados dos passos intermedirios na sequncia de clculos podem lhe auxiliar na descoberta de erros. 10. Submeta sua resposta a uma verificao de veracidade. Ela faz sentido? Estime a faixa dos resultados esperados e compare-a com a sua resposta. No exprima a resposta com uma preciso maior do que a que seria justificada por qualquer dos seguintes: (a) A preciso da informao dada. (b) As hipteses simplificadoras. (c) As exigncias do problema. Interprete os clculos matemticos. Se eles produzirem mltiplas respostas, no descarte nenhuma delas sem considerar o que elas significam. Os clculos podem estar tentando dizer a voc alguma coisa, e voc pode perder uma oportunidade de descobrir algo mais sobre o problema.

sos mostrados na Tabela 1.6-1. Mais discusses sobre a resoluo de problemas de engenharia podem ser encontrados em [Eide, 2008].3

Exemplo de resoluo de problema


Considere o seguinte exemplo simples dos passos envolvidos na resoluo de problemas. Suponha que voc trabalhe para uma companhia que produz embalagens. Informam a voc que um novo material de embalagens pode proteger um pacote quando ele cai, dado que o pacote se choca com o cho com uma velocidade menor do que 25 ft/s. O peso total do pacote de 20 lb, e ele tem formato retangular com dimenses de 12 por 12 por 8 in (polegadas). Voc deve determinar se o material da embalagem oferece proteo suficiente quando o pacote transportado por entregadores. Os passos na resoluo so os seguintes: 1. Entenda o objetivo do problema. A implicao aqui que a embalagem se destina a proteger o pacote contra quedas enquanto o responsvel pela entrega a estiver carregando. Ela no se destina a proteger o pacote caso ele caia de um
3

As referncias aparecem no Apndice D.

40

Introduo ao MATLAB para Engenheiros

2. 3.

4.

5.

6.

7.

caminho de entregas em movimento. Na prtica, voc deve se certificar de que a pessoa que deu a voc essa atribuio est fazendo essa mesma suposio. Falta de clareza na comunicao a causa de muitos erros! Rena as informaes conhecidas. As informaes conhecidas so o peso e as dimenses do pacote, e a mxima velocidade de impacto permitida. Determine quais informaes voc precisa encontrar. Apesar de isso no ter sido declarado explicitamente, voc precisa determinar a altura mxima a partir da qual o pacote pode cair sem ser danificado. Voc precisa encontrar uma relao entre a velocidade de impacto e a altura a partir da qual o pacote cai. Simplifique o problema apenas o suficiente para obter a informao necessria. Tome nota de todas as hipteses que voc fizer. As seguintes hipteses simplificaro o problema e so consistentes com a definio do problema como ns o entendemos: a. O pacote cai a partir do repouso sem velocidade vertical ou horizontal. b. O pacote no cai rolando pelo cho (como poderia acontecer se casse de um caminho em movimento). As dimenses dadas indicam que o pacote no fino e, portanto, no flutuar enquanto cai. c. O efeito da resistncia do ar desprezvel. d. A maior altura a partir da qual o entregador pode deixar o pacote cair de 6 ft (e assim ignoramos a existncia de um entregador com altura de 8 ft!). e. A acelerao g devido gravidade constante (porque a altura de queda de apenas 6 ft). Desenhe um esboo e nomeie todas as variveis necessrias. A Figura 1.6-1 um esboo da situao, mostrando a altura h do pacote, sua massa m, sua velocidade v e a acelerao g devido gravidade. Determine quais princpios fundamentais so aplicveis. Uma vez que esse problema envolve uma massa em movimento, podemos aplicar as leis de Newton. Da fsica ns sabemos que as seguintes relaes resultam das leis de Newton e definem a cinemtica bsica de um objeto que cai de uma altura pequena sob a influncia da gravidade, sem resistncia do ar ou velocidade inicial: a. Altura versus tempo de impacto ti: b. Velocidade de impacto vi versus tempo de impacto: i = gti c. Conservao da energia mecnica: Pense de maneira geral sobre a abordagem de resoluo proposta e considere outras abordagens antes de prosseguir com os detalhes. Poderamos resolver a segunda equao para ti e substituir o resultado na primeira equao para obter a relao entre h e vi. Essa abordagem tambm nos permitiria encontrar o tempo de queda ti. Entretanto, este mtodo envolve mais trabalho do que o necessrio porque no precisamos encontrar o valor de ti. A abordagem mais eficiente resolver a terceira relao para h. (1.6-1)

Captulo 1

Viso geral do MATLAB

41

Pacote m v

h g

Cho FIGURA 1.6-1 Esboo do problema da queda do pacote.

Note que a massa m cancelada na equao. A matemtica simplesmente nos disse algo! Ela nos disse que a massa no afeta a relao entre a velocidade de impacto e a altura da queda. Deste modo, no precisamos do peso do pacote para resolver o problema. 8. D um nome a cada passo no processo de resoluo. Este problema to simples que h apenas alguns passos a serem nomeados: a. Princpio bsico: conservao da energia mecnica

b. Determine o valor da constante g: g = 32,2 ft/s2 c. Utilize a informao dada para realizar o clculo e arredondar o resultado de maneira consistente com a preciso da informao dada:

Uma vez que este texto sobre MATLAB, podemos utiliz-lo para fazer esse clculo simples. A sesso :

9. Verifique as dimenses e unidades. Essa verificao feita da seguinte maneira, utilizando a Equao (1.6-1):

Portanto, as dimenses e unidades esto corretas.

42

Introduo ao MATLAB para Engenheiros

10. Submeta sua resposta a uma verificao de veracidade e de preciso. Se a altura calculada for negativa, saberamos que fizemos algo errado. Se ela fosse muito grande, poderamos desconfiar. Entretanto, a altura calculada de 9,7 ft parece razovel. Se tivssemos utilizado um valor mais preciso para g, digamos g = 32,17, ento seria justificvel arredondar o resultado para h = 9,71. Entretanto, devido necessidade de sermos conservadores aqui, ns provavelmente deveramos arredondar a resposta para baixo. Ento provavelmente deveramos reportar que o pacote no ser danificado se ele cair de uma altura menor do que 9 ft. Os clculos revelaram que a massa do pacote no afeta a resposta. Eles no produziram mltiplas respostas aqui. Entretanto, muitos problemas envolvem a resoluo de polinmios com mais de uma raiz; em tais casos, devemos examinar cuidadosamente o significado de cada uma.

Passos para a obteno de uma soluo computacional


Se voc utilizar um programa como o MATLAB para resolver um problema, siga os passos mostrados na Tabela 1.6-2. Mais discusses sobre modelagem e solues computacionais podem ser encontradas em [Starfield, 1990] e [Jayaraman, 1991]. O MATLAB til para fazer muitos clculos complicados e, ento, gerar automaticamente um grfico de resultados. O seguinte exemplo ilustra o procedimento para desenvolver e testar um programa desse tipo.
TABELA 1.6-2 Passos para o desenvolvimento de uma soluo computacional
1. Defina o problema de maneira concisa. 2. Especifique os dados a serem utilizados pelo programa. Isso a entrada. 3. Especifique a informao a ser gerada pelo programa. Isso a sada. 4. Trabalhe mo ou com uma calculadora ao longo dos passos da soluo; utilize um conjunto mais simples de dados se necessrio. 5. Escreva e rode o programa. 6. Compare a sada do programa com sua soluo mo. 7. Rode o programa com seus dados de entrada e submeta a sada a uma verificao de veracidade. Ela faz sentido? Estime a faixa de valores esperados e compare-a com sua resposta. 8. Se voc for utilizar o programa como uma ferramenta geral no futuro, faa testes rodando-o com uma faixa de valores de dados razoveis; submeta os resultados a uma verificao de veracidade.

EXEMPLO 1.6-1

Movimento de um pisto

A Figura 1.6.2a mostra um pisto, uma biela e uma manivela de um motor de combusto interna. Quando ocorre a combusto, ela empurra o pisto para baixo. Esse movimento faz com que a biela gire a manivela, o que faz com que a cambota rode. Queremos desenvolver um programa em MATLAB para calcular e plotar a distncia d percorrida pelo pisto como uma funo do ngulo A, para dados valores de comprimento L1 e L2. Tal plotagem ajudaria os engenheiros projetistas do motor a selecionar valores apropriados de L1 e L2.

Captulo 1

Viso geral do MATLAB

43

Foi dito a ns que valores tpicos para esses comprimentos so L1 = 1 ft e L2 = 0,5 ft. Uma vez que o movimento do mecanismo simtrico em torno de A = 0, precisamos considerar apenas ngulos na faixa 0 A 180. A Figura 1.6-2b mostra a geometria do movimento. A partir dessa figura podemos utilizar trigonometria para escrever as seguintes expresses para d: d = L1 cos B + L2 cos A (1.6-2)

Desse modo, para determinar d, dados os comprimentos L1 e L2 e o ngulo A, precisamos determinar primeiro o ngulo B. Podemos fazer isso utilizando a lei dos senos, da seguinte maneira:

Resolva esta equao para B:

(1.6-3) As Equaes (1.6-2) e (1.6-3) constituem a base dos nossos clculos. Desenvolva e teste um programa em MATLAB para plotar d versus A.

Pisto

L1 Biela B

L1 B d

A Manivela L2 Cambota (a) L2

(b)

FIGURA 1.6-2 Um pisto, uma biela e uma manivela de um motor de combusto interna.

44

Introduo ao MATLAB para Engenheiros

Soluo
1. Defina o problema de maneira concisa. Utilize as Equaes (1.6-2) e (1.6-3) para calcular d; utilize valores suficientes de A na faixa 0 A 180 para gerar uma plotagem adequada (suave). 2. Especifique a entrada a ser utilizada pelo programa. Os comprimentos L1 e L2 e o ngulo A so dados. 3. Especifique a sada a ser gerada pelo programa. Uma plotagem de d versus A a sada desejada. 4. Trabalhe mo ou com uma calculadora ao longo dos passos da soluo. Voc pode ter cometido algum erro ao derivar as frmulas trigonomtricas, ento voc deveria verific-las para alguns casos. Voc pode verificar esses erros utilizando uma rgua e um transferidor para fazer um desenho em escala do tringulo para alguns valores do ngulo A; mea o comprimento d e compare-o com os valores calculados. Ento voc pode utilizar esses resultados para verificar a sada do programa. Quais valores de A voc deveria utilizar para as verificaes? Uma vez que o tringulo colapsa quando A = 0 e A = 180, voc deveria verificar esse casos. Os resultados so d = L1 - L2 para A = 0 e d = L1 + L2 para A = 180. O caso A = 90 tambm facilmente verificvel mo, utilizando o teorema de Pitgoras; para esse caso d = . Voc tambm deveria verificar um ngulo no quadrante 0 6 A 6 90 e outro ngulo no quadrante 90 6 A 6 180. A tabela a seguir mostra os resultados desses clculos utilizando os valores tpicos dados: L1 = 1, L2 = 0,5 ft.
A (graus)
0 60 90 120 180

Aqui esto os passos da soluo, seguindo aqueles listados na Tabela 1.6-2.

d (ft )
1,5 1,15 0,87 0,65 0,5

5. Escreva e rode o programa. A seguinte sesso do MATLAB utiliza os valores L1 = 1, L2 = 0,5 ft:

Note a utilizao do sinal trao inferior ( _ ) nos nomes de variveis para tornar esses nomes mais significativos. A varivel A_d representa o ngulo A em graus. A linha 4 cria um arranjo de nmeros 0, 0,5, 1, 1,5,..., 180. A linha 5 converte esses valores de graus para radianos e atribui os valores varivel A_r. Essa converso necessria porque as funes trigonomtricas do MATLAB utilizam radianos, no graus (um

Captulo 1

Viso geral do MATLAB

45

1,5 1,4 1,3 1,2 1,1 d (ps) 1 0,9 0,8 0,7 0,6 0,5 0 20 40 60 80 100 A (graus) 120 140 160 180

FIGURA 1.6-3 Plotagem do movimento do pisto versus o ngulo da manivela.

lapso comum a utilizao de valores em graus). O MATLAB fornece a constante interna pi a ser usada para . A linha 6 utiliza a funo inversa do seno asin. O comando plot exige que os comandos de rtulo e de grid estejam na mesma linha, separados por vrgulas. O operador de continuao de linha, chamado de reticncias, consiste em trs pontos. Esse operador permite a voc continuar digitando a linha aps pressionar Enter. De outra maneira, se voc continuasse a digitar sem utilizar as reticncias, voc no veria a linha inteira na tela. Note que o prompt no fica visvel quando voc pressiona Enter aps as reticncias. O comando grid insere linhas de grid na plotagem de modo que voc possa ler mais facilmente os valores no grfico. A plotagem resultante aparece na Figura 1.6-3. 6. Compare a sada do programa com sua soluo mo. Leia os valores da plotagem correspondentes aos valores de A dados na tabela precedente. Voc pode utilizar a funo ginput para ler os valores a partir da plotagem. Os valores deveriam concordar uns com os outros, e isso de fato acontece. 7. Rode o programa e realize uma verificao de veracidade na sada. Voc poderia suspeitar de um erro se a plotagem mostrasse mudanas abruptas ou descontinuidades. Entretanto, a plotagem suave e mostra que a varivel d se comporta conforme o esperado. Ela decresce suavemente desde o seu mximo em A = 0 at o seu mnimo em A = 180. 8. Teste o programa para uma faixa de valores de entrada razoveis. Teste o programa utilizando vrios valores para L1 e L2 e examine as plotagens resultantes para ver se elas so razoveis. Algo que voc deveria testar por conta prpria ver o que acontece se L1 L2. O mecanismo deveria trabalhar da mesma maneira como ele faz quando L1 7 L2? O que sua intuio diz que voc deve esperar do comportamento do mecanismo? O que o programa prev?

46

Introduo ao MATLAB para Engenheiros

1.7 Resumo
Agora voc deve estar familiarizado com as operaes bsicas no MATLAB. Isso inclui:

Iniciar e sair do MATLAB Calcular expresses matemticas simples Gerenciar variveis

Voc tambm deve estar familiarizado com o sistema de menus e de barra de ferramentas do MATLAB. Esse captulo oferece uma viso geral dos vrios tipos de problema que o MATLAB capaz de resolver. Isso inclui:

Utilizao de arranjos e polinmios Criao de plotagens Criao de arquivos de script

A Tabela 1.7-1 um guia para as tabelas deste captulo. Os captulos seguintes apresentaro mais detalhes acerca desses tpicos.
TABELA 1.7-1 Guia para os comandos e recursos introduzidos neste captulo
Operaes aritmticas escalares Ordem de precedncia Comandos para gerenciar a sesso de trabalho Variveis e constantes especiais Formatos de exibio numrica Algumas funes matemticas comumente utilizadas Comandos de sistema, diretrios e arquivos Alguns comandos de plotagem do MATLAB Comandos de entrada/sada Funes de ajuda do MATLAB Tabela 1.1-1 Tabela 1.1-2 Tabela 1.1-3 Tabela 1.1-4 Tabela 1.1-5 Tabela 1.3-1 Tabela 1.3-2 Tabela 1.3-3 Tabela 1.4-1 Tabela 1.5-1

Termos-chave
rea de Trabalho, 5 Argumento, 8 Arquivo de dados, 21 Arquivo de script, 27 Arquivos ASCII, 21 Arquivos MAT, 20 Arranjo, 19 Caminho de busca, 22 Caminho, 22 Comentrio, 27 Debugando, 29 Diretrio atual, 16 Escalar, 8 Espao de trabalho, 11 ndice de arranjo, 19 Janela de Comandos, 6 Janela grfica, 23 Marcadores de dados, 25 Modelo, 39 Plotagem sobreposta, 24 Precedncia, 9 Sesso, 7 Varivel string, 31 Varivel, 7

Captulo 1

Viso geral do MATLAB

47

Problemas
Respostas aos problemas marcados com um asterisco so dadas no final do texto.

Seo 1.1
1. Certifique-se de que voc sabe como iniciar e finalizar uma sesso do MATLAB. Utilize o MATLAB para realizar os clculos a seguir, utilizando os valores x = 10, y = 3. Verifique os resultados utilizando uma calculadora. a. u = x + y b. v = xy c. w = x / y d. z = sen x e. r = 8 sen y f. s = 5 sen (2y) 2.* Suponha que x = 2 e y = 5. Utilize o MATLAB para calcular o seguinte: a. b. c. d.

3. Suponha que x = 3 e y = 4. Utilize o MATLAB para calcular o seguinte, e verifique os resultados com uma calculadora: a. b. 3x2 c. d.

4. Avalie as seguintes expresses no MATLAB para o valor de x dado. Verifique suas respostas mo. a. c. b. d.

e. y = 7(x1/3) + 4x0,58, x = 30 5. Considerando que as variveis a, b, c, d e f so escalares, escreva sentenas no MATLAB para calcular e exibir o resultado das expresses a seguir. Teste suas sentenas para os valores a = 1,12, b = 2,34, c = 0,72, d = 0,81 e f = 19,83.

6. Utilize o MATLAB para calcular: a. c. Verifique suas respostas com uma calculadora. 7. O volume de uma esfera dado por V = 4r3/3, em que r o raio. Utilize o MATLAB para calcular o raio de uma esfera que tenha o volume 40% maior do que o volume de uma esfera de raio igual a 4 ft. b.

48

Introduo ao MATLAB para Engenheiros

8.* Suponha que x = -7 - 5i e y = 4 + 3i. Utilize o MATLAB para calcular: a. x + y b. xy c. x / y 9. Utilize o MATLAB para calcular o seguinte, e verifique suas respostas mo: a. (3 + 6i)(-7 - 9i) c. b. d.

10. Avalie as expresses a seguir no MATLAB, para os valores x = 5 + 8i, y = -6 + 7i. Verifique suas repostas mo. a. u = x + y b. v = xy c. w = x / y x e. f. s = xy2 d. z = e 11. A lei dos gases ideais fornece uma maneira de se estimar a presso exercida por um gs em um recipiente. A lei

Estimativas mais precisas podem ser feitas com a equao de Van der Waals,

em que o termo nb a correo para o volume das molculas e o termo an2/V2 a correo para as atraes moleculares. Os valores de a e b dependem do tipo de gs. A constante universal dos gases R, a temperatura absoluta T, o volume do gs V e o nmero de molculas do gs indicado por n. Se n = 1 mol de um gs ideal fosse confinado a um volume de 22,41 L temperatura de 0 C (273,2 K), ele exerceria uma presso de 1 atm. Nessas unidades, R = 0,08206. Para o gs cloro (Cl2), a = 6,49 e b = 0,0562. Compare a estimativa de presso dada pela lei dos gases ideais e pela equao de Van der Waals para 1 mol de Cl2 em 22,41 L temperatura de 273,2 K. Qual a principal causa da diferena entre as duas estimativas de presso, o volume molecular ou as atraes moleculares? 12. A lei dos gases ideais relaciona a presso P, o volume V, a temperatura absoluta T e a quantidade de gs n. A lei

em que R a constante universal dos gases. Um engenheiro deve projetar um grande tanque armazenador de gs natural que seja expansvel a fim de manter a presso constante em 2,2 atm. Em dezembro, quando a temperatura de 4F (-15C), o volume de gs no tanque de 28500 ft3. Qual ser o volume da mesma quantidade de gs em julho quando a temperatura for de 88F (31C)? (Dica: Utilize o fato de que n, R e P so constantes nesse problema. Note tambm que K = C + 273,2.)

Captulo 1

Viso geral do MATLAB

49

Seo 1.3
13. Suponha que x assuma os valores x = 1, 1,2, 1,4,..., 5. Utilize o MATLAB para calcular o arranjo y que resulta da funo y = 7 sen(4x). Utilize o MATLAB para determinar quantos elementos h no arranjo y e o valor do terceiro elemento no arranjo y. 14. Utilize o MATLAB para determinar quantos elementos h no arranjo sin(-pi/2):0.05:cos(0). Utilize o MATLAB para determinar o dcimo elemento. 15. Utilize o MATLAB para calcular: a. c. b. d.

Verifique suas respostas com uma calculadora. 16. Utilize o MATLAB para calcular: b. 5 tan [3 sen-1(13/5)] a. 6 tan-1(12,5) + 4 c. 5 ln(7) d. 5 log(7) Verifique suas respostas com uma calculadora. 17. A escala Richter uma medida da intensidade de um terremoto. A energia E (em joules) liberada pelo terremoto est relacionada com a magnitude M da escala Richter da seguinte maneira: E = 104,4101,5M Quanta energia liberada a mais em um terremoto de magnitude 7,6 do que em um terremoto de magnitude 5,6? Utilize o MATLAB para encontrar as razes de 13x3 + 182x2 - 184x + 2503 = 0. Utilize o MATLAB para encontrar as razes do polinmio 70x3 + 24x2 - 10x + 20. Determine qual caminho de busca o MATLAB utiliza em seu computador. Se voc utiliza tanto um computador de laboratrio quanto um computador em casa, compare os dois caminhos de busca. Onde o MATLAB procurar por um arquivo M criado pelo usurio em cada computador? Utilize o MATLAB para plotar a funo T = 6 ln t - 7e0,2t ao longo do intervalo 1 t 3. Insira um ttulo na plotagem a rotule adequadamente os eixos. A varivel T representa a temperatura em graus Celsius; a varivel t representa o tempo em minutos. Utilize o MATLAB para plotar as funes u = log10(60x + 1) e v = 3 cos(6x) ao longo do intervalo 0 x 2. Rotule adequadamente a plotagem e cada uma das curvas. As variveis u e v representam velocidades em milhas por hora; a varivel x representa distncia em milhas. A srie de Fourier uma representao em srie de funes peridicas em termos de senos e cossenos. A representao em srie de Fourier da funo

18.* 19. 20.

21.

22.

23.

50

Introduo ao MATLAB para Engenheiros

Plote em um mesmo grfico a funo f(x) e sua representao em srie, utilizando os quatro termos explicitados. 24. Uma cicloide a curva descrita por um ponto P na circunferncia de uma roda circular de raio r rolando ao longo do eixo x. A curva descrita em forma paramtrica pelas equaes

Utilize essas equaes para plotar a cicloide de raio r = 10 in, com 0 4.

Seo 1.4
25. Uma cerca em torno de um campo tem a forma apresentada na Figura P25. Ela consiste em um retngulo de comprimento L e largura W e um tringulo retngulo que simtrico em relao ao eixo horizontal do retngulo. Suponha que a largura W conhecida (em metros) e que a rea fechada A tambm conhecida (em metros quadrados). Escreva um arquivo de script em MATLAB em termos das variveis dadas W e A para determinar o comprimento L necessrio para que a rea fechada seja A. Determine tambm o comprimento total da cerca. Teste o seu arquivo de script para os valores W = 6 m e A = 80 m2.
L D W

FIGURA P25

26. A figura de quatro lados mostrada na Figura P26 consiste em dois tringulos que tem em comum o lado a. A lei dos cossenos para o tringulo superior afirma que

e uma equao similar pode ser escrita para o tringulo inferior. Desenvolva um procedimento para calcular o comprimento do lado c2 se forem dados os comprimentos dos lados b1, b2 e c1, e os ngulos A1 e A2 em graus. Escreva um arquivo de script para implementar esse procedimento. Teste seu arquivo de script utilizando os seguintes valores: b1 = 180 m, b2 = 165 m, c1 = 115 m, A1 = 120 e A2 = 100.

Captulo 1

Viso geral do MATLAB

51

b1 C1 C2 b2 A2 c2 FIGURA P26 a B1 B2 A1 c1

Seo 1.5
27. Utilize o Sistema de Ajuda do MATLAB para encontrar informaes sobre os seguintes tpicos e smbolos: plot, label, cos, cosine, : e *. 28. Utilize o Sistema de Ajuda do MATLAB para determinar o que acontece se voc utilizar a funo sqrt com um argumento negativo. 29. Utilize o Sistema de Ajuda do MATLAB para determinar o que acontece se voc utilizar a funo exp com um argumento imaginrio.

Seo 1.6
30. a. Com que velocidade inicial voc deve arremessar uma bola verticalmente a fim de que ela alcance uma altura de 20 ft? A bola pesa 1 lb. O que mudaria na sua resposta se a bola pesasse 2 lb? b. Suponha que voc queira arremessar uma barra de ao verticalmente at uma altura de 20 ft. A barra pesa 2 lb. Qual deve ser a velocidade inicial da barra para que ela alcance essa altura? Discuta como o comprimento da barra interfere na sua resposta. 31. Considere o movimento do pisto discutido no Exemplo 1.6-1. A faixa de excurso (stroke) do pisto a distncia total percorrida pelo pisto quando o ngulo da manivela varia de 0 a 180. a. De que maneira o faixa de excurso do pisto depende de L1 e L2? b. Suponha que L2 = 0,5 ft. Utilize o MATLAB para plotar o movimento do pisto versus o ngulo da manivela para dois casos: L1 = 0,6 ft e L1 = 1,4 ft. Compare cada uma dessas plotagens com a plotagem mostrada na Figura 1.6-3. Discuta como a forma da plotagem depende do valor de L1.

You might also like