Escolar Documentos
Profissional Documentos
Cultura Documentos
Agosto de 2016
Cornlio Procpio
1
Sumrio
1. Introduo ao MATLAB MATrix LABoratory ................................................................. 3
2. Operaes com vetores e matrizes no MATLAB ................................................................. 4
Operador Dois Pontos ( : )......................................................................................................... 4
Gerao de vetores .................................................................................................................... 5
3. Funes Matemticas ............................................................................................................ 7
3.1. Funes Logartmicas e Exponenciais .......................................................................... 7
3.2. Funes Trigonomtricas .............................................................................................. 7
3.3. Funes Polinomiais ..................................................................................................... 8
3.4. Variveis Simblicas ................................................................................................... 10
4. Grficos ............................................................................................................................... 11
4.1. Grficos Bidimensionais ............................................................................................. 11
4.2. Grficos Tridimensionais ............................................................................................ 11
5. Laos e Testes Condicionais ............................................................................................... 12
5.1. Criao de uma Funo ............................................................................................... 16
6. Contedo de Clculo ........................................................................................................... 16
6.1. Limites......................................................................................................................... 16
6.2. Derivadas..................................................................................................................... 17
6.3. Integrais ....................................................................................................................... 17
6.4. Equaes Diferenciais ................................................................................................. 18
6.5. Transformadas ............................................................................................................. 20
Apndice Listagem de Funes do MATLAB ......................................................................... 21
Referncias Bibliogrficas .......................................................................................................... 22
2
1. Introduo ao MATLAB MATrix LABoratory
3
Podemos tambm utilizar M-files, na barra de Menus acessando a guia
File>New>M-file, caso se deseje criar procedimentos de forma que estes fiquem salvos
em arquivo. Os arquivos salvos so gerados na extenso nomedoarquivo.m que so
compilados utilizando-se a CommandWindow
4
As principais operaes so:
Um elemento individual da matriz pode ser indicado incluindo os seus subscritos entre
parntesis. Por exemplo, dada a matriz A:
A=
1 2 3
4 5 6
7 8 9
A declarao: >>A(3,3) = A(1,3) + A(3,1)
A=
1 2 3
4 5 6
7 8 10
Gerao de vetores
>> x=inv(A)*b
6
3. Funes Matemticas
Exemplo:
>>log(exp(10))
ans =10
>>sqrt(log10(ans))
ans =1
7
O MATLAB trabalha com radianos, sendo pi = 180.
Exemplo:
>>cos(pi)
ans =-1
>>acos(ans)
ans =3.1416
>> x=sqrt(2)/2 % ngulo para o qual a funo seno
>> y=asin(x)
>> ydeg=y*180/pi %resposta em graus
Exemplos:
>> a=[1,5,6]
a = 1 5 6
>>roots(a)
ans = -3 -2
>>polyval(a,2)
ans = 20
>>poly([-3,-2])
ans = 1 5 6
>> x=[0: 0.1: 2.5];
>> y=sqrt(x);
>>polinomio_interpolador=polyfit(x,y,3)
>>pontos_interpoladores=polyval(polinomio_interpolador,x)
>>plot(x,y,'color','r')
>>hold on
>>plot(x,pontos_interpoladores)
8
Mais um exemplo. As razes de um polinmio so -2, 0, 3 e -32 i, portanto trs razes
reais e duas complexas. Eis como se pode calcular um polinmio que tenha tais razes.
EXERCCIO
9
3.4. Variveis Simblicas
Para encontrar o mnimo de uma funo usa-se o comando fminbnd. Dada uma funo
f, ao calcular o mnimo de f, obtem-se o ponto mximo de f.
>> [xminymin]=fminbnd(sin(x)-cos(x),0,2*pi)
Para determinar os zeros de uma funo existe a funo fzero, especificando-se uma
soluo inicial para o zero da funo.
>> zer1=fzero('funcao1',0.5)
>> zer2=fzero('funcao1',2.5)
>> fzero('sin(1/x)/x', 0.3)
>> fzero('-x.^2+6*x',1)
>> fzero('sin(3*x)',2) ou >> fzero(@(x) sin(3*x),2)
EXERCCIO
Supondo que sua altura h, em metros, t segundos aps o chute, seja dado por
, vamos determine em que instante a bola atinge a altura mxima.
RESOLUO ANALTICA:
A bola atinge sua altura mxima quando
4. Grficos
plot: Plota as colunas de um vetor elemento, se o vetor for real. Se for complexo,
imaginria de cada elemento.
>> t = 0:pi/50:10*pi;
>>plot(t,sin(t))
>> x= -10:0.5:10;
>> y=x.^2+1;
>>plot(x,y);
No mesmo eixo:
>> x=0:.01:10;
>>t=3*cos(5*x);
>>y=x.*sin(x);
>>plot(x,t,x,y)
>> x=0:0.01:10;
>> y=sin(8*x); z=cos(8*x);
>> plot3(x,y,z)
11
>>ezsurf(2*x^2-3*y^2-4)
>>ezsurf('sqrt(1-x^2-y^2)')
EXERCCIO
Os laos e testes devem ser inseridos nos scripts dos arquivos M-files.
IF
EXEMPLO 1
12
EXEMPLO 2
FOR e WHILE
O Matlab possui dois tipos de laos, ou seja, dois comandos para gerar loop: o
lao for padro (comparvel ao lao for da linguagem C) e o lao condicional while. O
lao for repete as instrues dentro do lao at que o ndice contador do lao alcance a
condio final (Observe o uso da funo disp, que exibe na tela o contedo do seu
argumento). O lao for, tal como o bloco if, deve ser terminado com a instruo end.
O comando tem a estrutura a seguir
Os comandos entre as instrues for e end so executados uma vez para cada
coluna da expresso matricial. A cada iterao, a varivel atribuda para a prxima
coluna da matriz, isto , durante o i-simo ciclo do loop, temos que varivel = expresso
matricial (: , i ).
EXEMPLO 1
Constri duas matrizes A e B dadas pela lei Aij=i+j e Bij=i-j e calcule a soma das duas.
13
EXEMPLO 2
Exemplo de execuo:
14
EXEMPLO 1
15
5.1. Criao de uma Funo
O MATLAB apresenta uma estrutura que nos permite criar funes sob a forma
de arquivos M.
H algumas regras para escrever uma funo de arquivo M:
A funo deve comear com uma linha contendo a palavra function, seguida pelo
argumento de sada, um sinal de igual, e o nome da funo. Os argumentos para a
funo devem estar entre parnteses. Esta linha define os argumentos de entrada e sada;
As primeiras linhas devem ser comentrios porque sero exibidas quando o menu help
for usado juntamente com o nome da funo;
A nica informao retornada da funo contida nos argumentos de sada, que so,
obviamente, matrizes. Verificar se a funo inclui um comando que assegure um valor
ao argumento de sada.
Uma funo que possui mais de uma varivel de sada deve apresentar as variveis de
sada dentro de colchetes. Alm disso, todos os valores devem ser calculados dentro da
funo.
Uma funo que tenha mltiplos argumentos de entrada deve listar os argumentos no
comando function.
EXEMPLO
6. Contedo de Clculo
6.1. Limites
16
>>limit(F,a): determina o limite de F com uma varivel simblica tendendo a a
>>limit(F): determina o limite coma = 0
>>limit(F,x,a,'right'): calcula o limite com x tendendo a a pela direita
>>limit(F,x,a,'left'): calcula o limite com x tendendo a a pela esquerda
Exemplos:
>>limit('(abs(x^2)-1)/(x^2-1)',x,1,'right')
6.2. Derivadas
Exemplos:
>>diff(sin(2*x))
Devolve a resposta 2*cos(2*x) que a derivada de sen(2x).
Exemplo:
>>syms x;
>>f=sqrt(log(x)+exp(x));
>>diff(f)
ans =
1/2/(log(x)+exp(x))^(1/2)*(1/x+exp(x))
>>pretty(ans)
6.3. Integrais
17
int(S,v,a,b):integra F de a abem funo de uma varivel v;
Exemplo:
>>syms x
>> y=sqrt(x^2+5);
>> f=int(y,x) %indefinida
>>g = int(y,x,2,5) % definida de 2 a 5.
No intervalo:
Primeiramente, criamos um arquivo yp.m com a funo que desejamos calcular, que
. Esta funo deve ter a seguinte forma:
function dy = yp(t,y)
dy=((1/t^2)*(y+3*t));
Em seguida, no prompt do Matlab, efetuamos:
>> [t,y]=ode45('yp',[1,4],-2);
>>plot(t,y)
function dy=deriva(x,y)
dy = 4*y + exp(2*x);
>>xo=3;
>>[x,y]=ode23('deriva',0,1,xo);
18
Aplicando a Transformada de Laplace:
plot (t,x,b.)
19
6.5. Transformadas
20
Apndice Listagem de Funes do MATLAB
21
diag(A) Fornece os elementos da diagonal;
rot90(A) Roda a matriz em sentido anti-horrio;
3. Formatos de sada
Referncias Bibliogrficas
22