Sunteți pe pagina 1din 49

ESCOLA NUTICA INFANTE D.

HENRIQUE
DEPARTAMENTO DE MQUINAS MARTIMAS


















MANUAL

DE INTRODUO

AO

MATLAB






Por:
Prof. Luis Fernandes Mendona







E.N.I.D.H. - 2003/2004


ENIDH/DMM Luis M. Mendona Pg.1

CAPTULO
1


INTRODUO AO
MATLAB


O MATLAB um software interactivo constitudo por um conjunto de ferramentas
matemticas que proporcionam uma grande ajuda nos clculos de engenharia. Neste
software as matrizes assumem um papel fundamental.
O nome MATLAB advm da combinao de 2 palavras, MATrix LABoratory.
Inicialmente escrito em FORTRAN, o MATLAB hoje inteiramente escrito em
linguagem C, sendo um sistema integrado, incluindo grficos e macros programveis.
No Ensino Superior, o MATLAB tornou-se uma ferramenta muito importante,
utilizada em diferentes matrias como a lgebra linear e a anlise de sistemas de
controlo, entre outras.
Na indstria, o MATLAB utilizado na procura e na resoluo de problemas prticos
de engenharia.



PLANO DO CAPTULO

1.1 Command Window
1.2 Operaes Aritmticas
1.3 Variveis em MATLAB
1.4 Comentrios e Pontuao
1.5 Nmeros Complexos
1.6 Funes Matemticas
1.7 Ficheiros Script ou m-files
1.8 Como Encontrar Ajuda no MATLAB


ENIDH/DMM Luis M. Mendona Pg.2

1.1 COMMAND WINDOW

Quando iniciamos o MATLAB aparece-nos uma janela, designada por Command window,
atravs da qual iremos fazer a interaco com o programa. Nela aparece, alm de uma barra
de menus, o smbolo (prompt), que nos indica que o MATLAB est pronto para executar as
operaes e instrues por ns introduzidas.

Commands to get started: intro, demo, help help
Commands for more information: help, whatsnew, info, subscribe



No quadro seguinte apresentam-se alguns comandos muito utilizados:



Command Window


clc
Limpa o contedo do Command window.

diary

Grava o contedo do Command window
para um ficheiro de texto chamado diary.

diary nome_ficheiro
Grava tudo o que se passa durante uma
sesso (excepto grficos) para o ficheiro
escolhido. Se depois escrevermos diary off
o MATLAB interrompe a gravao do que
se passa. Se introduzirmos o comando diary
on o MATLAB retoma a gravao.

home
Move o cursor para o canto superior
esquerdo.

more
Obriga os dados a sarem para o ecr pgina
a pgina. (more on e more off)
O comando more(n) obriga sada de n
linhas por ecr.


1.2 OPERAES ARITMTICAS

O MATLAB possui todas as operaes bsicas da matemtica podendo ser utilizado com
uma simples mquina de calcular. Aqui esto alguns exemplos:

56/8
ans =
7
8\56
ans =
7

ENIDH/DMM Luis M. Mendona Pg.3

4+2
ans =
6

4*250 + 2*100
ans =
1200



OPERAES ARITMTICAS

OPERAO SMBOLO EXEMPLO

Adio, a + b + 5 + 3
Subtraco, a b - 23 - 12
Multiplicao, a . b * 3.14 * 0.85
Diviso, a b / ou \ 56/8 = 8\56
Potenciao, a
b
^ 5^2


As regras de precedncia utilizadas na avaliao das expresses so as seguintes: as
expresses so avaliadas da esquerda para a direita, em que a operao de maior precedncia
a potenciao, depois vm as operaes de multiplicao e diviso, e por fim as operaes
de adio e subtraco.
Utilizam-se parnteses para alterar as precedncias e o modo como as operaes so
avaliadas.

FORMATOS NUMRICOS

No MATLAB podemos apresentar os nmeros segundo diversos formatos. Aqui esto
alguns exemplos:

preco=1/3
preco =
0.3333

format long preco % Utiliza 16 dgitos
preco
preco =
0.33333333333333
format short e % Utiliza 5 dgitos mais expoente
preco
preco =
3.3333e-001

format long e % Utiliza 16 dgitos mais expoente
preco

ENIDH/DMM Luis M. Mendona Pg.4
preco =
3.333333333333333e-001

format hex % O nmero escrito em formato hexadecimal
preco
preco =
3fd5555555555555

format bank % Escreve o nmero utilizando duas casas decimais
preco
preco =
0.33

format rat % Utilizando fraces
preco
preco =
1/3

format short % Utiliza 5 dgitos
preco
preco =
0.3333

Nota: A representao interna dos nmeros no alterada quando se utilizam estes
comandos


1.3 VARIVEIS EM MATLAB

Considerando o exemplo da pgina anterior vamos mostrar que podemos efectuar os
mesmos clculos utilizando variveis:

cadernos=4
cadernos =
4

canetas=2
canetas =
2
itens=cadernos+canetas
itens =
6

custo_total=cadernos*250+canetas*100
custo_total =
1200

Quando se atribuem nomes s variveis h que ter em conta as seguintes observaes:

ENIDH/DMM Luis M. Mendona Pg.5
Ter cuidado com a utilizao de letras maisculas e minsculas.
Caderno, caderno e cadErno - so 3 variveis diferentes para o MATLAB.

As variveis devem ter no mximo 19 caracteres pois o MATLAB ignora os restantes
caracteres.

equetalestenomeparaumavariavel=2
equetalestenomepara =
2
As variveis no podem ter smbolos de pontuao. permitido utilizar o smbolo _
.
e_que_tal_este_nome_para_uma_variavel =0
e_que_tal_este_nome =
0


Variveis Especiais


Ans
Varivel onde so guardados, por defeito, os
resultados das operaes - ans o diminutivo
de ANSwer.
pi

Valor de = 3.1416.

Eps
Unidade de arredondamento da mquina, i.e.,
o menor valor que adicionado a 1 representa
um nmero maior que 1

Flops
Contador do nmero de operaes efectuadas.
Estamos a falar de operaes em vrgula
flutuante.
Inf
Representa +, isto , 1/0

NaN
Not-a-Number, smbolo que representa 0/0 ou
outra expresso no determinada.


MATLAB WORKSPACE

O MATLAB recorda-se de todos os comandos que vo sendo introduzidos ao longo de
uma sesso, permitindo que os utilizadores repitam ou aproveitem comandos inseridos
noutras alturas. De igual modo, todas as variveis que vo sendo definidas ao longo da sesso
ficam disponveis para serem utilizadas em ocasies futuras.
O local onde esta informao est guardada designa-se por MATLAB workspace.

De seguida enumeram-se algumas das coisas que podemos fazer, relacionadas com o
workspace:


ENIDH/DMM Luis M. Mendona Pg.6
Podemos utilizar as teclas e para rever os comandos anteriormente inseridos. Para
alterar a estrutura de um desses comando socorrermo-nos das teclas e .

Se quisermos obter uma lista com as variveis presentes no workspace basta utilizar o
comando who. Tambm podemos utilizar o comando whos que juntamente com os
nomes das variveis refere, tambm, qual a memria que cada uma ocupa assim como a
sua dimenso - o que muito til se as variveis forem matrizes.

who
Your variables are:
ans canetas itens
cadernos custo_total

Tambm possvel gravar o contedo do Workspace para um ficheiro. Para isso
podemos utilizar o menu [File] [Save Workspace As] ou utilizar os comandos
save e load. As variveis presentes no Workspace podem ser gravadas em formato
binrio ou formato ascii.
Se utilizarmos apenas o comando save sem especificar qual o nome do ficheiro em que
pretendemos guardar a informao, ela ser gravado no ficheiro matlab.mat.
(Para obter uma explicao mais completa deste comando escreva help save)

save
Saving to: matlab.mat

save meu
% grava as variveis em format binrio para o ficheiro meu.mat

save dados canetas cadernos custo_total -ascii
% as variveis foram gravadas em formato ascii
% podemos escolher quais as variveis que queremos gravar

Podemos remover alguma ou todas as variveis presentes no Workspace utilizando o
comando clear.

who
Your variables are:
ans equetalestenomepara

cadernos itens
canetas preco
custo_total e_que_tal_este_nome

clear cadernos

who

Your variables are:

ENIDH/DMM Luis M. Mendona Pg.7
ans equetalestenomepara
canetas itens
custo_total preco
e_que_tal_este_nome

% se escrevermos o comando clear sem nenhum argumento o MATLAB apaga
todas as variaveis


1.4 COMENTRIOS E PONTUAO

Para introduzir comentrios deve utilizar-se o smbolo %.

canetas=10 % Nmero de canetas%
canetas =
10
% tudo o que est para a frente deste smbolo % ignorado

Quando inserimos um comando no MATLAB ele produz um eco, i.e., surge uma
confirmao da operao efectuada no ecr. Se no quisermos que tal acontea devemos
utilizar o smbolo ;.

canetas=10 % este comando produz eco
canetas =
10
canetas=10; % este comando no produz eco


Podemos utilizar a virgula (,) para introduzir vrios comando na mesma linha

canetas=3, vidros=20, lapis=4
canetas =
3
vidros =
20

lapis =
4

Se quisermos concluir um comando na linha seguinte devemos utilizar o smbolo .

itens=canetas+ ...
lapis+vidros
itens =
27

ENIDH/DMM Luis M. Mendona Pg.8
% os ... dizem ao Matlab que o resto do comando segue na prxima linha.
% nao pode ser utilizado na continuao de comentrios nem de nomes de
variveis.

1.5 NMEROS COMPLEXOS

No MATLAB a definio de nmeros complexos faz-se de uma maneira natural, apesar
disso, eles podem ser definidos utilizando vrios mtodos:

Definio de um complexo utilizando o i para identificar a parte imaginria.

c1=1-2i
c1 =
1.0000 - 2.0000i


Definio de um complexo utilizando o j para identificar a parte imaginria.

c1=1-2j % o j tambm serve
c1 =
1.0000 - 2.0000i


Definio de um complexo utilizando o sqrt(-1) para identificar a parte imaginria.

c2=3*(2-sqrt(-1)*3)
c2 =
6.0000 - 9.0000I


Definio de um complexo em funo de outro complexo.

c4=6+sin(.5)*i % neste caso foi necessrio por sin(.5)*I
c4 =
6.0000 + 0.4794i
Sempre que aparecem razes de nmeros negativos ento o MATLAB considera esse
valor como um complexo.

c3=sqrt(-2)
c3 =
0 + 1.4142i


As operaes aritmticas entre complexos so escritas de forma semelhante ao que se fazia
para os reais.

ENIDH/DMM Luis M. Mendona Pg.9

c6=c1+c2
c6 =
7.0000 -11.0000i

c7=(c1+c2)/c3
c7 =
-7.7782 -4.9497i

Para o MATLAB o resultado de uma operao entre nmeros complexos um complexo.

c8=i^2 % o quadrado de i o real -1
c8 =
-1.0000 + 0.0000i

Apesar de i
2
= -1 ser um real o MATLAB mantm a parte imaginria do nmero igual a
zero. Para eliminar a parte imaginria de um nmero complexo utiliza-se a funo real.

c9=real(c6)
c9 =
7
Apresentam-se, agora, as funes utilizadas para estabelecer a correspondncia entre a
representao algbrica (z = a+ bi) e a representao polar ( z = r (cos + sen ), em que r =
|z|):

A funo abs determina o valor absoluto de um complexo.

c1
c1 =
1.0000 - 2.0000i
mag_c1=abs(c1)
mag_c1 =
2.2361

A funo angle determina o argumento de um complexo em radianos.

angle_c1=angle(c1)
angle_c1 =
-1.1071
deg_c1=angle_c1*180/pi
deg_c1 =
-63.4349

Com estas duas funes conseguimos obter as coordenadas polares que desejamos.

ENIDH/DMM Luis M. Mendona Pg.10
abs(z) - obtemos o valor do mdulo r = |z| =
2 2
b a +

angle(z) - obtemos o valor do argumento de z, = ) ( tan
1
a
b



cos r a = , sin r b =


Outras duas funes utilizadas com nmeros complexos so:

A funo conj d-nos o complexo conjugado de um nmero complexo.

conj(c1)
ans =
1.0000 + 2.0000i

A funo imag d-nos a parte imaginria de um complexo.

imag_c1=imag(c1)
imag_c1 =
-2

A funo real d-nos a parte real de um imaginrio.

real_c1=real(c1)
real_c1 =
1


1.6 FUNES MATEMTICAS

De seguida apresenta-se um quadro com as principais funes matemticas que o
MATLAB possui.

Alguns exemplos de aplicao dessas funes matemticas so apresentados em seguida:

x=sqrt(2)/2
x =
0.7071

y=asin(x)
y =
0.7854

y_deg=y*180/pi
y_deg =
45.0000

ENIDH/DMM Luis M. Mendona Pg.11


TRIGONOMETRICAS EXPONENTIAL
sin
Seno
exp
Exponencial
sinh
Seno hiperblico
log
Logaritmo natural
asin
Arco cujo o seno
log10
Logaritmo de base 10
asinh
Arco cujo seno hiperblico
sqrt
Raiz quadrada
cos
Co-seno


cosh
Co-seno hiperblico


acos
Arco cujo o co-seno


acosh
Arco cujo co-seno hiperblico
COMPLEXAS
tan
Tangente
abs
Valor Absoluto
tanh
Tangente hiperblica
angle
Argumento (em radianos)
atan
Arco cuja tangente
conj
Complexo conjugado
atanh
Arco cuja tangente hiperblica
imag
Parte imaginaria
sec
Secante
real
Parte real
sech
Secante hiperblica
asec
Arco cujo co-seno hiperblico
asech
Arco cujo co-seno hiperblico
csc
Co-secante
csch
Co-secante hiperblica
acsc
Arco cuja co-secante NUMRICAS
acsch
Arco cuja co-secante hiperblica
round
Arredonda para o inteiro
cot
Co-tangente

mais prximo
coth
Co-tangente hiperblica
rem
Resto da diviso
acot
Arco cuja co-tangente
sign
Sinal de um nmero
acoth
Arco cuja co-tangente hiperblica


z=rem(23,4)
z =
3
z1=23/4
z1 =
5.7500

a=exp(c1)
a =
-1.1312 - 2.4717i

sign(1.2)
ans =
1 % a resposta 1 pois o nmero positivo

sign(-23.4)
ans =
-1 % a resposta 1 quando o nmero negativo

ENIDH/DMM Luis M. Mendona Pg.12

sign(0)
ans =
0

1.7 FICHEIROS SCRIPT OU M-FILES

Quando o nmero de comandos a serem introduzidos muito grande e tambm quando
queremos reavaliar as expresses entretanto introduzidas torna-se mais prtico utilizar
ficheiros de texto com comandos de MATLAB denominados Script files (ou m-files).
Tambm podemos utilizar m-files para definir novas funes (function m-file) mas a
abordagem deste tpico ser feita no Captulo 4. Por agora, apenas, vamos considerar os m-
files como uma lista de comandos ou instrues de MATLAB.

Para criarmos um novo script (ou m-file) basta procurar o comando [New] localizado no
menu [File] e seguidamente escolher [M-file].
Como um m-file um ficheiro de texto ento, pode ser feito em qualquer editor de texto
o ficheiro tem de ter a extenso .m.
Para executar um m-file basta introduzir o seu nome, por exemplo:
exemplo

O MATLAB procura o ficheiro exemplo.m e executa todos os comandos como se eles
fossem inseridos directamente no command window.

Ao utilizar m-files tenha em ateno que:

Os comandos presentes no m-file tm acesso s variveis anteriormente definidas no
workspace.

As variveis definidas no m-file passam a fazer parte do workspace e podem ser
utilizadas aps a execuo do m-file.

O comando echo on diz ao MATLAB para fazer o eco dos comandos que vai lendo e
executando. O comando echo off faz o contrrio.


Exemplo de um m-file:

%Exemplo1 m-files
cadernos=4;
canetas=input(' Introduza o n de canetas > ');
itens=cadernos+canetas
custo_total=cadernos*250+canetas*100


A execuo deste m-file produz os seguintes resultados:

exemplo1

ENIDH/DMM Luis M. Mendona Pg.13
Introduza o n de canetas > 4
itens =
8
custo_total =
1400
Reparar na utilizao da funo input. Esta funo pode receber como valor de entrada
qualquer expresso matemtica que seja equivalente ao valor que se pretende introduzir.

exemplo1
Introduza o n de canetas > round(sqrt(13))+3
itens =
11
custo_total =
1700

Aqui est um quadro com algumas das funes teis na construo de m-files.


FUNES PARA OS M-FILES


disp(varivel)

Mostra o valor de uma varivel sem apresentar
o seu nome.

echo

Controla o eco dos comandos, presentes no
m-file, que vo sendo executados.
(echo on e echo off)

input

Espera pela introduo de um valor pelo
utilizador.

keyboard

Interrompe a execuo de um m-file dando
liberdade ao utilizador para executar outros
comandos. Retoma-se a execuo do m-file
fazendo return..

pause(n)

H uma pausa de n segundos na execuo.

waitforbuttonpress

Existe uma pausa na execuo do m-file at
que se carregue numa tecla do rato ou do
teclado.



Exemplo de um m-file em que se utiliza o comando keyboard :

%Exemplo2 - .m files
cadernos=4;

ENIDH/DMM Luis M. Mendona Pg.14
canetas=2;
keyboard
itens=cadernos+canetas
custo_total=cadernos*250+canetas*100

A execuo deste m-file produz o seguinte resultado:

exemplo2
K
K who
Your variables are:
a equetalestenomepara
angle_c1 imag_c1
ans itens
c1 lapis
c2 mag_c1
c3 preco
c4 real_c1
c6 vidros
c7 x
c8 y
cadernos y_deg
canetas z
custo_total z1
deg_c1
e_que_tal_este_nome
K return
itens =
6
custo_total =
1200

1.8 COMO ENCONTRAR AJUDA NO MATLAB

Existem dois comandos que permitem encontrar ajuda no MATLAB: O comando help e o
comando lookfor.
Um mtodo equivalente ao comando help baseia-se na utilizao do menu [Help].

help
HELP topics:
toolbox\local - Local function library.
matlab\datafun - Data analysis and Fourier transform functions.
matlab\elfun - Elementary math functions.

ENIDH/DMM Luis M. Mendona Pg.15
matlab\elmat - Elementary matrices and matrix manipulation.
matlab\funfun - Function functions - nonlinear numerical methods.
matlab\general - General purpose commands.
matlab\color - Color control and lighting model functions.
matlab\graphics - General purpose graphics functions.
matlab\iofun - Low-level file I/O functions.
matlab\lang - Language constructs and debugging.
matlab\matfun - Matrix functions - numerical linear algebra.
matlab\ops - Operators and special characters.
matlab\plotxy - Two dimensional graphics.
matlab\plotxyz - Three dimensional graphics.
matlab\polyfun - Polynomial and interpolation functions.
matlab\sounds - Sound processing functions.
matlab\sparfun - Sparse matrix functions.
matlab\specfun - Specialized math functions.
matlab\specmat - Specialized matrices.
matlab\strfun - Character string functions.
matlab\dde - DDE Toolbox.
matlab\demos - Demonstrations and samples.
simulink\simulink - SIMULINK model analysis and construction functions.
simulink\blocks - SIMULINK block library.
simulink\simdemos - SIMULINK demonstrations and samples.
toolbox\signal - Signal Processing Toolbox.
toolbox\ident - System Identification Toolbox.
nnet\examples - Neural Network Toolbox examples.
nnet\nnet - Neural Network Toolbox.
toolbox\robust - Robust Control Toolbox.
mutools\commands - Mu-Analysis and Synthesis Toolbox.
mutools\subs - Mu-tools examples and internal routines.
toolbox\optim - Optimization Toolbox.
toolbox\splines - Spline Toolbox.
toolbox\control - Control System Toolbox.
toolbox\mmle3 - MMLE3 Identification Toolbox.
toolbox\wintools - GUI tools for MATLAB for MS Windows.

For more help on directory/topic, type "help topic".


Se j soubermos aquilo que procuramos podemos utilizar o comando help de uma forma
mais precisa.

help general

ENIDH/DMM Luis M. Mendona Pg.16

General purpose commands.
Managing commands and functions.
help - On-line documentation.
what - Directory listing of M-, MAT- and MEX-files.
type - List M-file.
lookfor - Keyword search through the HELP entries.
which - Locate functions and files.
demo - Run demos.
path - Control MATLAB's search path.
Managing variables and the workspace.
who - List current variables.
whos - List current variables, long form.
load - Retrieve variables from disk.
save - Save workspace variables to disk.
clear - Clear variables and functions from memory.
pack - Consolidate workspace memory.
size - Size of matrix.
length - Length of vector.
disp - Display matrix or text.

Working with files and the operating system.
cd - Change current working directory.
dir - Directory listing.
delete - Delete file.
getenv - Get environment value.
! - Execute operating system command.
unix - Execute operating system command & return result.
diary - Save text of MATLAB session.

Controlling the command window.
cedit - Set command line edit/recall facility parameters.
clc - Clear command window.
home - Send cursor home.
format - Set output format.
echo - Echo commands inside script files.
more - Control paged output in command window.

Starting and quitting from MATLAB.
quit - Terminate MATLAB.
startup - M-file executed when MATLAB is invoked.

ENIDH/DMM Luis M. Mendona Pg.17
matlabrc - Master startup M-file.

General information.
info - Information about MATLAB and The MathWorks, Inc.
subscribe - Become subscribing user of MATLAB.
hostid - MATLAB server host identification number.
whatsnew - Information about new features not yet documented.
ver - MATLAB, SIMULINK, and TOOLBOX version information.

help sqrt

SQRT Square root.
SQRT(X) is the square root of X. Complex results are
produced if X is not positive.

See also SQRTM.

No caso de o MATLAB no encontrar informao sobre o tpico pretendido obtemos uma
mensagem deste tipo.

help controladores
controladores not found.

Se pretendermos procurar comandos que estejam relacionados com determinada palavra ou
conceito podemos utiliza a instruo lookfor

lookfor complex
CPLXPAIR Sort numbers into complex conjugate pairs.
CONJ Complex conjugate.
IMAG Complex imaginary part.
REAL Complex real part.
CDF2RDF Complex diagonal form to real block diagonal form.
RSF2CSF Real block diagonal form to complex diagonal form.
CPLXDEMO Maps of functions of a complex variable.
CPLXGRID Polar coordinate complex grid.
CPLXMAP Plot a function of a complex variable.
GRAFCPLX Demonstrates complex function plots in MATLAB.
LOGM2 LOGM2(X) is the matrix natural logarithm of X . Complex
CCEPS Complex cepstrum.
PHASE Computes the phase of a complex vector
mixedalg.m: % [MULT,XQO] = MIXEDALG(T,XQI,K) finds the existence of a
complex,diagonal
DSORT Sort complex discrete eigenvalues in descending order.

ENIDH/DMM Luis M. Mendona Pg.18
ESORT Sort complex continuous eigenvalues in descending order
LOGM2 LOGM2(X) is the matrix natural logarithm of X . Complex





ENIDH/DMM Luis M. Mendona Pg.19


CAPTULO
2


MATRIZES E
VECTORES







PLANO DO CAPTULO

2.1 Definio de Vectores
2.2 Endereamento de Elementos de Um Vector
2.3 Definio de Matrizes
2.4 Operaes com Matrizes
2.5 Operaes com Arrays
2.6 Manipulao dos Elementos de uma Matriz
2.7 Matrizes Especiais e Funes com Matrizes


ENIDH/DMM Luis M. Mendona Pg.20

2.1 DEFINIO DE VECTORES


Quando se pretende introduzir um vector deve fazer-se:

a=[1 2 3 4 5 6]
a =
1 2 3 4 5 6

Tambm possvel definir um novo vector custa de outro j existente:

x= [0 .1*pi .2*pi .3*pi .4*pi .5*pi .6*pi .7*pi .8*pi .9*pi pi]
x =
Columns 1 through 7
0 0.3142 0.6283 0.9425 1.2566 1.5708 1.8850
Columns 8 through 11
2.1991 2.5133 2.8274 3.1416

y=sin(x)
y =
Columns 1 through 7
0 0.3090 0.5878 0.8090 0.9511 1.0000 0.9511
Columns 8 through 11
0.8090 0.5878 0.3090 0.0000

Exemplo de um vector de nmeros complexos. (Consegue notar a modificao que se
produz com a introduo dos parnteses)

u=[1 -2i 3 4 5+6i]
u =
Columns 1 through 4
1.0000 0 - 2.0000i 3.0000 4.0000
Column 5
5.0000 + 6.0000i

v=[(1 -2i) 3 4 5+6i]
v =
1.0000 - 2.0000i 3.0000 4.0000 5.0000 +
6.0000i





ENIDH/DMM Luis M. Mendona Pg.21

Na definio de vectores um smbolo muito utilizado o : . Aqui esto alguns exemplos
da sua utilizao.

x=1:5 % comea em 1 e termina em 5 com incrementos de 1
x =
1 2 3 4 5

Se pretendermos utilizar um incremento diferente fazemos:

y=0:pi/4:pi % comea em 0 e termina em pi com incrementos de pi/4
y =
0 0.7854 1.5708 2.3562 3.1416

Tambm possvel utilizar incrementos negativos:

z=6:-1:1
z =
6 5 4 3 2 1
Outra maneira de definir o vector y=sin(x) a seguinte.

y1=(0:0.1:1)*pi
y1 =
Columns 1 through 7
0 0.3142 0.6283 0.9425 1.2566 1.5708 1.8850
Columns 8 through 11
2.1991 2.5133 2.8274 3.1416

Existem duas funes que podemos utilizar para criar vectores.

l=linspace(0,pi,11)
l =
Columns 1 through 7
0 0.3142 0.6283 0.9425 1.2566 1.5708 1.8850
Columns 8 through 11
2.1991 2.5133 2.8274 3.1416

g=logspace(0,2,11)
g =
Columns 1 through 7
1.0000 1.5849 2.5119 3.9811 6.3096 10.0000 15.8489


Columns 8 through 11

ENIDH/DMM Luis M. Mendona Pg.22
25.1189 39.8107 63.0957 100.0000



Mtodos para Definir Vectores


x=[2 2*pi sqrt(2) 2-3j]
Cria o vector x com os elementos
especificados. (Os elementos podem ser
expresses ou nmeros complexos).

x=n
i
:n
f

Cria um vector comeando no nmero n
i
e
terminando em n
f
, com incrementos de 1.

x=n
i
:i:n
f


Cria um vector comeando no nmero n
i
e
terminando em n
f
, com incrementos de i.

x=linspace(primeiro,ultimo,n)

Cria um vector comeando no primeiro e
terminando no ltimo, com n elementos.

x=logspace(primeiro,ultimo,n)

Cria um vector comeando em 10
primeiro
e
terminando em 10
ltimo
, com n elementos.


2.2 ENDEREAMENTO DE ELEMENTOS DE UM VECTOR

Existem vrios mtodos de enderear (ou de aceder) aos elementos de um vector.

Indicando a posio do elemento no vector
y(3) % queremos o terceiro elemento
ans =
1.5708

y(5) % queremos o quinto elemento
ans =
3.1416

Utilizando os :
z(1:4) % queremos do primeiro at ao quarto elemento
ans =
6 5 4 3
Usando outro vector para extrair os elementos pela ordem pretendida
y([4 2 3 1])
ans =
2.3562 0.7854 1.5708 0

2.3 DEFINIO DE MATRIZES


ENIDH/DMM Luis M. Mendona Pg.23
A introduo de uma matriz deve ser feita da seguinte forma: A=[1 2 3; 4 5 6; 7 8 9], em
que o smbolo ; divide as linhas da matriz.

A=[1 2 3;4 5 6; 7 8 9]
A =
1 2 3
4 5 6
7 8 9

B=[1;2;3;4;5]
B =
1
2
3
4
5
Podemos criar uma nova matriz adicionando novos elementos a uma matriz j existente.

C=[A;10 11 12]
C =
1 2 3
4 5 6
7 8 9
10 11 12

2.4 OPERAES COM MATRIZES

TRANSPOSTA
Para obter a transposta da matriz A e explicit-la pela matriz T devemos fazer:
T=A'

T =
1 4 7
2 5 8
3 6 9

Para vectores tudo se passa de modo semelhante,
x=[-1 0 2]'
x =
-1
0
2

ENIDH/DMM Luis M. Mendona Pg.24
ADIO E SUBTRACO

Considerando os vectores A e B vamos determinar A+B.

A=[1 2 3;4 5 6; 7 8 9]
A =
7 8 9

B=[1 4 7; 2 5 8; 3 6 0]
B =
1 4 7
2 5 8
3 6 0

A+B
ans =
2 6 10
6 10 14
10 14 9

MULTIPLICAO

A multiplicao de matrizes efectuada utilizando o smbolo * e tal como acontece nas
operaes de soma e subtraco h que ter em considerao as dimenses das matrizes

X=[-1 0 2]
X =
-1 0 2

Y=[-2 -1 1]'
Y =
-2
-1
1

X*Y
ans =
4

Y*X
ans =
2 0 -4
1 0 -2
-1 0 2


Quando se multiplica uma constante por um vector o resultado o seguinte:

pi*X
ans =
-3.1416 0 6.2832

pi*Y
ans =
-6.2832
-3.1416
3.1416


ENIDH/DMM Luis M. Mendona Pg.25
DIVISO

Existem dois tipos de diviso: a diviso esquerda (A\b) e a diviso direita (A/b). Podemos
ver qual a diferena entre estes dois tipos de diviso atravs de um exemplo.
Considere o seguinte sistema de equaes:



A=[1 2 3; 4 5 6; 7 8 0]
A =
1 2 3
4 5 6
7 8 0

b=[366;804;351]
b =
366
804
351

Diviso esquerda ( x = A\b soluo para A * x = b)

x=A\b
x =

25.0000
22.0000
99.0000

A*x
ans =
366
804
351

Diviso direita ( y = A/b soluo para x * A = b)

y=A/b
??? Error using ==> /
Matrix dimensions must agree.

x*A
??? Error using ==> *
Inner matrix dimensions must agree.

Devido as dimenses das matrizes no possvel realizar a diviso direita teria que se
modificar as dimenses de b, fazendo a sua transformada por exemplo.
A relao entre estas duas divises dada por: A\b = (b/A)

A\b
ans =
b x . A
351
804
366
x
x
x

0 8 7
6 5 4
3 2 1
3
2
1
=

.

ENIDH/DMM Luis M. Mendona Pg.26
25.0000
22.0000
99.0000

(b'/A')'
ans =
25.0000
22.0000
99.0000

Tambm conseguimos resolver um sistema de equaes lineares utilizando a funo inv para
calcular a inversa de uma matriz - x = A
-1
* b antes, porm, devemos verificar se o sistema
tem uma soluo nica calculando o seu determinante.

det(A)
ans =
27

x=inv(A)*b
x =
25.0000
22.0000
99.0000


2.5 OPERAES COM ARRAYS

Quando se utiliza o termo operaes com arrays pretende-se referir que as operaes
aritmticas so feitas de elemento para elemento.

ADIO E SUBTRACO

Para a adio e subtraco as operaes com array e as operaes com matrizes so iguais.
(Utiliza-se os mesmos smbolos)

MULTIPLICAO E DIVISO

A multiplicao de array efectuada elemento a elemento, sendo representada por .* . Se
A e B tm dimenses iguais ento C = A .* B resulta numa matriz em que cada um dos seus
elementos igual ao produto dos elementos individuais de A e B, nas mesmas posies

A=[2 4 6]
A =
2 4 6

B=[2 2 2]
B =
2 2 2

C=A.*B
C =
4 8 12
No que diz respeito diviso; se tivermos D = A ./ B ou E = A .\ B cada elemento de D e E
obtidos atravs da diviso ( esquerda ou direita) envolvendo os elementos respectivos de A
e B.
D=A./B

ENIDH/DMM Luis M. Mendona Pg.27
D =
1 2 3

E=A.\B
E =
1.0000 0.5000 0.3333

POTENCIAO
A potenciao elemento a elemento efectuada utilizando os smbolos .^ .

P=A.^B
P =
4 16 36

Contudo, o expoente poder ser um escalar.

Pe=A.^3
Pe =
8 64 216

Mas tambm podemos ter a base como um escalar

Ps=3.^A
Ps =
9 81 729


Operaes com Arrays


Sabendo que : A = [a
1
a
2
a
n
]; B = [b
1
b
2
b
n
]; c Escalar


Adio com um escalar

A+c = [a
1
+c a
2
+c a
n
+c]

Multiplicao com um escalar

A*c = [a
1
*c a
2
*c a
n
*c]

Adio

A+B = [a
1
+b
1
a
2
+b
2
a
n
+b
n
]

Multiplicao

A.*B = [a
1
.*b
1
a
2
.*b
2
a
n
.*b
n
]

Diviso esquerda

A.\B = [a
1
.\b
1
a
2
.\b
2
a
n
.\b
n
]

Diviso direita

A./B = [a
1
./b
1
a
2
./b
2
a
n
./b
n
]

Potenciao

A.^c = [a
1
.^c a
2
.^c a
n
.^c]


c.^A = [c.^a
1
c.^a
2
.^c c.^a
n
]


A.^B = [a
1
.^b
1
a
2
.^b
2
a
n
.^b
n
]



ENIDH/DMM Luis M. Mendona Pg.28
2.6 MANIPULAO DOS ELEMENTOS DE UMA MATRIZ

Podemos alterar o valor de apenas um elemento da matriz fazendo:

A=[1 2 3; 4 5 6; 7 8 0]

A =
1 2 3
4 5 6
7 8 0

A(3,3)=9 % modifica o elemento na 3linha, 3coluna para 9

A =
1 2 3
4 5 6
7 8 9

Tambm podemos fazer:

A(2,2)=A(1,2)+A(3,2)

A =
1 2 3
4 10 6
7 8 9

Outra manipulao dos elementos de uma matriz que o MATLAB permite a seguinte:

b=A(:) % transformamos uma matriz num vector coluna

b =
1
4
7
2
10
8
3
6
9

Se quisermos criar um matriz B invertendo a ordem das linhas de A, fazemos:

B=A(3:-1:1,1:3) % escolhemos as linhas, comeando na 3 e acabando na 1
B = % escolhemos as coluna, comeando na 1 e acabando na 3
7 8 0
4 5 6
1 2 3

De modo semelhante podemos obter uma submatriz de A.

C=A(1:2,2:3)
C =
2 3
6


ENIDH/DMM Luis M. Mendona Pg.29



Manipulao dos Elementos de uma Matriz


A(l,c)

Resulta uma submatriz de A com as linhas definas pelo
vector l e com as colunas definas (ou indexadas) pelo vector
c.

A(l,:)

Obtemos uma submatriz de A com as linhas definas pelo
vector l e com todas as colunas de A.

A(:,c)

Resulta uma submatriz de A com todas as linhas de A e com
as colunas definas (ou indexadas) pelo vector c.

A(:,c)

Obtemos um vector coluna com todos os elementos de A
tendo estes sido retirados coluna a coluna da matriz A.




2.7 MATRIZES ESPECIAIS E FUNES COM MATRIZES

De seguida apresentam-se algumas das matrizes especiais que possvel criar utilizando o
MATLAB.

Matrizes Especiais

zeros(3)
ans =
0 0 0
0 0 0
0 0 0

ones(3)
ans =
1 1 1
1 1 1
1 1 1

ones(3)*pi
ans =
3.1416 3.1416 3.1416
3.1416 3.1416 3.1416
3.1416 3.1416 3.1416

eye(3) % matriz identidade 3x3
ans =
1 0 0
0 1 0
0 0 1


ENIDH/DMM Luis M. Mendona Pg.30

Algumas Matrizes Especiais


[]

Matriz vazia

eye

Matriz identidade

ones

Matriz com todos elementos iguais a 1.

zeros

Matriz com todos elementos iguais a 0.

pascal

Matriz (triangular) de Pascal.

rand

Matriz preenchida aleatoriamente com elementos entre 0 e 1
(distribuio uniforme).

randn

Matriz preenchida aleatoriamente e segundo a distribuio
normal com u = 0 e = 1.

FUNES COM MATRIZES

O MATLAB possui inmeras funes com matrizes no quadro seguinte vamos apresentar
apenas algumas.



Funes com Matrizes


det(A)

Determinante

expm(A)

Matriz exponencial

logm(A)

Matriz logaritmo

inv(A)

Inversa da matriz A

d=eig(A)
[V,D]=eig(A)

Valores prprio e vectores prprios.

poly(A)

Polinmio caracterstico


ENIDH/DMM Luis M. Mendona Pg.31


CAPTULO
3


OPERADORES RELACIONAIS,
OPERADORES LGICOS E
ESTRUTURAS DE CONTROLO








PLANO DO CAPTULO

3.1 Operadores Relacionais
3.2 Operadores Lgicos
3.3 Estrutura de Escolha (IF ELSE-END)
3.4 Estruturas de Repetio (FOR, WHILE)





ENIDH/DMM Luis M. Mendona Pg.32

3.1 OPERADORES RELACIONAIS


No MATLAB utilizamos os operadores lgicos e relacionais para, juntamente com as
estruturas de repetio, controlar a ordem de execuo de um conjunto de instrues ou
comandos do MATLAB. Os nicos outputs ou resultados possveis para uma expresso
contendo operadores relacionais e lgicos so 1 (Verdadeiro) ou 0 (Falso)

3<4
ans =
1 % Verdadeiro

3>4
ans =
0 % Falso



Operadores Relacionais


<

Menor que

<=

Menor ou igual a

>

Maior que

>=

Maior ou igual a

==

Igual a

~=

Diferente de



Estes operadores podem ser utilizados na comparao entre duas matrizes, com as mesmas
dimenses, ou para comparar um escalar com os elementos que compem a matriz

A=1:9, B=9-A
A =
1 2 3 4 5 6 7 8 9

B =
8 7 6 5 4 3 2 1 0



ENIDH/DMM Luis M. Mendona Pg.33

VF=A>4 % Os zeros correspondem a elementos que so menores que 4
VF =
0 0 0 0 1 1 1 1 1

A==B
ans =
0 0 0 0 0 0 0 0 0

3.2 OPERADORES LGICOS

Os principais operadores lgicos so:



Operadores Lgicos


&

And (e)

|

Or (ou)

~

Not (negao)

xor(x,y)

Exclusive Or (Ou exclusivo)




Apresentam-se de seguida alguns exemplos da sua aplicao:

VF=A>4
VF =
0 0 0 0 1 1 1 1 1

VF1=~(A>4) % negamos a expresso anterior
VF1 =
1 1 1 1 0 0 0 0 0

A expresso seguinte devolve uns nas posies em que os elementos da matriz A verificam
a condio, i.e., so maiores do que 2 e menores do que 6.

VF2=(A>2)&(A<6)
VF2 =
0 0 1 1 1 0 0 0 0


ENIDH/DMM Luis M. Mendona Pg.34
3.3 ESTRUTURA DE ESCOLHA (IF-THEN-END)

Utilizamos esta estrutura quando queremos condicionar a execuo de uma dada instruo
ou comando ao valor (verdadeiro ou falso) de uma da expresso relacional ou lgica.
O quadro seguinte apresenta a sintaxe da estrutura IF-THEN-END.

IF expresso
Comandos
ELSEIF
Comandos
ELSE
Comandos
END
IF expresso
Comandos
END

Os Comandos so executados apenas se a expresso for verdadeira.
Podemos, tambm, consultar o MATLAB para obter mais informaes sobre a estrutura
IF.

help if
IF Conditionally execute statements.
The general form of an IF statement is:
IF variable, statements, END
The statements are executed if the real part of the variable
has all non-zero elements. The variable is usually the result of
expr rop expr where rop is ==, <, >, <=, >=, or ~=.
For example:
IF I == J
A(I,J) = 2;
ELSEIF ABS(I-J) == 1
A(I,J) = -1;
ELSE
A(I,J) = 0;
END

Apresentam-se, de seguida, dois exemplos que utilizam a estrutura IF.

laranjas=10;
Custo=laranjas*20
Custo =
200
if laranjas>5

ENIDH/DMM Luis M. Mendona Pg.35
Custo=(1-0.2)*Custo % faz-se um desconto de 20%
end
Custo =
160

Exemplo: Escreva um m-file que:
Pede ao utilizador para introduzir um nmero.
Verifica se esse nmero maior ou menor do que 5.
Se for maior imprime no ecr a palavra GRANDE, caso contrrio imprime a
palavra PEGUENO.

n = input('INDIQUE UM NMERO MAIOR QUE 0 ->');
if (n > 5)
disp('GRANDE')
elseif (n < 5)
disp('PEQUENO')
else
disp('BATOTA NO VALE! O NMERO DEVE SER MAIOR OU MENOR QUE 5')
end


3.4 ESTRUTURAS DE REPETIO

FOR

O ciclo FOR permite a repetio de um ou mais comandos. necessrio estabelecer na
sintaxe do comando qual o nmero de repeties a efectuar.


FOR
Varivel=expresso
Comando1
Comando2

ComandoN
END
FOR
Varivel=expresso
Comando
END


Se, no lugar da expresso tivermos um array ou uma matriz ento os comandos so
executados um nmeros de vezes iguais ao nmero de colunas do array ou matriz.


Podemos consultar o MATLAB para obter mais informaes sobre a estrutura FOR.


ENIDH/DMM Luis M. Mendona Pg.36
help for

FOR Repeat statements a specific number of times.
The general form of a FOR statement is:
FOR variable = expr, statement, ..., statement END

The columns of the expression are stored one at a time in
the variable and then the following statements, up to the
END, are executed. The expression is often of the form X:Y,
in which case its columns are simply scalars. Some examples
(assume N has already been assigned a value).

FOR I = 1:N,
FOR J = 1:N,
A(I,J) = 1/(I+J-1);
END
END

FOR S = 1.0: -0.1: 0.0, END steps S with increments of -0.1
FOR E = EYE(N), ... END sets E to the unit N-vectors.


De seguida apresentamos alguns exemplos do uso desta estrutura.


for n=1:10
x(n)=sin(n*pi/10);
n=10;
end


x
x =
Columns 1 through 7
0.3090 0.5878 0.8090 0.9511 1.0000 0.9511 0.8090
Columns 8 through 10
0.5878 0.3090 0.0000

for n=1:5
for m=5:-1:1
A(n,m)=n^2+m^2;
end
disp(n)

ENIDH/DMM Luis M. Mendona Pg.37
end
1
2
3
4
5

A
A =
2 5 10 17 26
5 8 13 20 29
10 13 18 25 34
17 20 25 32 41
26 29 34 41 50




Exemplo: Faa um m-file que preencha uma matriz. Pea ao utilizador o nmeros de linhas
e de colunas que ele deseja para a matriz.

n=1;
s=1;

disp('PREENCHIMENTO DE UMA MATRIZ')
n = input('INDIQUE O NMERO DE LINHAS ->');
s = input('INDIQUE O NMERO DE COLUNAS ->');

for i=1:n,
for j=1:s,
a(i,j)=1/(i+j-1);
end
end

disp(' A MATRIZ :')
disp(a)



WHILE

O ciclo WHILE executado enquanto a expresso for verdadeira.





ENIDH/DMM Luis M. Mendona Pg.38

WHILE Varivel
Comando1
Comando2

ComandoN
END
WHILE Varivel
Comando
END

Consultando o MATLAB obtemos a seguinte informao sobre a estrutura WHILE.

help while

WHILE Repeat statements an indefinite number of times.
The general form of a WHILE statement is:

WHILE variable, statement, ..., statement, END

The statements are executed while the variable has all
non-zero elements. The variable is usually the result of
expr rop expr where rop is ==, <, >, <=, >=, or ~=.
For example (assuming A already defined):

E = 0*A; F = E + EYE(E); N = 1;
WHILE NORM(E+F-E,1) > 0,
E = E + F;
F = A*F/N;
N = N + 1;
END


De seguida apresentamos um exemplo de utilizao da estrutura WHILE.

n=10; % queremos preencher um vector com os nmeros de 1 a 10
i=1;
while i <= n
a(i)= i;
i=i+1;
end
disp(' O VECTOR :')
disp(a)
O VECTOR :
1 2 3 4 5 6 7 8 9 10

ENIDH/DMM Luis M. Mendona Pg.39


CAPTULO
4


GRFICOS











PLANO DO CAPTULO

4.1 O comando plot
4.2 Tipo de linhas e de cores
4.3 Grid and Labels
4.4 Comando hold
4.5 Subplots
4.6 Utilizar vrias janelas com figuras





ENIDH/DMM Luis M. Mendona Pg.40
4.1 O COMANDO PLOT


x=linspace(0,2*pi,30);

y=sin(x);

plot(x,y)

z=cos(x);

plot(x,y,x,z)

Podemos traar vrias funes no mesmo grfico utilizando vrios argumentos no comando
plot.

plot(x,y,z)

??? Error using ==> plot
Not enough input arguments.

Se um dos argumentos for uma matriz e o outro for um vector o matlab representa cada
coluna da matriz vs o vector.

W=[y;z];

plot(x,W)

plot(W,x)

plot(y)

length(y)

ans =
30

plot(1:length(y),y)

k=1:30

kk=i+1.1*i*j

plot(kk)
%plot(real(k),imag(k))



5.2 - Tipo de linhas e cores

Ns podemos definir qual as cores e o tipo de linha que pretendemos introduzindo mais
argumentos no comando plot

Cores: Se no for especificado o tipo de cores que que se pretende para o grfico o matlab
comea no amarelo e faz um ciclo pelas seis cores disponveis.

Linestyle: a linha utilizada, por defeito, o trao continuo.

ENIDH/DMM Luis M. Mendona Pg.41
plot(x,y,'g:',x,z,'r-') % utilizando linhas para unir os pontos

plot(x,y,'g:',x,z,'r-',x,y,'wo',x,z,'c+') % tambm com smbolos
assinalando cada ponto

plot(x,y,'wo',x,z,'c+') % apenas com smbolos

LETRA CORES

y
amarelo
m
magenta
c
cyan
r
encarnado
g
verde
b
azul
w
branco
k
preto


SMBOLO TIPO DE LINHA

-
linha slida
:
ponteada
-.
trao - ponto
--
trao interropido

SMBOLO MARKERS

.
ponto
o
crculo
x
x-mark
+
sinal +
*
Estrela



4.3 GRIDS AND LABELS


plot(x,y,x,z)

grid
grid

grid on

grid off

xlabel ('variavel independente x')

ylabel ('variaveis dependentes y e z')


ENIDH/DMM Luis M. Mendona Pg.42
title ('Seno e Coseno')

Podemos introduzir texto em qualquer parte do grfico utilizando comando text e as
respectivas coordenadas.

text(2.5,0.7,'sin(x)')

gtext('cos (x)') %utilizando o rato para escolher a posio


4.4 COMANDO HOLD

plot (x,y)

plot(x,z)

hold

Current plot held

plot(x,y)

plot(x,y,'m')


4.5 SUBPLOTS

O comando subplot(m,n,p) subdivide a figure windows numa matriz m por n e a rea activa
corresponde posio p.

a=2*sin(x).*cos(x);

b=sin(x)./(cos(x)+eps);

subplot(2,2,1)
plot(x,y),axis([0 2*pi -1 1]),title('sin(x)')

subplot(2,2,2)
plot(x,z),axis([0 2*pi -1 1]),title('cos(x)')

subplot(2,2,3)
plot(x,a),axis([0 2*pi -1 1]),title('2sin(x)cos(x)')

subplot(2,2,4)
plot(x,b),axis([0 2*pi -20 20]),title('sin(x)/cos(x)')

grid

subplot(2,2,2)

grid



ENIDH/DMM Luis M. Mendona Pg.43
4.6 - UTILIZAR VRIAS JANELAS COM FIGURAS

h1=figure

h1 =
1

plot(x,y),axis([0 2*pi -1 1]),title('sin(x)')

h2=figure

h2 =
2

plot(x,z),axis([0 2*pi -1 1]),title('cos(x)')
h3=figure

h3 =
3

plot(x,a),axis([0 2*pi -1 1]),title('2sin(x)cos(x)')
h4=figure

h4 =
4

plot(x,b),axis([0 2*pi -20 20]),title('sin(x)/cos(x)')

figure(4)

grid

close

close (2)

help close

clf

GINPUT Graphical input from a mouse or cursor.
[X,Y] = GINPUT(N) gets N points from the current axes and returns
the X- and Y-coordinates in length N vectors X and Y. The cursor
can be positioned using a mouse (or by using the Arrow Keys on some
systems). Data points are entered by pressing a mouse button
or any key on the keyboard. A carriage return terminates the
input before N points are entered.

[X,Y] = GINPUT gathers an unlimited number of points until the
return key is pressed.

[X,Y,BUTTON] = GINPUT(N) returns a third result, BUTTON, that
contains a vector of integers specifying which mouse button was
used (1,2,3 from left) or ASCII numbers if a key on the keyboard
was used.






ENIDH/DMM Luis M. Mendona Pg.44


CAPTULO
5


EXERCCIOS









PLANO DO CAPTULO

5.1 Exerccios (Parte A)
5.2 Exerccios (Parte B)









ENIDH/DMM Luis M. Mendona Pg.45
5.1 EXERCCIOS (PARTE A):

Os exerccios a efectuar devero ser apresentados sob a forma de listagem do Matlab.

1. Pretende-se utilizar para clculos futuros uma matriz A,


1.1. Faa ecoar esta matriz para o monitor.

1.2. Se pretendesse no visualizar a matriz como faria ?

2. Calcule a transposta da matriz A.

3. Pretende-se utilizar, igualmente, uma matriz B


3.1. Calcule a matriz C em que C = A + B.

3.2. Calcule a matriz D em que D = A B.

4. Introduza agora um vector E.


4.1. Calcule a Matriz F correspondente ao produto de B por E. Efectue todos os clculos
necessrios, especificando-os.

5. Efectue a diviso direita de A por B.

6. Eleve ao cubo o vector E.

7. Apresente os seguintes vectores:

7.1. Iniciando em 2 e terminando em 8 com incrementos de
2
1
.

7.2. Iniciando em 14 e terminando em 1 com incrementos fornecidos por uma varivel .
Considere que
10
1
= .
8. Qual o resultado que espera obter aps a introduo da seguinte expresso:

=
9 3 1
4 8 3
7 5 2
A

=
8 7 1
6 4 1
5 2 3
B
| | 1 6 5 E =

ENIDH/DMM Luis M. Mendona Pg.46
A(2,2) = A(2,3) + B(2,2)

9. Determine uma matriz com 2 colunas em que uma delas obtida de:

X = (0.0 : 0.2 : 3.0)

E a outra de :

Y = exp (-X) .* sin(X)




ENIDH/DMM Luis M. Mendona Pg.47
5.2 EXERCCIOS (PARTE B):

A resoluo do exerccios deve ser apresentada em disquete ou em listagem do MATLAB. Os
ficheiro devem ter os nomes especificados no enunciado de cada exerccio.


10. Fazer um m-file em que pedido ao utilizador para introduzir um nmero, o programa
deve determinar a que intervalo pertence o nmero e produzir o seguinte output :



N INTRODUZIDO


OUTPUT

0 .. 5

Mau

5 .. 7

Bom

7 .. 10

Muito Bom


(o m-file deve ter o nome: if1.m)



11. Preencha uma matriz 4x4 em que os elementos da diagonal principal devero ser 1 e os
restantes elementos so calculados atravs da expresso:


Utilize ciclos FOR. (O m-file deve ter o nome: for1.m)



12. Faa o exerccio 2 utilizando o ciclo WHILE. (O m-file deve ter o nome: wh1.m)











2
j
i x 3
j i a
|
|
.
|

\
|
= ) , (

ENIDH/DMM Luis M. Mendona Pg.48
6- NDICE

1.1 COMMAND WINDOW................................................................................................................................ 2
1.2 OPERAES ARITMTICAS................................................................................................................... 2
1.3 VARIVEIS EM MATLAB........................................................................................................................ 4
1.4 COMENTRIOS E PONTUAO............................................................................................................ 7
1.5 NMEROS COMPLEXOS .......................................................................................................................... 8
1.6 FUNES MATEMTICAS..................................................................................................................... 10
1.7 FICHEIROS SCRIPT OU M-FILES......................................................................................................... 12
1.8 COMO ENCONTRAR AJUDA NO MATLAB..................................................................................... 14
2.1 DEFINIO DE VECTORES .................................................................................................................. 20
2.2 ENDEREAMENTO DE ELEMENTOS DE UM VECTOR............................................................. 22
2.3 DEFINIO DE MATRIZES................................................................................................................... 22
2.4 OPERAES COM MATRIZES............................................................................................................. 23
2.5 OPERAES COM ARRAYS................................................................................................................... 26
2.6 MANIPULAO DOS ELEMENTOS DE UMA MATRIZ............................................................... 28
2.7 MATRIZES ESPECIAIS E FUNES COM MATRIZES................................................................ 29
MATRIZES ESPECIAIS ................................................................................................................................... 29
3.1 OPERADORES RELACIONAIS............................................................................................................... 32
3.2 OPERADORES LGICOS........................................................................................................................ 33
3.3 ESTRUTURA DE ESCOLHA (IF-THEN-END).................................................................................... 34
3.4 ESTRUTURAS DE REPETIO ............................................................................................................ 35
4.1 O COMANDO PLOT................................................................................................................................... 40
4.3 GRIDS AND LABELS ................................................................................................................................ 41
4.4 COMANDO HOLD...................................................................................................................................... 42
4.5 SUBPLOTS................................................................................................................................................. 42
4.6 - UTILIZAR VRIAS JANELAS COM FIGURAS ................................................................................. 43
5.1 EXERCCIOS:.............................................................................................................................................. 45
5.2 EXERCCIOS:.............................................................................................................................................. 47
6- NDICE............................................................................................................................................................ 48

S-ar putea să vă placă și