MATLAB 6
R12
OTÍLIA GEROTTO
O que é o Matlab?
- MATLAB (Matrix Laboratory) – software p/
cálculo numérico e científico de visualização de
alta performance.
- Elementos Básicos: Matrizes que não requerem
dimensionamento.
- Mais rápido e eficiente que C, Basic, Pascal ou
Fortran.
- TOOLBOXES:Grande coleção de funções para:
otimização, manip.algébrica, redes neurais,
process. Sinais, simul.sist.dinâmicos, etc.
Objetivos:
Resolver problemas matemáticos rápida e
eficientemente;
Fácil de ser usado;
Problemas e soluções são expressos quase que
da mesma maneira que no papel;
Facilidade de transcrição de fórmulas
matemáticas para serem usadas em
computadores;
Utilizado em aplicações matemáticas, engenharia
e análises científicas;
Elementos Básicos do Matlab:
Escalares (matriz 1X1)
Vetores: Linha e Coluna
Matrizes bi e multidimensionais
Variáveis Reservadas: ans, pi, i, j, inf,
version, flops, NaN, computer
Expressões Lógicas
Polinômios
Gráficos 2D e 3D
Programação
e também o Help
Tipos de Dados:
INTEIRO : 5
COMPLEXO: ´i´ e ´j´ . Ex: -3i
NOTAÇÃO CIENTÍFICA: -1.23e4
CHARACTER. Ex: ´ant´
Variáveis:
Alfanuméricas com até 32 caracteres;
1º caractere deve ser uma letra;
Aceita ‘-’ no meio da variável;
São sensíveis a maiúsculo e minúsculo;
Declaração de Variáveis:
nome-do-tipo :: lista-de-identificadores
Exemplos:
>>vet_01=[0.1 -0.5 1]
Vet_01 =
0.1000 -0.5000 1.000
>>Mat1=[1 2 3 4 5 6; 7 8 9 2 0 5]
Mat1 =
123456
789205
Comando de Atribuição:
Variável = expressão
- Exemplos:
x = sin(5)
y=1/3
Z=9.63973
w=1.602e-20
r = .0001
soma=3+2i
c = ‘ABC’
Expressões Aritméticas:
OPERADOR
OPERAÇÃO
+
Adição
-
Subtração
*
Multiplicação Matricial
.*
Multiplicação Escalar
/
Divisão Matricial
./
Divisão Escalar
.\
Divisão ‘esquerda’
^
Potência
.^
Potência escalar
´
Transposta
()
Precedência
Funções Básicas:
Exp
E
Poly
Polinômio característico
Log
Logarritmo natural Det
Determinante
Log10
Log.base 10
Abs
Valor absoluto
Find
Indice não zero
Sqrt
Raiz quadrada
Max
Máximo valor
Real
Parte real nº complexo
Min
Mínimo valor
Imag
Parte imag.nºcomplexo
Mean
Média aritmética
Conj
Conjunto nº complexo
Std
Desvio padrão
Round arredondar
Expressões Lógicas:
Operador
Significado
<
Menor que
<=
Menor ou igual que
==
Igual
~=
Não igual
>
Maior que
>=
Maior ou igual que
Operadores lógicos:
&
Para conjunção
|
Para disjunção
~
Para a negação
Polinômios
Vetores de uma linha, com coeficientes
ordenados em ordem descrescente.
Ex: x³ - 6x² - 72x – 27
é representado da forma:
> p=[1 –6 –72 27]
p=
1 -6
-72
-27
Funções para Polinômios:
Roots ->
Polyval ->
Conv ->
Deconv ->
Polyder ->
outras...
raízes do polinômio
valor do polinômio no ponto
multiplicação polinômios
divisão de polinômios
derivadas
GRÁFICO 2D
PLOT : função básica para desenhar
gráficos em duas dimensões.
Ex: f(x) = sen(x), 0<x<2*pi fica:
>>x=[0:0.1:2*pi];
>>plot(x,sin(x))
Que resulta no seguinte gráfico:
Ex. de Gráfico 2D:
f(x) = sen(x)
Gráficos 3D:
Podem ser: Curvas ou Superfícies

Curvas:
 plot3 – plota curvas em 3D
 contour – curvas de nível

Superfícies:
 surf, surfc, sufl – superfícies em 3D
 mesh, meshc – linhas em perspectivas 3D
Exemplo de um gráfico de curvas de uma
hélice circular:
t=0:pi/50:10*pi;
plot3(sin(t),cos(t),t);
Ex. Gráfico 3D de curvas:
Um exemplo em 3 tempos:
f(x,y) = sin(x/2).cos(y/3)
-pi< x,y<pi
1). Se utilizarmos um gráfico 2D:
x=[-pi:0.1:pi];
y=x;
z=sin(x/2).*cos(y/3);
plot(z)
(x,y,z são vetores linha de 1x63)
2). Gráfico 3D com curvas
x=[-pi:0.1:pi];y=x;
[x,y]=meshgrid(x,y);
z=sin(x/2).*cos(y/3);
plot3(x,y,z)
3). Gráfico 3D com superfícies
x=[-pi:0.1:pi];y=x;
[x,y]=meshgrid(x,y);
z=sin(x/2).*cos(y/3);
mesh(z);
(x,y,z são matrizes 63x63)
1).Utilizando-se plot (2D):
2).Utilizando-se meshgrid+plot3
3).Utilizando-se meshgrid+mesh
Programação:
Controladores de Fluxo
Arquivos m :

Scripts
 matrizes extensas
 Comandos frequentemente digitados


Funções
Função Funções
Controladores de Fluxo:
1). FOR variável = expressão
bloco de comandos
...
END
Ex:
>For i=^1:10
v(i) = 3*i;
end
Cria um vetor V com 10 elementos:
1 6 9 12 15 18 21 24 27 30
Controladores de Fluxo....
2). WHILE (expressão verdadeira)
bloco de comandos
...
END
Ex do cálculo do fatorial de n até n!< 10¹00
>N=1;
while prod(1:N)<1.e100
prod(1:N)
N=N+1;
end
> N = 70
Controladores de Fluxo....
3). IF condição verdadeira
bloco de comandos
ELSEIF condição2 verdadeira
bloco de comandos
ELSE
bloco de comandos
END
Controladores de Fluxo....
BREAK – termina um laço
INPUT - recebe dados do teclado.
PAUSE - pausa na execução pgma até
que qq.tecla seja pressionada.
PAUSE(n) – dá uma pausa de n segundos.
Arquivos m:
Automatizam uma sequência comandos.
Úteis p/entrar com matrizes extensas.
Podem ser criados a partir de qq.editor
de texto e são arquivos textos comuns.
Três tipos de arquivos M:



Scripts
Funções
Funções Função
Scripts:
Quando chamado, o Matlab executa todos os
comandos do arquivo. Ex arq. Fibonacci.m:
% Arquivo M que calcula prim.números de Fibonacci
f= [1 1];I=1;
while f(i) = f(i+1) < 1000
f(i+2) = f(i) + f(i+1);
i = i+1;
end
plot(f)
Para executar: somente fibonacci, fatorial, etc.
Gráfico do script fibonacci
Ex. de Script p/eq. 2o.Grau:
Arquivo func2grau.m:
% plota uma funcao y=ax^2 + bx +c no intervalo -5<x<5
clear
aux='s';
while aux=='s',
clc
a=input('a=');
b=input('b=');
c=input('c=');
x=-5:0.1:5;
y=a*x.^2+b*x+c;
plot(y)
figure(1)
pause
clc
close
aux=input('Plotar outro? (s/n) ==> ','s');
end
Execução do script func2grau
Para executar: func2grau
a=3
b=4
c=5
já é criado a figura
Plotar outro? (s/n) ==> n
>>
Figura gerada pela execução:
Arquivos Função:
Uma função difere de um script porque
argumentos podem ser passados p/ela.
Na prim.linha do arq. Deverá aparecer a
palavra function que definirá o nome da
função
Ex. arq. Função:
function y= escal(a,b)
% escal Produto escalar de dois vetores
if size(a) ~= size(b)
error(´Erro: vetores tamanhos diferentes´)
end
y=sum(ª*b);
p/ executar: a=3; b=98; escal(a,b);
> Ans = 294
Arquivos Funções Funções:
As Funções Funções recebem strings que
são nomes de funções.
Ex. de algumas funções funções:
Fplot
veja ex.
Quad
veja ex.
Gráfico de
uma função
Fzero
Raíz de uma
função
Integração
Numérica
Fmin
Mínimo de
uma função
Ex. Função Fplot da função velocid
function v=velocid(t)
% velocid velocidade de uma partícula num instante t
v=sin(t).*t.^2+8*t+1;
Agora usando a função função fplot
> fplot(‘velocid’,[0,12])
Script que utiliza funções:
% Nome desse script tvelocid.m
% Script para rodar a funçao velocid
x=0:0.5:12;
y=velocid(x);
figure(1)
plot(x,y)
title('Figura 01 com plot')
pause
% Script para rodar a funçao velocid utilizando-se a funcao funcao fplot
figure(2)
fplot('velocid',[0,12])
title('Figura 02 com fplot')
pause
% Script da mesma funcao velocid, utilizando-se a funcao funcao quad
(integracao numerica)
xint=quad('velocid',0,12)
Execução script tvelocid
>> tvelocid
(nesse ponto foi gerada as 2 figuras com pause entre elas)
xint =
453.2950
Resultado execução tvelocid
Bibliografia:
1. BALTHAZAR, J.Manoel, MATLAB Conceitos
Básicos – UNESP – DEMAC, 2001
2. MATSUMOTO, Élia Yathie, Matlab6
Fundamentos Pgmação, 2001;
3. TODESCO, José Leomar, Curso Introdut.
MATLAB – UFSC, 1995;