You are on page 1of 16

Universidade Estadual do Maranho Centro de Cincias Tecnolgicas Curso Engenharia de Produo Disciplina Clculo Numrico em Computadores Professor Teylson

MATLAB

Michel de Oliveira 111k110 Manasss Gusmo 1012211 Vinicius Lima 1012202 Jonatas Ribeiro - 1012209

So Lus MA 2012

Michel de Oliveira 111k110 Manasss Gusmo 1012211 Vinicius Lima 1012202 Jonatas Ribeiro - 1012209

MATLAB

Trabalho desenvolvido para obteno de nota da disciplina Clculo Numrico em Computadores, ministrada pelo Prof. Teylson.

So Lus MA 2012

SUMRIO

1. INTRODUO ............................................................................................................ 4

2. AMBIENTE DE TRABALHO .................................................................................... 5

3. OPERAES SIMPLES ENTRE ESCALARES........................................................ 6

4. REPRESENTAO DE MATRIZES E VETORES................................................... 7

5. OPERAES SIMPLES ENTRE MATRIZES .......................................................... 9

6. GRFICOS ................................................................................................................ 10

7. APLICAES NA ENGENHARIA.......................................................................... 12

REFERNCIAS ............................................................................................................. 16

1. INTRODUO Com o desenvolvimento da indstria de informtica, mquinas cada vez mais poderosas passaram a estar disponveis a um custo cada vez menor. Este fenmeno alterou de forma marcante os rumos das cincias da engenharia, permitindo preciso e velocidade no processamento de informaes. Em virtude deste cenrio, o domnio das principais ferramentas computacionais passou a ser um requisito bsico para o engenheiro moderno. Apesar da existncia no mercado de um grande nmero de programas para a resoluo dos mais diversos problemas de engenharia, um profissional deve conhecer os fundamentos de, pelo menos, uma linguagem de programao, uma vez que o desenvolvimento de ferramentas computacionais uma atividade de grande importncia nas reas acadmica, de pesquisa, de desenvolvimento e de engenharia bsica. comum a crena, principalmente entre iniciantes, de que os simuladores de processos comerciais so capazes de resolver todo e qualquer tipo de problema. Isto no verdade, nenhum programa disponvel tem utilizao universal. muito comum a necessidade de que o usurio, na soluo de um problema especfico de seu interesse, seja obrigado a programar mdulos para serem acoplados aos programas comerciais, tornando-os assim passveis de serem utilizados. O MATLAB (MATrixLABoratory) um ambiente, produzido pela MathWorks, Inc., que permite o desenvolvimento de programas (rotinas) computacionais para soluo de problemas. Este sistema surgiu na dcada de 70, nas Universidades do Novo Mxico eStanford, como um Laboratrio de Matrizes para auxiliar os cursos de Teoria Matricial, lgebra Linear e Analise Numrica. De modo geral, o MATLAB um software serve para trabalhar com matrizes e nmeros complexos da mesma forma como uma calculadora trabalha com nmeros reais. Atualmente, a capacidade do MATLAB se estende muito alm da manipulao de matrizes. Ele tanto um ambiente quanto uma linguagem de programao, e um de seus aspectos mais poderosos que os problemas e as solues so expressos numa linguagem matemtica bem familiar. Devido a sua capacidade de fazer clculos, visualizao grfica e programao, num ambiente de fcil uso, o MATLAB torna-se uma ferramenta eficiente para a compreenso tanto de tpicos fundamentais quanto avanados a uma gama de disciplinas. Apesar das ultimas verses do MATLAB ter expandido sua capacidade, o elemento bsico dos dados ainda um vetor, o qual no requer declarao de dimenso ou tipo de varivel. Tambm esse sistema comporta os recursos de linguagem procedural de programao assemelhados aos do FORTRAN, ANSI C e do PASCAL, alm de capacidade grfica e a possibilidade de operar com instrues simblicas. Um dos aspectos mais poderosos o fato dessa linguagem permitir construir suas prprias ferramentas reutilizveis. Isto feito atravs da escrita de suas prprias funes e programas especiais conhecidos como arquivos .m. Este sistema contempla ainda uma grande famlia de aplicaes especficas, as quais so denominadas Toolboxes (caixas de ferramentas). Estes Toolboxes so conjuntos abrangentes de funes MATLAB cujo objetivo resolver problemas de reas especficas, tais como: Processamento de Sinais, Projeto de Sistemas de Controle,

Simulao Dinmica de Sistemas, Identificao de Sistemas, Redes Neuronais, Lgica Fuzzy (nebulosa ou difusa), Otimizao de Sistemas, Wavelets, Clculo Simblico, e outras reas. Os usos tpicos incluem: Clculos matemticos; Desenvolvimento de algoritmos; Modelagem, simulao e confeco de prottipos; Anlise, explorao e visualizao de dados; Grficos cientficos e de engenharia; Desenvolvimento de aplicaes, incluindo a elaborao de interfaces grficascom o usurio

2. AMBIENTE DE TRABALHO Quando o Matlab acionado, surge na tela do computador uma janela (janela de comando/commandwindow), ver Figura 1, com um pequeno texto introdutrio na parte superior. Logo abaixo, a esquerda, aparece o smbolo ( ), com o cursor piscando ao lado. Essa linha chamada linha de comando (commandline).

Figura 1 Ambiente de trablho atravs da janela de comando que o usurio se comunica com o software, introduzindo as instrues atravs da linha de comando, com o acionamento da tecla

ENTER. O smbolo ( ) indica que o software est pronto para receber as instrues do usurio. A existncia de um comando de ajuda (help) no MATLAB permite ao estudante, uma vez dominando os comandos bsicos do software, explorar ao longo do tempo uma quantidade cada vez maior de recursos, em um processo de autoaprendizadocontnuo. O comando help pode ser acessado atravs da barra de menu (como qualquer software for Windows convencional) ou diretamente da linha de comando, como indica o exemplo abaixo: Exemplo: help quad

No se esquecer de pressionar, aps a digitao, a tecla ENTER. No exemplo acima aps pressionar a tecla ENTER aparecero as informaes necessrias para se aprender a utilizar a funo quad.

3. OPERAES SIMPLES ENTRE ESCALARES No MATLAB um escalar simplesmente uma principaisoperaes entre dois escalares sero apresentadas a seguir. matriz 1x1.As

Soma - A operao "a + b"realiza a soma entre dois escalares. O exemplo 1 exibe sua execuo. Exemplo 1: Adio

Subtrao - O operador - responsvel pela subtrao. O prximo exemplo mostra esta operao. Exemplo 2: Subtrao

Multiplicao - Para realizar a multiplicao de dois escalares utiliza-se o operador "*", conforme o exemplo abaixo.

Exemplo 3: Multiplicao

Diviso Direta - A diviso direta realizada com uso da barra "/ ". Veja o exemplo a seguir. Exemplo 4: Diviso

Exponenciao - Para efetuar ab utiliza-se "^ "entre a base e o expoente. O exemplo 6 ilustra como realizara exponenciao de escalares. Exemplo 5: Exponenciao

Mdulo - A funo "abs"retorna o mdulo de um nmero. O exemplo 6 ilustra o uso da funo abs. Exemplo 6: Mdulo

4. REPRESENTAO DE MATRIZES E VETORES MATLAB trabalha essencialmente com um tipo de objeto, uma matriz retangular numrica (real ou complexa). Em algumas situaes, denominaes especficas so atribudasa matrizes 1 por 1, que so os escalares, e a matrizes com somente uma linha ou coluna,que so os vetores. A maneira mais fcil de declarar matrizes fazendo a explicitao da lista deelementos na linha de comando. Uma matriz pode ser criada, atribuindo a uma varivel,valores representados entre colchetes, seguidos de ponto-e-vrgula. Os

elementos das linhasso separados por espaos ou vrgulas, e as colunas, com ponto-evrgula. O exemplo 7 mostra formas de representao de uma matriz 3x3. Exemplo 7: Formas de declarao de matrizes

Um vetor nada mais que uma matriz com uma de suas dimenses igual a 1, assim ele pode ser criado da mesma forma que uma matriz. No exemplo 8, tem-se um vetor-linha de dimenso 3, ou seja uma de uma matriz 1x3: Exemplo 8: Vetor linha

Vale destacar que, da forma como foram apresentados a matriz ou o vetor, eles soarmazenados na memria do programa, mas se quisermos que eles apaream na tela, ou seja, visualizar o contedo da varivel, devemos omitir o ponto-e-vrgula depois dos colchetes. Depois que o vetor criado, pode-se alterar um elemento acessando diretamente a suaposio. Observe o exemplo a seguir: Exemplo 9: Acesso a uma posio de um vetor

No comando v(2) = 0, v o nome da varivel vetor e 2 a posio cujo valor deve ser alterado, no caso para 0.

5. OPERAES SIMPLES ENTRE MATRIZES A soma e a subtrao de duas matrizes seguem a mesma lgica para os escalares, ou seja, efetuada elemento por elemento. O exemplo 10 mostra essas operaes. Exemplo 10: Adio e subtrao entre duas matrizes

Vale lembrar que, caso as matrizes envolvidas sejam de dimenses diferentes, o programa acusar erro. Na multiplicao de uma matriz por um escalar, cada um dos elementos da matriz multiplicado por este. O operador utilizado no comando mesmo que na multiplicao entre escalares. Veja o prximo exemplo, no qual A a mesma matriz do tpico anterior. Exemplo 11: Multiplicao de uma matriz por um escalar

Na multiplicao entre duas matrizes, A*B, o elemento i x j da matriz resultante o somatrio dos produtos entre os elementos das linhas i da primeira matriz pelos elementos das colunas j da segunda matriz. necessrio que o nmero de colunas da matriz A seja igual ao nmero de linhas de B, caso contrrio o programa acusar erro. A multiplicao entre duas matrizes pode ser vista no exemplo 12.

10

Exemplo 12: Multiplicao entre duas matrizes

O operador "."realiza uma dada operao, entre duas matrizes n x m, elemento por elemento. Se C = A.<operao>B, ento cij = aij<operao>bij . Observe o exemplo 13. Exemplo 13: Multiplicao entre duas matrizes, elemento por elemento

O comando " ' "calcula a transposta de uma matriz qualquer, ou seja, transforma as linhas em colunas, e vice-versa. No exemplo 14, encontrada a transposta da matriz A vista no tpico anterior. Exemplo 14: Transposta de uma matriz

6. GRFICOS Grficos Bidimensionais A maneira mais prtica para traar grficos bidimensionais atravs da utilizao do comando plot. Este comando, em sua forma mais simples, apresenta a seguinte sintaxe: >>plot(x,y)

11

onde x um vetor contendo as abcissas e y um vetor contendo as ordenadas dos pontos. Assim, as coordenadas dos pontos utilizados na construo do grfico so (xi,yi). Por exemplo, traar o grfico da funo f(x) = x3entre os valores de x = -2 e x = 2: >> x = linspace(-2,2,30); >> y = exp(x .^2); >>plot(x,y)

Figura 2 Exemplo grfico bidimensional O grfico formado em uma janela especial que recebe o nome de Figure No.1. Esta janela pode ser manipulada como uma janela qualquer do Windows.

Grficos Tridimensionais O procedimento para traar curvas no espao tridimensional semelhante aqueles empregados para as curvas 2-D, bastando apenas utilizar o comando plot3: >> plot3(x,y,z) >> plot3(x,y,z,'ct') >> plot3(x1,y1,z1,'ct',x2,y2,z2,'ct') A criao de grficos de superfcies realizada atravs de um conjunto de etapas. Primeiro, deve-se definir os vetores das variveis independentes, com a seguinte sintaxe: >>x= (limite inferior das variveis x:incremento:limite superior das variveis x);

12

>>y= (limite inferior das variveis y:incremento:limite superior das variveis y); Note que os parnteses podem ser omitidos neste comando. O prximo passo consiste em, a partir destes dois vetores, criar duas matrizes especiais atravs do comando meshgrid: >> [X,Y]=meshgrid(x,y) A matriz X consiste no vetorx repetido atravs das linhas e a matriz Y consiste no vetor y repetido em colunas. Estas matrizes serviro para a determinao do grfico da superfcie. O prximo passo calcular o valor da varivel dependente, por exemplo: >>Z=X.^2+Y.^2; Para traar o grfico da superfcie utilize o comando surf, que a seguinte sintaxe: >>surf(X,Y,Z) Alm do comando surf , o MATLAB dispe de uma srie de comandos equivalentes que permitem visualizar a superfcie de diferentes maneiras. Estes comandos so: surfc, mesh, meshc, meshz, waterfall e contour3.

7. APLICAES NA ENGENHARIA Nas diversas reas da engenharia necessita-se, usualmente, de ferramentas que simplifiquem as rotinas correntes dos engenheiros quando do desenvolvimento de modelos computacionais associados a projetos reais. Essas ferramentas devem permitir, inclusive, que os engenheiros possam visualizar todas as etapas do processo. Visando atender a esta crescente demanda por novas tecnologias de ensino, diversas Instituies de Ensino/Pesquisa do pas tm se desenvolvido no sentido de se criarem laboratrios computacionais de qualidade que permitam a utilizao de programas como o MATLAB, que so de importncia bastante significativa para o ensino de engenharia. A "fora" do MATLAB para revolver problemas de engenharia vem de um conjunto extenso de funes, atravs dos toolboxes. As categorias gerais de funes matemticas disponveis no MATLAB incluem: Matemtica elementar; Funes especiais; Matrizes elementares; Matrizes especiais; Decomposio e fatorizao de matrizes;

13

Anlise de dados; Polinmios; Soluo de equaes diferenciais; Equaes no-lineares e otimizao; Integrao numrica; Processamento de sinais. Por exemplo, o toolbox de estatstica contm vrias funes estatsticas. Algumas
destas funes so: corrcoef:..........Coeficientes de correlao cov:......................Matriz covarincia geomean: ............Mdia Geomtrica harmmean:..........Coeficientes de correlao mean: ...................Mdia aritmtica median:...............Mediana std:......................Desvio padro var:......................Varincia hist: ...................Histograma regress: ............Regresso linear normrnd: ............Gerao de nmeros aleatrios usando a distribuio normal poissrnd:..........Gerao de nmeros aleatrios usando a distribuio de Poisson unifrnd: ............Gerao de nmeros aleatrios usando a distribuio uniforme contnua unidrnd: ............Gerao de nmeros aleatrios usando a distribuio uniforme discreta

O toolbox de otimizao contm vrias funes que podem ser utilizadas para resolver problemas de minimizao ou maximizao de funes na rea de pesquisa operacional. No exemplo mostrado abaixo, mostra como resolver um problema utilizando o mtodo simplex no MATLAB Exemplo 15: Mtodo Simplex

14

Neste exemplo se utiliza as funes optimset e linprog para encontrar a soluo o problema de otimizao em questo atravs do mtodo simplex. Tambm podemos escrever nossas prprias funes para resolver problemas, utilizando os artifcios das linguagens de programao procedural como na linguagem C. Por exemplo: Exemplo 16: Lanamento de projtil.

% Lanamento de projtil % Prof. Jos Wilson ho = input('Altura inicial ho (m) Ex.: 40 = '); vo = input('velocidade inicial vo (m/s) Ex.: 25 = '); alfa = input('ngulo de lanamento alfa (grau) Ex.: 45 = '); do = input('posio inicial do projtil (m) Ex.: 0 = '); alfa = alfa*pi/180; vxo = vo*cos(alfa); vyo = vo*sin(alfa); g = -9.8; % Acelerao da gravidade h = [0.5*g vyo ho]; % Para clculo do tempo mximo tlimites = roots(h); % Clculo do tempo limite - tem 2 valores if tlimites(1) > 0 tmax = tlimites(1); else tmax = tlimites(2); end t = [0:0.01:tmax]; vx = vxo; vy = vyo + g*t; thmax = abs(vyo/g); % tempo para atingir altura maxima d = do + vxo*t; h = ho + vyo*t + 0.5*g.*t.^2; hmax = ho + vyo*thmax + 0.5*g*thmax^2; % altura maxima vmax = vyo + g*tmax; % velocidade maxima dmax = do + vxo*tmax; % distancia maxima alcancada

15

figure(1) plot(d,h) axis([0 dmax 0 hmax]) xlabel('distncia horizontal (m)') ylabel('altura (m)') grid on figure(2) plot(t,h) axis([0 tmax 0 hmax]) xlabel('tempo (s)') ylabel('altura (m)') grid on figure(3) plot(t,d) axis([0 tmax 0 dmax]) xlabel('tempo (s)') ylabel('distncia horizontal (m)') grid on exemplo 16 acima entra-se com os dados de altura inicial, velocidade inicial, No
posio horizontal inicial e ngulo de lanamento. O programa calcula o tempo transcorrido at o projtil atingir o solo, a velocidade no momento em que toca o solo e a altura mxima atingida. Os comandos do MATLAB so normalmente digitados na Janela de Comando como falado anteriormente, onde uma nica linha de comando introduzida e processada imediatamente. Porm, o MATLAB tambm capaz de executar seqncias de comandos armazenadas em arquivos, como mostrado no exemplo acima. Os arquivos que contm as declaraes do MATLAB so chamadas arquivos .m, e consistem de uma seqncia de comandos normais, possibilitando incluir outros arquivos.

16

REFERNCIAS

GRACIAS, A. C.; LOURENO, S. R. Aplicao de um Modelo Matemtico na Simulao da Produo e Importao de Gs Natural no Brasil at 2017. Revista Produo Online, ISSN:1676-1901, 2010.

MATSUMOTO, E. Y. MATLAB 7 Fundamentos. 2 Edio, Editora rica, So Paulo, 2006.

MORTATI, J. G. C.; CARDOSO, F. C. MATLAB Uma Ferramenta para Estudo de Matemtica. Universidade de Rio Verde, 2004.

PET - Engenharia de Computao. Mini-curso de MATLAB e Octave para Clculo Numrico. Universidade Federal do Esprito Santo.