You are on page 1of 6

Laboratórios de Informática MIEA 2009/10

INTRODUÇÃO AO MATLAB
O MATLAB, Laboratório de Matrizes, é uma ferramenta para computação numérica e
visualização gráfica destinado a utilizadores, fundamentalmente das áreas das
engenharias e ciências, que precisam de para realizar cálculos matemáticos, desenvolver
algoritmos, modelação, simulação, etc. Baseado em matrizes que não requerem
dimensionamento, um dos objectivos principais é proporcionar ao utilizador uma
solução simples e eficiente de muitos problemas computacionais que envolvem matrizes
e vectores. Permite solucionar muitos problemas numéricos com um esforço muito
menor do esforço que seria necessário para escrever um programa numa linguagem de
programação de alto nível.
O MatLab está dotado de um sistema interactivo e duma linguagem de programação.
Além de bibliotecas para cálculos aritméticos básicos, oferece ainda um grande número
de ferramentas (tool-boxes) para a resolução de problemas específicos da estatística,
programação linear, etc.
Na FEUP a versão instalada neste ano lectivo 2009/2010 é MATLAB 7.8.0 (R2009a).

1. Ficheiros do Matlab: M-ficheiros


M-Ficheiros – são ficheiros com extensão “.m” que contêm programas (scripts) e
funções que podem ser chamados e executados na janela de comandos do MATLAB.
programas – utilizados para armazenar comandos
funções – utilizados para armazenar funções e procedimentos.
2. Ambiente de trabalho em MATLAB

Janela de comando:
Existem dois modos de utilização:
1. modo imediato - para entrar variáveis e executar os comandos
2. modo de execução de funções - para executar procedimentos e programas
armazenados em M- ficheiros. Neste caso, utiliza-se o comando cd (change directory)
para procurar a pasta onde se encontra o M-ficheiro e introduz-se o nome do ficheiro
para começar a sua execução.

Traço do programa
diary <filename> → redirecciona a informação de saída para um ficheiro
diary on/off → activa/ desactiva o traço do programa

Profª Catarina Castro


Tema5_1
Laboratórios de Informática MIEA 2009/10

Janela de edição: para a edição dos M-ficheiros. Esta janela é aberta a partir do Menu
File na janela de comandos escolhendo New ou Open:

Janela de gráficos: para a visualização e impressão de gráficos.Esta janela abre-se


automaticamente quando se pede a execução de um gráfico. Por exemplo se na janela de
comandos escrever
>> x=[-4:0.01:4];
>> y= sin( x );
>> plot(x,y)
Irá ser desenhada a função trigonométrica seno de x para x entre -4 e 4 e por
incrementos 0.01.

Janela de help: para ajuda,


abre-se a partir do Menu Help
podendo ser usada em modo interactivo.

Profª Catarina Castro


Tema5_2
Laboratórios de Informática MIEA 2009/10

3. Comandos de visualização e informação

; coloca-se no final da linha para suprimir a repetição (echo) do comando


, coloca-se no final da linha se se deseja a repetição (echo) do comando
... coloca-se no final da linha quando o comando é demasiado longo para ser inserido
numa única linha
% comentário
format short visualiza 4 lugares decimais
format long visualiza 14 lugares decimais
who lista todas as variáveis utilizadas
whos lista todas as variáveis utilizadas juntamente com a informação sobre a sua
dimensão
what lista os ficheiros
clear apaga o espaço de trabalho
clear variables apaga as variáveis
clear x y z apaga apenas as variáveis x, y e z da memória.
clear functions apaga as funções
clc limpa o display
clg limpa o gráfico

4. Comandos para atribuir valores às variáveis


>> x = 2;
>> y = x^2 -3*x + 2;
>> z = tan( x^2 )-cos(3*y)^2 + 2*x*y;

No Matlab letras maiúsculas e minúsculas são diferentes.


Evitar utilizar como nomes variáveis que sejam nomes de variáveis intrínsecas do
Matlab (por ex: sin, cos, exp, sqrt, etc.). Sempre que o nome de uma função é utilizado
para definir uma variável, a função deixa de poder ser utilizada.

Algumas das variáveis pré-definidas:


ans toma o valor do resultado da última expressão.
pi o número π
eps a menor diferença entre 2 números: 2^(-52)
inf usado para infinito
i definido como −1 , que é 0+1.0000i
j o mesmo que i
NaN Not-a-Number por exemplo 0/0.

5. Gráficos de funções
A função plot( ) - gera gráficos em R2
plot(x,y) → desenha um gráfico que passa pelos pontos (x(i),y(i))
plot(y) → desenha um gráfico que passa pelos pontos (i,y(i))
plot(x,y, S) → S pode ser formado pelo primeiro elemento que identifica a cor da linha
e o segundo que identifica o tipo de linha:
cor : y – amarelo; m – magenta, c - azul celeste; r - vermelho; g – verde; b - azul ;
w – branco; k- preto
tipo de linha: . ; -; o ; : ; x; -. ; + ; --; * ; s - quadrado; d –diamante; v;^ ; <; >; etc.
Por exemplo, plot(x1,y1,’r*’, x2,y2, ‘g’, x2,y2,’:’) → desenha três gráficos com
diferentes cores e formatos de linhas.

Profª Catarina Castro


Tema5_3
Laboratórios de Informática MIEA 2009/10

Para desenhar o gráfico de uma função de uma variável podemos usar por exemplo:

>> x=[-2:0.01:4];
>> y=3.5.^(-x/2).*cos(6*x);
>> plot(x,y)

>> fplot('3*x^3-26*x+10',[-2,2])
>> hold on
>> fplot('x^4',[-2,2],'--r')
>>
>> hold off

>> f=inline('x^2+exp(x)-3*x-4');
>> fplot(f,[-2,2])

Algumas das funções matemáticas elementares são:

abs(x) - valor absoluto de x. factorial(x) – função factorial.


acos(x) - arco cujo cosseno é x. log(x) - logaritmo de x na base e.
asin(x) - arco cujo seno é x. log10(x) - logaritmo de x na base 10.
atan(x) - arco cuja tangente é x. sin(x) - seno de x.
cos(x) - cosseno de x. sqrt(x) - raiz quadrada de x.
exp(x) - exponencial de x. tan(x) - tangente de x.

Profª Catarina Castro


Tema5_4
Laboratórios de Informática MIEA 2009/10

6. Funções para manipulação algébrica

O comando Sym e Syms permite definir variáveis simbólicas para manipulação


algébrica.
Por exemplo: Syms x y z

Algumas das funções mais utilizadas para manipulação algébrica são:

compose(f,g) - determina a composta f(g(x)).


expand(expr) - expande uma expressão expr.
finverse(expr) - determina a função inversa de expr.
pretty(expr) - exibe a expressão expr numa forma mais bonita.
simple - procura encontrar uma forma mais simples de escrever expr.
simplify(expr) - simplifica a expressão expr.
solve(expr) – determina as soluções da equação expr= 0.
subs(expr,x,a) - substitui na expressão expr a variável x por a.

Exemplos:

>> syms x y z >> syms x y z >> syms f x


>> y=sin(x); >> y=sin(x); >> f=x^2+5*x+4;
>> z=x^2; >> z=x^2; >> solve(f)
>> diff(y) >> compose(y,z) ans =
ans = cos(x) ans = -4
>> diff(y+z) sin(x^2) -1
ans = >>
2*x + cos(x)

>> f=inline('x^2+exp(x)-3*x-4');
>> fplot(f,[-2,2])
>> solve(f)

ans = -0.9188921458584411416756

>>

>> clear f g x
>> clear functions
>> syms f g x
>> f=x^3;
>> g=finverse(f)
Warning: finverse(x^3) is not unique.
> In sym.finverse at 46
g = x^(1/3)

Profª Catarina Castro


Tema5_5
Laboratórios de Informática MIEA 2009/10

Exercícios:
1. Calcule as expressões seguintes para diferentes valores de x:
sen x 1
a) b) c) x sec 2 ( x 2 ) + e x

3 + cos x + 2 sen x 3

( 4x − x2 ) 2
2. Calcule para x= 0, 3 e 30 os valores de y e de z

1 5π
y= 5 + 3 3x7 z=
x +1 x + x+3
2

3. Faça os gráficos das funções e calcule as suas derivadas

x5 ex − x −1
f ( x) = + x ; g ( x ) = x 3 / 2 + 52 x 2 ; h( x) =
x2 + 1 x2

4. Utilize um único gráfico para desenhar as funções

f ( x ) = sec( x ) + cosec( x ) e g ( x ) = x 2 tg ( x 3 )

5. Faça os gráficos das funções

f ( x ) = ln( arc cos( x )) + tg (ln( x )) e g ( x ) = sen 2 ( x + 1) + tg ( x 3 )

6. Utilize um único gráfico para desenhar pelo menos duas das três funções

π
f ( x ) = cos( x ) + sen 2 ( x ) g ( x ) = 2tg (e x ) − 5sec( x ) +
2
tg ( x ) + arcsen( x 2 + 1)
h( x) =
cos 2 ( x )

sen x 1
7. Considere f ( x ) = e g ( x) =
3 + cos x + 2 sen x 3

( 4x − x2 )2
calcule f(g(x)) e as funções inversas de f(x) e de g(x).

8. Resolva as equações:

 1 
a) x3 + 3 x − e x = 0 b) arcsen  =0 c) arctg ( x ) = x 2 .
1+ x
2

Profª Catarina Castro


Tema5_6

You might also like