Вы находитесь на странице: 1из 21

FACULDADE DE TECNOLOGIA DEP.

DE ENGENHARIA CIVIL UNIVERSIDADE DE BRASLIA

CURSO DE EXTENSO

PROF. GILBERTO GOMES

Em

um campo de aplicao mais amplo das engenharias, a busca de solues aproximadas por meio dos mtodos numricos e computacionais tem sido muito importante na resoluo de problemas modelados matematicamente. Todavia, motivar alunos de engenharia com esse propsito, no tem sido fcil. Neste sentido, este curso prope capacitar alunos de graduao em engenharia, principalmente aqueles da engenharia civil e ambiental, a utilizar o MATLAB como suporte computacional em seus estudos.

Fornecer competncias na rea da anlise numrica aos alunos de Engenharia, atravs de uma formao terica significativa e de uma componente aplicada de introduo Mecnica Computacional. Explorar os mtodos numricos utilizados por programas comerciais de simulao numrica, atravs do desenvolvimento e programao de algoritmos numricos simples, fazendo uso do MATLAB. A explorao conveniente desta ferramenta permite ao aluno adquirir a percepo necessria sobre as dificuldades numricas que podem surgir e possveis solues que podem ser adotadas.

1. 2. 3.

Introduo

Clculos Cientficos
Vetores e Matrizes

4.
5. 6. 7. 8.

Grficos no Matlab
Programao Mtodos Diretos e Iterativos (SL) Equaes No-Lineares Aproximao

9.
10.

Integrao Numrica
Resoluo de EDO

11.
12.

Tpicos Avanados
Exerccios e Trabalhos

A linguagem de programao do MATLAB muito intuitiva. Por esta razo, o objetivo deste curso iniciar a aprendizagem da utilizao do ambiente MATLAB, dos comandos bsicos e de construo de programa. A partir da, espera-se que o usurio seja capaz de desenvolver e direcionar os conhecimentos adquiridos para sua rea especfica.

O MATLAB um "software" de alto desempenho destinado a fazer clculos com matrizes (MATrix LABoratory), podendo funcionar como uma calculadora ou como uma linguagem de programao cientfica (FORTRAN, Pascal, C, etc.). Entretanto, os comandos do MATLAB so mais prximos da forma como escrevemos expresses algbricas, tornando mais simples o seu uso. Atualmente, o MATLAB definido como um sistema interativo e uma linguagem de programao para computao tcnica e cientfica em geral, integrando a capacidade de fazer clculos, visualizao grfica e programao (Tonini e Couto, 1999).

clculos matemticos; desenvolvimento de algoritmos; modelagem, simulao e confeco de prottipos; anlise, simulao e confeco de dados; grficos cientficos e de engenharia; desenvolvimento de aplicaes, incluindo a elaborao de interfaces grficas com o usurio.

2.1. rea de Trabalho Carregando o MATLAB No gerenciador de programas do Windows, um duplo clique no cone MATLAB carrega o aplicativo. Uma vez inicializado o MATLAB, aparecer na tela uma janela de comandos e o "prompt" padro (fx>> ou >>) exibido na tela. A partir deste ponto, o MATLAB espera um comando (instrues) do usurio. Todo comando deve ser finalizado teclando-se Enter. Editor de Linhas de Comando As teclas com setas podem ser usadas para se encontrar comandos dados anteriormente, para execuo novamente ou sua reedio. Por exemplo, suponha que voc entre com sen(0) Ao apertar a tecla Enter, o MATLAB responde com uma mensagem de erro: ??? Undefined function or variable sen.

Corrigindo...
sin(0)

Note que o MATLAB chamou o resultado de ans (answer=resposta). Alm das teclas com setas, pode-se usar outras teclas para reeditar a linha de comando. A seguir dada uma breve descrio destas teclas:
retorna a linha anterior retorna a linha posterior move um espao para a esquerda move um espao para a direita Ctrl move uma palavra para a esquerda

Ctrl move uma palavra para a direita


Home move para o comeo da linha

End move para o final da linha


Del apaga um caracter a direita

Backspace apaga um caracter a esquerda

2.2. Operaes Bsicas e Expresses Lgicas


O MATLAB oferece as seguintes operaes aritmticas bsicas:

A ordem nas expresses segue a ordem matemtica - potncia, seguida da multiplicao e da diviso, que por sua vez so seguidas pelas operaes de adio e subtrao. Parntesis podem ser usados para alterar esta ordem. Neste caso, os parntesis mais internos so avaliados antes dos mais externos. Os operadores relacionais utilizados pelo MATLAB so:

Os operadores lgicos do MATLAB so:

2.3. Constantes e Variveis


O MATLAB calculadora. diretamente um software faz clculos simples e cientficos como uma Para tal, os comandos devem ser digitados no prompt (>>) do MATLAB, j que este se trata de interativo. Por exemplo:

>> 3*25 + 5*12

Uma constante numrica no MATLAB formada por uma sequncia de dgitos que pode estar ou no precedida de um sinal positivo (+) ou negativo (-) e pode conter um ponto decimal (.). Esta sequncia pode terminar ou no por uma das letras e, E, d ou D, seguida de outra sequncia de dgitos precedida ou no de um sinal de (+) ou de (-). Esta segunda sequncia a potncia de 10 pela qual a primeira sequncia deve ser multiplicada. Por exemplo,
1.23e-1

O formato em que uma constante numrica mostrada no MATLAB segue, como opo default, os seguintes critrios: se um resultado inteiro, o MATLAB mostra o nmero como inteiro; quando o resultado real, o MATLAB mostra o nmero com 4 dgitos direita do ponto decimal; se os dgitos do resultado estiverem fora desta faixa, o MATLAB mostra o resultado usando a notao cientfica. Este default pode, entretanto, ser modificado utilizando-se o Numeric Format do item Options na barra de menus. Usando-se a constante numrica (33,5), considere a tabela 5 a ttulo de exemplo dos formatos numricos do MATLAB:

Os nomes das variveis devem consistir de uma nica palavra, conforme as regras expressas na tabela abaixo:

Comentrio e pontuaes

Exemplo: q1=3, p1=25, ... q2=5; p2=12; %Exemplo de uso da vrgula, ponto e vrgula e trs pontos q1 =

3
p1 =

25

Variveis literais
Uma varivel pode conter uma cadeia de caracteres ao invs de um nmero. Estes caracteres so manipulados como vetores linha (assunto que ser tratado mais adiante). A cadeia de caracteres deve estar limitada por apstrofos (cadeia de caracteres) para ser atribuda a uma varivel literal. Por exemplo: a='MATLAB'

a=
MATLAB 2.4. Obtendo Informaes da rea de Trabalho Os exemplos de declaraes mostrados nos itens acima criaram variveis que so armazenadas na rea de Trabalho do MATLAB. Executando >> who

Informaes mais detalhadas das variveis so obtidas atravs de: >> whos

As variveis no espao de trabalho podem ser removidas incondicionalmente usando o comando clear. Por exemplo: clear p2 %remove a varivel p2

clear %remove todas as variveis do espao de trabalho


O comando clc limpa a janela de comandos e coloca o cursor na posio inicial.

2.5. Funes Matemticas


O MATLAB tem uma srie de funes cientficas pr-definidas. A palavra funo no MATLAB tem um significado diferente daquele que tem na Matemtica. Aqui, funo um comando, que pode ter alguns argumentos de entrada e alguns de sada. Algumas dessas funes so intrnsecas, ou seja, no podem ser alteradas pelo usurio. Outras funes esto disponveis em uma biblioteca externa distribudas com o programa original (MATLAB TOOLBOX), que so na realidade arquivos com a extenso ".m criados a partir das funes intrnsecas. A biblioteca externa (MATLAB TOOLBOX) pode ser constantemente atualizada medida que novas aplicaes so desenvolvidas. As funes do MATLAB, intrnsecas ou arquivos ".m", podem ser utilizadas apenas no ambiente MATLAB.

As categorias gerais de funes matemticas disponveis no MATLAB incluem:

Matemtica elementar;

Funes especiais;
Matrizes elementares e especiais;

Decomposio e fatorizao de matrizes;


Anlise de dados;

Polinmios;
Soluo de equaes diferenciais;

Equaes no-lineares e otimizao;


Integrao numrica; Processamento de sinais. A maioria das funes pode ser usada da mesma forma que seria escrita matematicamente. Por exemplo: >> x=sqrt(2)/2 >> y=acos(x) >> y_graus=y*180/pi

Algumas funes cientificas disponveis

Comandos de Auxlio No MATLAB, pode-se obter ajuda sobre qualquer comando ou funo. Isto pode ser feito basicamente de trs formas: interativamente atravs do menu de barras, atravs do comando help ou do comando lookfor. Exemplo: >> help sign SIGN Signum function. For each element of X, SIGN(X) returns 1 if the element is greater than zero, 0 if it equals zero and -1 if it is less than zero. For complex X, SIGN(X) = X ./ ABS(X).

>> lookfor integral %sobre como resolver integral, por exemplo ELLIPKE Complete elliptic integral. EXPINT Exponential integral function. DBLQUAD Numerically evaluate double integral. INNERLP Used with DBLQUAD to evaluate inner loop of integral. QUAD Numerically evaluate integral, low order method. QUAD8 Numerically evaluate integral, higher order method. COSINT Cosine integral function. SININT Sine integral function. ASSEMA Assembles area integral contributions in a PDE problem. COSINT Cosine integral function.

2.6. Nmeros Complexos


Os nmeros complexos so introduzidos usando-se as funes especiais i e j. Eles podem ser representados de vrias maneiras. Por exemplo: z1=3+4*i z1 = 3.0000 + 4.0000i z2=3+4j z2 = 3.0000 + 4.0000i z1+z2 ans = 6.0000 + 8.0000i x=1-4i x= 1.0000 - 4.0000i a=real(x) a= 1 b=imag(x) b= -4 M=abs(x) M= 4.1231 theta=angle(x)*180/pi theta = -75.9638

2.7. Expresses Simblicas

No MATLAB, possvel manipularmos expresses que alm de nmeros e variveis numricas, contm tambm variveis simblicas. Por exemplo:
>> syms x

>> simplify((sin(x))^2+(cos(x))^2)
ans =

1
Dadas duas funes f(x) = 2x^2+3x-5 e g(x) = x^2-x+7, podemos fazer uma srie de operaes algbricas envolvendo estas funes. Por exemplo:

>> f=2*x^2+3*x-5; g=x^2-x+7;


>> f+g

>> f-g
>> f*g

>> expand(ans)
>> f/g

>> expand(ans)

Outras Funes >> f=1/(1-x^2); g=sin(x); >> compose(f,g) %f(g(x)) >> compose(g,f) >> finverse(g) >> subs(f,x,2) >> syms a b c x >> solve(a*x^2+b*x+c) >> pretty(ans) Resumo de funes algbricas diff(f) - calcula a derivada de f. compose(f,g) - determina a composta f(g(x)). expand(expr) - expande uma expresso expr. finverse(expr) - determina a inversa funcional da expresso expr. pretty(expr) - exibe a expresso expr numa forma mais bonita. simple(expr) - procura encontrar uma forma mais simples de escrever uma expresso expr. simplify(expr) - simplifica a expresso expr. solve(expr) - acha a(s) soluo(es) da equao expr = 0. subs(expr,x,a) - substitui na expresso expr a varivel x por a. syms x y z a b - define as variveis simblicas x, y, z, a e b. funtool calculadora de funes (estudar)