Introduçao ao MATLAB

6

Click here to load reader

Transcript of Introduçao ao MATLAB

Page 1: Introduçao ao MATLAB

Laboratórios de Informática MIEA 2009/10

Profª Catarina Castro Tema5_1

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

Page 2: Introduçao ao MATLAB

Laboratórios de Informática MIEA 2009/10

Profª Catarina Castro Tema5_2

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.

Page 3: Introduçao ao MATLAB

Laboratórios de Informática MIEA 2009/10

Profª Catarina Castro Tema5_3

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.

Page 4: Introduçao ao MATLAB

Laboratórios de Informática MIEA 2009/10

Profª Catarina Castro Tema5_4

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. acos(x) - arco cujo cosseno é x. asin(x) - arco cujo seno é x. atan(x) - arco cuja tangente é x. cos(x) - cosseno de x. exp(x) - exponencial de x.

factorial(x) – função factorial. log(x) - logaritmo de x na base e. log10(x) - logaritmo de x na base 10. sin(x) - seno de x. sqrt(x) - raiz quadrada de x. tan(x) - tangente de x.

Page 5: Introduçao ao MATLAB

Laboratórios de Informática MIEA 2009/10

Profª Catarina Castro Tema5_5

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 >> y=sin(x); >> z=x^2; >> diff(y) ans = cos(x) >> diff(y+z) ans = 2*x + cos(x)

>> syms x y z >> y=sin(x); >> z=x^2; >> compose(y,z) ans = sin(x^2)

>> syms f x >> f=x^2+5*x+4; >> solve(f) ans = -4 -1 >>

>> 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)

Page 6: Introduçao ao MATLAB

Laboratórios de Informática MIEA 2009/10

Profª Catarina Castro Tema5_6

Exercícios: 1. Calcule as expressões seguintes para diferentes valores de x:

a) 3 cos 2

sen x

x sen x+ + b)

( )3

2 2

1

4x x− c) 2 2sec ( ) xx x e+

2. Calcule para x= 0, 3 e 30 os valores de y e de z

3 751

31

y xx

= ++

2

5

3z

x x

π=+ +

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

5

2( )

1

xf x x

x= +

+ ; 3 / 2 25

2( )g x x x= + ; 2

1( )

xe xh x

x

− −=

4. Utilize um único gráfico para desenhar as funções ( ) sec( ) cosec( )f x x x= + e 2 3( ) ( )g x x tg x=

5. Faça os gráficos das funções ( ) ln( cos( )) (ln( ))f x arc x tg x= + e 2 3( ) ( 1) ( )g x sen x tg x= + +

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

2( ) cos( ) ( )f x x sen x= + ( ) 2 ( ) 5sec( )2

xg x tg e xπ= − +

2

2

( ) ( 1)( )

cos ( )

tg x arcsen xh x

x

+ +=

7. Considere ( )3 cos 2

sen xf x

x sen x=

+ + e

( )3

2 2

1( )

4

g x

x x

=−

calcule f(g(x)) e as funções inversas de f(x) e de g(x). 8. Resolva as equações:

a) 3 3 0xx x e+ − = b) 2

10

1arcsen

x = +

c) 2( )arctg x x= .