Beruflich Dokumente
Kultur Dokumente
AurlioLimaArajo
Email:aaraujo@ipb.pt
PROGRAMA
Introduo.
Vectoresematrizes.
Polinmios.
Grficos2De3D.
Programao.
Anlisenumrica.
Ajuda.
INTRODUO
OQueoMatlab?,MATrixLABoratory
O MATLAB um programa para realizar clculos
numricos com vectores e matrizes. Como caso
particular pode tambm trabalhar com nmeros
escalares, tanto reais como complexos. Uma das
capacidades mais atractivas a de realizar uma
ampla variedade de grficos em duas e trs
dimenses.
Introduo_____________________________________
Introduo_____________________________________
Variveis:aetiquetaqueidentificaumaporode
memria;
OMatlabdiferenciaentremaisculaseminsculas
Para ver as variveis definidas num determinado
instanteescrevese:
>>who
ou
>>whos
Paraeliminaralgumavarivelexecutase:
>>clearvariable1variable2
Expresses numricas: so um conjunto de
nmeros, funes e variveis previamente definidas,
relacionados todos eles por operadores aritmticos.
Se uma expresso demasiado grande indicase a
suacontinuaomediantetrspontos(...).
5
Introduo_____________________________________
Introduo_____________________________________
FunesdoMatlab:
nome(argumento)
sqrt(x)raizquadrada
abs(x)mdulodex
conj(z)conjugadodeumcomplexo
real(z),imag(z)parterealeimaginriadez,
respectivamente
exp(x)calculaex,sendoxrealoucomplexo
sin(x)asin(x)[/2/2] cos(x)acos(x)[0]tan(x)
atan(x)[/2/2]angle(z)log(x)(embasee)log10(x)
rats(x)rem(x,y)restodex/yround(x)sign(x)
Comandosdeajuda:
help
lookfor
whatficheiros.me.matdodirectrioactual
dirficheirosdodirectrioactual
Introduo_____________________________________
typenome_ficheiroMostraocontedodoficheiro
deletenome_ficheiroApagaoficheiro
cdmudadedirectoria
pwdindicaadirectoriaactual
whichnome_ficheiroindicaadirectoriaondeest
! Abre uma janela de MSDOS que se fecha quando
regressamosaoMatlab
startup.mficheirodearranqueaoexecutaromatlab.
Para guardar num ficheiro os comandos que se
executamnumasesso:
>>diarynome_ficheiro
...
>>diaryoff
8
Introduo_____________________________________
diarytema1.dia
clear
Exerccio1.1Calcularovalordaexpresso:
42 . 1768234
J=
2 10 10247
Exerccio1.2Calcularovalordaexpresso:
H=
9 . 810 14 5 . 876105
9 . 98710 5 10 6
Eescreveroresultadoempelomenos2formatos
Exerccio1.3Calcular
I=
3 sen 32 15 '
42 . 13
Exerccio1.4SegundoHilleLounasmaa,aequaoda
curvadeinversodohlio P=21 . 05 . 44 T 0 . 132 T 2
OndeapressoPvemdadaematmosferasea
temperaturaTemKelvin.Calcularovalordapressoa
umatemperaturade293K.Calcularovalorda
temperaturaparaumapressode1N/m2.
Nota:1N/m2=9.265*106atm
Introduo_____________________________________
diaryoff
dir
typetema1.dia
10
VECTORESEMATRIZES
Asmatrizessootipofundamentalde
estruturaemMatlab.
A=[135;692;487]
A^2+3*A
A=
ans=
135
692
487
427961
8614268
92164106
det(A)
ans=
11
MATrixLABoratory
dadossomatrizes
regrasdalgebralinear
Vectoresematrizes_______________________________
Osvectorespodemservectoreslinhaouvectorescoluna
Vectoreslinha:oselementosdeumamesmalinhaesto
separadosporespaosouvrgulas,
>>v=[234]
Vectores coluna: os elementos de uma mesma coluna esto
separadosporpontoevrgula(;).
>>w=[2;3;4;7;9;8]
A dimenso de um vector obtmse pelo comando length
(nomedovector)sub_w=w(i:k:j)
12
Criaodevectores:
Especificandooincrementodassuascomponentesv=a:h:b;
Especificandoasuadimensolinspace(a,b,n)seseomiten
toma100pordefeito;oincrementok=(ba)/(n1)
Com componentes logaritmicamente espaados logspace
(a,b,n) gera um vector linha de n pontos logaritmicamente
espaadosentre10ae10b.Seseomiteovalorden,tomapor
defeito50
Vectoresematrizes_______________________________
Operaescomescalares:
v+kadio
vksubtraco
v*kmultiplicao
v/kdivideporkcadaelementodev
k./vdividekporcadaelementodev
v.^kpotenciao:cadacomponentedevelevadoak
k.^vpotenciao:kelevadoacadacomponentedev
Operaesentrevectores:
v+wadio
vwsubtraco
v.*w multiplicao: cada elemento de v pelo correspondente
dew
v./wdividecadaelementodevpelocorrespondentedew
v.^w potenciao: cada componente de v elevado ao
correspondentedew
13
Vectoresematrizes_______________________________
FunesMatlabespecficasparavectores:
sum(v)soma
prod(v)produto
v'transposiodevectores(linhascolunas)
dot(v,w)produtoescalardevectores
cross(v,w)produtovectorialdevectores
[y,k]=max(v)valormximodascomponentesdeumvector
(kindicaaposio)omesmoparamin(v)(valormnimo)
14
Vectoresematrizes_______________________________
Exemplo:Clculodeerrosrelativos
Suponhamos que para resolver uma equao diferencial
ordinriausamos:
Um mtodo analtico mediante o qual sabemos que a
soluonumintervalo[0,1]y(x)=x2+cos(x).
Um mtodo numrico para aproximar a soluo no
intervalo[0,1]comparmetrodediscretizao0.2
15
ngulo(radianos)
Soluoaproximada
1.0030
0.2
1.0234
0.4
1.0825
0.6
1.1869
0.8
1.3342
1.5415
Vectoresematrizes_______________________________
Paradefinirumamatriznonecessrioestabelecerdeantemooseutamanho
(de facto, podese definir um tamanho e mudlo posteriormente). O MATLAB
determinaonmerodelinhasedecolunasemfunodonmerodeelementos
que se utilizam. As matrizes definemse por linhas; os elementos de uma mesma
linha esto separados por espaos ou vrgulas, ao passo que as linhas esto
separadas por ponto e vrgula (;). Por exemplo, o seguinte comando define uma
matrizAdedimenso(3x3):
A=[123;456;789]
Arespostadoprogramaaseguinte:
A=
123
456
789
matriz transposta: Em MATLAB o apstrofo (') o smbolo de transposio
matricial.
matrizinversa:AinversadeAcalculasecomafunoinv():
B=inv(A).
16
Vectoresematrizes_______________________________
+adio
subtraco
*multiplicao
'adjunta(transpostaoutranspostaconjugada)
^potenciao
\divisoesquerda
/divisodireita
.*produtoelementoaelemento
./e.\divisoelementoaelemento
.^elevaraumapotnciaelementoaelemento
17
Vectoresematrizes_______________________________
diag(A)Obtenodadiagonaldeumamatriz.sum(diag(A))calcula
otraodamatrizA
diag(A,k)extraiaksimadiagonal.
norm(A) norma de uma matriz, calcula o mximo dos valores
absolutosdoselementosdeA
Geraodematrizes:
Matrizdezeros,zeros(n,m)
Matrizdeuns,ones(n,m)
Matrizidentidadeeye(n,m)
Matrizdeelementosaleatriosrand(n,m)
Matrizescomdiagonaldadadiag(v),diag(v,k)
[XY]colunas,[X;Y]linhas
18
Vectoresematrizes_______________________________
Vectoresematrizes_______________________________
Exemplo1:Tomemosaseguintematriz
12
7
0
0
0
4
3
0
0
0
0
0
0
13
2
0
0
0
11
7
0
8
0
0
4
20
Vectoresematrizes_______________________________
m=[12,4,7,3,8,13,11,2,7,4];
f=[1,1,2,2,2,4,4,5,5,5];
c=[1,2,1,2,5,3,4,3,4,5];
a=sparse(f,c,m,5,5)
full(a)
m1=[12,7,4,3,13,2,11,7,8,4];
f1=[1,2,1,2,4,5,4,5,2,5];
c1=[1,1,2,2,3,3,4,4,5,5];
b=sparse(f1,c1,m1,5,5];
full(b)
a=sparse(f,c,m)
s=a+b
p=a*b
[f2,c2,m2]=find(p)
e=full(sparse(f2,c2,m2))
21
Vectoresematrizes_______________________________
Exerccio2.1Dadososvectoresdefinidosporx=(1,4.5,7.8)e
y=(sen(90),cos(45),0).Realizarosclculosseguintes:
x+y;produtoescalardexpory;calcularonguloformadopor
ambososvectores.
Exerccio 2.2 Para um laboratrio compramse os materiais
especificadosnatabelaseguinte:
22
Ref.artigo
Preo
Quantidade
1520
1146
200
1621
3450
250
1428
6225
150
1429
7100
150
1628
8500
100
Utilizarvectoreseoprodutodevectoresparacalcularocusto
decadaprodutoeototalapagar(atabeladepreosnoinclui
IVA,devendoportantoaplicarseataxade19%.
Vectoresematrizes_______________________________
Exerccio2.3Dadasasmatrizesaeb,calcular:a+b,
1 2 3
a= 2 3 4
4 2 5
4 2 1
b= 2 0 4
1 2 5
23
9celsius
32
5
Vectoresematrizes_______________________________
Exerccio2.5Considereseamatriztridiagonalaijdefinida
por:
aij=
i,sei=j
j,sei=j+1
j,sei=j1
0,nosrestantescasos
24
POLINMIOS
OspolinmiossorepresentadosemMatlabporum
vector linha de dimenso n+1 sendo n o grau do
polinmio.
Dadoumpolinmio
x3+2x
esterepresentasecomo
>>pol1=[1020]
para o clculo das razes de um polinmio existe o
comandoroots:
>>raizes=roots(pol1)
produzumvectorcoluna,enquantopol1umvector
linha
25
Polinmios______________________________________
Umpolinmiopodeserreconstrudoapartirdassuasrazes
comocomandopoly
>>p=poly(raizes)(dumvectorlinha)
Nocasoemqueoargumentodepolysejaumamatriz
obteramoscomoresultadoopolinmiocaractersticoda
matriz.Assimsequeremoscalcularosvaloresprpriosda
matrizbastacalcularasrazesdopolinmiocaracterstico.
Exemplo1:
pol2=[2401];%definiodopolinmio2x3+4x2+1
raizes=roots(pol2)%clculodassuasrazes
pol2_n=poly(raizes)%reconstruodopolinmio
real(pol2_n)%oqueacontece?
26
Exemplo2:
A=[123;234;425];p=poly(A)%pol.caracterstico
roots(p)%valoresprpriosdeA
Polinmios______________________________________
27
Exemplo5:
p1=[1,2,1];p2=[1,1];p3=conv(p1,p2)
p4=deconv(p3,p2)
[p4,r]=deconv(p3,p2)%restodadiviso
Polinmios______________________________________
r 1
p1 x
rn
=
k x
p2 x x p 1
x p n
28
Polinmios______________________________________
>>[p1,p2]=residue(r,p,k)fazaoperaoinversa
Exemplo6:
Decomporemfracessimplesoquociente
x 3 x 2 1
x 3 3 x 2 4
p1=[1101]
p2=[1304]
[r,p,k]=residue(p1,p2)
rats(r)
x 3 x 2 1
35
13
1
=
1
3
2
2
9 x1
x 3 x 4 9 x2 3 x2
[pol1,pol2]=residue(r,p,k)
29
Polinmios______________________________________
30
Polinmios______________________________________
Exerccio3.1Consideremosopolinmiop(x)=x1.Calcular
p(x)3 e identificar o polinmio obtido e calcular as suas
razes
Exerccio3.2 Segundo Hill e Lounasmaa, a equao da
curvadeinversodohlioP=21+5.44T0.132T2 ondeP
vemdadaematmosferaseTemKelvin.
a)Calcularovalordapressoaumatemperaturade
268.25C.
b) Calcular o valor da temperatura para uma presso de
3N/m2.Nota1N/m2=9.265e6atm.
Exerccio3.3CalcularasoluogeraldaEDO
y(5)y(4)+2y2y+yy=0
Exerccio3.4Calcularointegral I =
31
x 4 2 x1
dx
x1
Polinmios______________________________________
Exerccio3.1
p=[11];
q=conv(p,p)
q=conv(q,p)
raizes=roots(q)
formatshort
real(raizes)
Exerccio3.2
a)pressao=[0.1324.5521.0];
pressao0=polyval(pressao,273.15268.25)
b)pressao1=3*9.265e006;
pressao(3)=pressao(3)pressao1
temp=roots(pressao)
32
Polinmios______________________________________
Exerccio3.3
formatlong
p=[112211];
raizes=roots(p)
der_p=polyder(p)
polyval(der_p,round(raizes(2)))
Asoluoexacta:
y(x)=c1ex+c2sen(x)+c3cos(x)+c4xsen(x)+c5xcox(x)
dsolve(D5yD4y+2*D3y2*D2y+Dyy=0,x)
33
Polinmios______________________________________
Exerccio3.4
numerador=[10021];
denominador=[11];
[cociente,resto]=deconv(numerador,denominador)
I =
int((x^4+2*x+1)/(x1))
34
4
x 4 x3 x2
x x x3
dx = 3 x4 ln x1
x1
4
3
2
3
EQUAESLINEARES
Dado um sistema algbrico de equaes lineares da
forma Ax=b, resolvloemos por mtodos clssicos e
comfunesprpriasdoMatlab
Algunscomandoscujosargumentossomatrizeseque
soteisparaaresoluodesistemas:
>>det(A)%determinantedeumamatrizquadrada
>>inv(A)%inversadeumamatrizquadrada
>>rank(A)%rankdeumamatriz(ordemdomaiormenor
comdeterminantenonulo)
Exemplo1:
x=ones(4,4);v=[2222];y=x+diag(v)
rank(y)
35
Equaeslineares________________________________
Paraverseumsistemacompatvel
Ax=bcompatvelse
>>rank(A)rank([A,b])
Nmerodecondiodeumamatriz
>>cond(A)
este nmero indica a sensibilidade da soluo de um
problema em ordem a variaes relativas nos dados
deentrada.(arelaoentreomaioreomenorvalor
singulardamatriz,deveserprximode1)
36
Equaeslineares________________________________
ExemplosderesoluodeumsistemaAx=b:
RegradeCramer
Exemplo2:DadoumsistemaAx=b
A=[1,2,3;2,3,4;4,2,5]
b=[4;5;1];
%comprovamosqueamatriznosingular
det(A)
D1=A;D1(:,1)=b
D2=A;D2(:,2)=b
D3=A;D3(:,3)=b
x=[det(D1);det(D2);det(D3)]/det(A)
37
Equaeslineares________________________________
AsoluoporCramertediosaepoucoeficaz.
Umaprimeirapossibilidademaiscmoda.
Seamatrizquadradaeoseudeterminantediferente
dezero:
Ainv=inv(A)
Yosistemaseresolveriacomo
x=Ainv*b
Outrasoluoseriautilizaradivisomatricial
Outrasoluo
X=A\b
A\b, produz um resultado mesmo que a matriz no seja
quadradaenoinvertvel.
Por exemplo se o sistema sobredeterminado (mais
equaes que incgnitas) calculase a soluo que
minimiza a norma 2 de Axb (soluo de mnimos
quadrados)
38
Equaeslineares________________________________
Commatrizesesparsas
Exemplo3: Consideremos uma matriz tridiagonal de
dimenso 32 com a diagonal principal identicamente
igual a 4 e as diagonais superior e inferior iguais a 2, e
estudamos a variao no nmero de operaes a
realizar consoante tratemos a matriz como cheia ou
esparsa.AoresolverosistemaAx=b,comb=d=[1:32];
%defineseadiagonalinferior
diag=sparse(2:32,1:31,2*ones(1,31),32,32)
%defineseadiagonalprincipal
a=sparse(1:32,1:32,4*ones(1:32));
%constriseamatriztridiagonalesparsa
a=a+diag+diag;
%constriseamatrizcheia
b=full(a)
39
Equaeslineares________________________________
%defineseosegundomembro
d=[1:32];
Valoresevectoresprpriosdeumamatriz.
>>eig(A)(vectorcoluna)
>>[V,D]=eig(A)
40
Equaeslineares________________________________
Exerccio4.1
ConsidereamatrizA.CalcularodeterminantedamatrizA.Resolver
osistema,sendobumvectorcolunaiguala
(123)
A=
6
7
4
18
2
10
2
4
6
SubstituirnamatrizAoelementodalinha1coluna3por10efazer
omesmo.
Exerccio 4.2 Dada a matriz M, comprovar o teorema de Cayley
Hamilton:Todaamatrizraizdoseupolinmiocaracterstico
M=
41
1
1
3
1
2
0
2
0
1
Equaeslineares________________________________
Exerccio4.3
Considere a matriz A. Calcular os seus valores e
vectoresprprios
A=
1
2
4
Exerccio4.1
A=[6182;724;4106];
d=det(A)
b=[1;2;3];
sol=A\b
A(1,3)=10
d=det(A)
sol=A\b
A*solb
42
2
5
10
0
1
1
Equaeslineares________________________________
Exerccio4.2
M=[112;120;301];
poly(M)
M^3+4*M+13*eye(3)
Exerccio4.3
A=[120;251;4101];
[V,D]=eig(A)
diag(D)
43