Matlab
Prof.Celso J. Munaro (DEL-CT-UFES)
cjmunaro@gmail.com
Porgrama de Pós-Graduação em Engenharia Elétrica
1
Aula 1
I. Introdução
– Desktop; Path; Help; Demos; Variáveis;
II. Gráficos
2
Desktop
3
Matlab path
4
Help
5
Help
6
Help
7
Demos
8
Variáveis
Comandos úteis:
who, whos, clear, load, save, importdata
9
Variáveis: entrada de dados
10
Variáveis: Escalares e matrizes
11
Variáveis
12
Variáveis
• x=1:0.5:10
• y=linspace(3,9,10)
13
Variáveis
• A=zeros(3,4)
• B=ones(5,5)
• C=[[zeros(2,3)], [ones(2,3)]; 1:6; 2:2:8, 0,0;[8,
7, 2, 5, 9, 0]]
14
Variáveis
Selecionando elementos da matriz C:
• C(2,3)
• C(2,:)
• C(:,4)
• C(1,1:end)
15
Variáveis tipo char
• s=‘s’
• W=‘ Nome’
16
Variáveis: char
17
Variáveis: char
• .
18
Variáveis: struct arrays
19
Variáveis: struct arrays
20
Variáveis: struct arrays
21
Variáveis: struct arrays
22
Variáveis: struct arrays
23
Variáveis: struct arrays
24
Variáveis: struct arrays
Outra forma de definir structs:
>> carro.ano=2015
>> carro.cor=‘vermelho’
>> Carro.km=5000
25
Variáveis: cell arrays
Contém dados com informação não estruturada.
Cada elemento pode ter qualquer tipo de dado,
inclusive outra variável tipo cell
26
Variáveis: cell arrays
27
Variáveis: cell arrays
28
Variáveis: cell arrays
29
Atividades
1. Escreva uma linha de código que gere o seguinte erro:
“Undefined function or variable 'x’”
2. Use o comando linspace para gerar 100 pontos começando
em 10 e variando 0.25 entre cada ponto.
3. Defina a matriz
4. Multiplique a última linha por 10.
30
Atividades (2)
5. Some todas as linhas da matriz montada.
Idem para colunas.
6. Use a função rand para gerar um vetor de
1000 elementos enre 0 e 1 com média 0.5.
Confira a média com o comando mean.
7. Defina a string s=‘123’ e atribua seu valor
para x usando a função str2num
31
Atividades(3)
8. Crie um array tipo struct que contenha os
seguintes dados: nome da cidade, Estado,
população, e alimente-a com dados
9. Crie um array tipo cell que contenha o nome
do país, sua população, os estados, e dentro
deles as cidades definidas como struct.
10.Escreva o comando que obtenha as cidades
de um determinado estado
32
Atividades (4)
11. Gere uma matriz A de dimensão (5,7) de
valores aleatórios entre 0 e 1.
12.Obtenha todos os valores de A que sejam
maiotes que 0.6. use o comando find.
13.Multiplique cada elemento da matriz A por
ele mesmo.
14.Como limpar todas variáveis do workspace?
Como limpar a tela?
33
II - Gráficos
z=peaks(25);
mesh(z);
colormap(hsv)
34
Gráficos
• Forma mais simples: ezplot
• ezplot('x^2 - 2*x + 1')
35
Modificando gráficos
• title
• xlabel, ylabel
• axis
• ylim, xlim
36
Gráficos
usando o comando plot:
x=-2:0.1:2;
plot(x,x.^2+x+1)
37
Resultado…
38
Gráficos
>> x=linspace(-
5,5,100);
>> plot(x,x.^2,'r--');
39
Plotando múltiplas curvas
hold on/ hold off
>> x=linspace(-5,5,100);
>> hold on;
>> plot(x,x.^2’,’ko’);
>> plot(x,x.^3,’r*’);
>> title(sprintf(‘Grafico de dois polinômios
variando de %d a %d’,x(1),x(end));
>> hold off
40
Resultado…
41
Mudando limites do gráfico
>> xlim([-2 2])
>> ylim([-6 6])
42
Usando legendas
>> x=linspace(-5,5,100);
>> plot(x,x.^2,x,x.^3);
>> legend('x^2','x^3')
43
Várias curvas num mesmo gráfico
t=linspace(0,5,100);
plot(t,[ exp(-t)' exp(-2*t)' exp(-4*t)' exp(-5*t)'])
legend('lambda_1','lambda_2','lambda_3','
lambda_4')
xlabel('Tempo','FontSize',15);
ylabel('Exponencial','FontSize',15);
set(1,'Color',[1,1,1]);
44
Atributos da figura anterior
>> get(1)
Alphamap = [ (1 by 64) double array]
CloseRequestFcn = closereq
Color = [1 1 1]
Colormap = [ (64 by 3) double array]
CurrentAxes = [173.01]
CurrentCharacter =
CurrentObject = []
CurrentPoint = [0 0]
DockControls = on
FileName =
IntegerHandle = on
InvertHardcopy = on
KeyPressFcn =
KeyReleaseFcn =
MenuBar = figure
45
Atributos da figura anterior (cont.)
MenuBar = figure
Name =
NextPlot = add
NumberTitle = on
PaperUnits = inches
PaperOrientation = portrait
PaperPosition = [0.25 2.5 8 6]
PaperPositionMode = manual
PaperSize = [8.5 11]
PaperType = usletter
Pointer = arrow
PointerShapeCData = [ (16 by 16) double array]
PointerShapeHotSpot = [1 1]
Position = [92 90 560 420]
46
Localizando Figuras da tela
Usar o comando set
>> set(1,’Position’, [198 409 560 420])
47
Alguns exemplos : 1
x=0:0.05:5;
y=sin(x.^2);
plot(x,y);
xlabel('Time')
ylabel('Amplitude')
48
Alguns exemplos : 2
x = -2.9:0.2:2.9;
bar(x,exp(-x.*x));
49
Alguns exemplos : 3
x=0:0.25:10;
stairs(x,sin(x))
50
Alguns exemplos : 4
x=-2:0.1:2;
y=erf(x);
e = rand(size(x))/10;
errorbar(x,y,e);
51
Alguns exemplos : 5
t=0:0.01:2*pi;
polar(t,abs(sin(2*t).*cos(2*t)));
52
Alguns exemplos : 6
x = 0:0.1:4;
y = sin(x.^2).*exp(-x);
stem(x,y)
53
Alguns exemplos : 7
load count.dat
scatter(count(:,1),count(:,2),'r*')
xlabel('Number of Cars on Street A');
ylabel('Number of Cars on Street B');
54
Alguns exemplos : 8
>> x = 0:0.1:10;
>> semilogx(10.^x,x)
>> grid
55
Comando subplot
• subplot(m,n,p)
56
Gráficos 3D
57
Comandos dados
>> t=0:pi/50:10*pi;
>> plot3(sin(t),cos(t),t);
>> grid on
>> axis square
>> xlabel('x')
>> ylabel('y');
>> zlabel('t')
>> title('Curva paramétrica')
58
Outros exemplos
59
Atividade 1: repetir figura 1
Figura 1
60
Atividade 2: Repetir Figura 2(usar
apenas linhas de comando)
Figura 2
61
Atividade 3: Adicionando texto aos
gráficos
62
Adicionando texto aos gráficos
63
Atividade 4
64
Atividade 5
Escreva um comando que dê o seguinte erro:
>> Error using plot
Vectors must be the same lengths.
65
Atividade 6
Escreva as linhas de comando para plotar um
vetor de dados aleatórios x=randn(50,1), e
marcar automaticamente sobre ele com um
asterisco vermelho o valor máximo e um
asterisco verde o valor mínimo.
66
Exemplo
67

Aula_1.pptx