Você está na página 1de 14
Programação em MATLAB • Funções de Entrada / Saída • Construção de gráficos Instituto Superior

Programação em MATLAB

Programação em MATLAB • Funções de Entrada / Saída • Construção de gráficos Instituto Superior Técnico,

Funções de Entrada / Saída

Construção de gráficos

Instituto Superior Técnico, Dep. de Engenharia Mecânica - ACCAII

Entrada / Saída de dados JoséJosé BorgesBorges -- MiguelMiguel PedroPedro SilvaSilva ComputaçãoComputação ee

Entrada / Saída de dados

Entrada / Saída de dados JoséJosé BorgesBorges -- MiguelMiguel PedroPedro SilvaSilva ComputaçãoComputação ee

JoséJosé BorgesBorges -- MiguelMiguel PedroPedro SilvaSilva

ComputaçãoComputação ee ProgramaçãoProgramação 20092009 // 20102010

-- MiguelMiguel PedroPedro SilvaSilva ComputaçãoComputação ee ProgramaçãoProgramação 20092009 // 20102010 2222
-- MiguelMiguel PedroPedro SilvaSilva ComputaçãoComputação ee ProgramaçãoProgramação 20092009 // 20102010 2222

2222

Função pré-definida input Descrição: apresenta uma mensagem e solicita uma entrada do utilizador pela linha
Função pré-definida input
Descrição: apresenta uma mensagem e solicita uma
entrada do utilizador pela linha de comandos

Sintaxe: user_entry = input('prompt') user_entry = input('prompt', 's‘)

>> Numero_Aluno = input('Número de aluno: ') Número de aluno: 55555 >> Nome_Aluno = input('Nome: ','s') Nome: João Manuel >> Nota_Aluno = input(‘Nota: ','s') Nota: 10.5

JoséJosé BorgesBorges -- MiguelMiguel PedroPedro SilvaSilva

ComputaçãoComputação ee ProgramaçãoProgramação 20092009 // 20102010

3333

Função pré-definida disp Descrição: apresenta o conteúdo de um vector no ecrã Sintaxe: disp(X) >>
Função pré-definida disp Descrição: apresenta o conteúdo de um vector no ecrã Sintaxe: disp(X) >>

Função pré-definida disp

Descrição: apresenta o conteúdo de um vector no ecrã

Sintaxe:

disp(X)

>> X = ['Nome: ', NomeAluno]; >> disp(X) Nome: João Manuel >> X = ['Número:
>> X = ['Nome: ', NomeAluno];
>> disp(X)
Nome: João Manuel
>> X = ['Número: ', NumeroAluno];
>> disp(X)
Número:
>> X = ['Número: ', num2str(NumeroAluno)];
>> disp(X)
Número: 55555

JoséJosé BorgesBorges -- MiguelMiguel PedroPedro SilvaSilva

ComputaçãoComputação ee ProgramaçãoProgramação 20092009 // 20102010

4444

Função pré-definida fprintf Descrição: apresenta o conteúdo formatado de uma cadeia de caracteres no ecrã
Função pré-definida fprintf Descrição: apresenta o conteúdo formatado de uma cadeia de caracteres no ecrã

Função pré-definida fprintf

Descrição: apresenta o conteúdo formatado de uma cadeia de caracteres no ecrã

Sintaxe: fprintf(text) fprintf(format, var)

Especificação da cadeia de formatação: % 0- 12 .5 u Inicio da Caracter de especificação
Especificação da cadeia de formatação:
%
0-
12
.5
u
Inicio da
Caracter de
especificação
controlo
Flags
Tamanho
Precisão
da cadeia
JoséJosé BorgesBorges -- MiguelMiguel PedroPedro SilvaSilva
ComputaçãoComputação ee ProgramaçãoProgramação 20092009 // 20102010
5555
Utilização de caracteres de formatação Descrição Caracteres Descrição   Sinal - Justificação

Utilização de caracteres de formatação

Descrição

Caracteres

Descrição

 

Sinal -

Justificação à esquerda Impressão do caracter de sinal ("+" ou "-")

Flags

Sinal +

Espaço

Insere espaço em branco

Zero

Enche espaço disponível com zeros

 

\n

New line

Caracteres

de

\t

Horizontal tab

formatação

\b

Backspace

%%

Símbolo de percentagem

 

%c

Single character Decimal notation (signed) Decimal notation (unsigned) Fixed-point notation String of characters

Caracteres

%d,%i

de

%u

controlo

%f

%s

JoséJosé BorgesBorges -- MiguelMiguel PedroPedro SilvaSilva

ComputaçãoComputação ee ProgramaçãoProgramação 20092009 // 20102010

6666

Função pré-definida fprintf JoséJosé BorgesBorges -- MiguelMiguel PedroPedro SilvaSilva ComputaçãoComputação ee
Função pré-definida fprintf
JoséJosé BorgesBorges -- MiguelMiguel PedroPedro SilvaSilva
ComputaçãoComputação ee ProgramaçãoProgramação 20092009 // 20102010
7777
Função pré-definida fprintf Descrição: grava num ficheiro o conteúdo formatado de uma cadeia de caracteres
Função pré-definida fprintf Descrição: grava num ficheiro o conteúdo formatado de uma cadeia de caracteres

Função pré-definida fprintf

Descrição: grava num ficheiro o conteúdo formatado de uma cadeia de caracteres

Sintaxe: fprintf(fid,text) fprintf(fid,format, var) fid = fopen(nome, permissões) fclose(fid)

>> x = 0:.1:1; >> y = [x; exp(x)]; JoséJosé BorgesBorges -- MiguelMiguel PedroPedro SilvaSilva
>> x = 0:.1:1;
>> y = [x; exp(x)];
JoséJosé BorgesBorges -- MiguelMiguel PedroPedro SilvaSilva
ComputaçãoComputação ee ProgramaçãoProgramação 20092009 // 20102010
8888
Função pré-definida save Descrição: grava num ficheiro um conjunto de variáveis sem formatação Sintaxe: save
Função pré-definida save Descrição: grava num ficheiro um conjunto de variáveis sem formatação Sintaxe: save

Função pré-definida save

Descrição: grava num ficheiro um conjunto de variáveis sem formatação

Sintaxe:

save save NomeFicheiro Variáveis save(NomeFicheiro, 'Variáveis')

>> save NomeFicheiro a* >> save ficheiro.mat v1 >> save 'meu ficheiro.mat' v1
>> save NomeFicheiro a*
>> save ficheiro.mat v1
>> save 'meu ficheiro.mat' v1
>> save(NomeFicheiro, 'v1‘)
JoséJosé BorgesBorges -- MiguelMiguel PedroPedro SilvaSilva
ComputaçãoComputação ee ProgramaçãoProgramação 20092009 // 20102010
9999
Função pré-definida load Descrição: carrega de um ficheiro para o workspace um conjunto de variáveis
Função pré-definida load Descrição: carrega de um ficheiro para o workspace um conjunto de variáveis
Função pré-definida load Descrição: carrega de um ficheiro para o workspace um conjunto de variáveis

Função pré-definida load

Função pré-definida load Descrição: carrega de um ficheiro para o workspace um conjunto de variáveis sem

Descrição: carrega de um ficheiro para o workspace um conjunto de variáveis sem formatação

Sintaxe:

save save NomeFicheiro Variáveis save(NomeFicheiro, 'Variáveis')

>> load NomeFicheiro a* >> load ficheiro.mat >> load 'meu ficheiro.mat' >> d =
>> load NomeFicheiro a*
>> load ficheiro.mat
>> load 'meu ficheiro.mat'
>> d = load(NomeFicheiro, 'v1')
JoséJosé BorgesBorges -- MiguelMiguel PedroPedro SilvaSilva
ComputaçãoComputação ee ProgramaçãoProgramação 20092009 // 20102010
10101010
Gráficos em MATLAB • Construção fácil de gráficos a partir de dados armazenados em matrizes

Gráficos em MATLAB

Gráficos em MATLAB • Construção fácil de gráficos a partir de dados armazenados em matrizes e
Gráficos em MATLAB • Construção fácil de gráficos a partir de dados armazenados em matrizes e

Construção fácil de gráficos a partir de dados armazenados em matrizes e vectores

Altamente customizável

Grande diversidade de tipos de gráficos

Possível em 2D e 3D

Possibilidade de exportação para outros formatos (PNG, BMP, JPG)

JoséJosé BorgesBorges -- MiguelMiguel PedroPedro SilvaSilva

ComputaçãoComputação ee ProgramaçãoProgramação 20092009 // 20102010

11111111

Tipos de gráficos 2D

Tipos de gráficos 2D JoséJosé BorgesBorges -- MiguelMiguel PedroPedro SilvaSilva ComputaçãoComputação ee
Tipos de gráficos 2D JoséJosé BorgesBorges -- MiguelMiguel PedroPedro SilvaSilva ComputaçãoComputação ee
Tipos de gráficos 2D JoséJosé BorgesBorges -- MiguelMiguel PedroPedro SilvaSilva ComputaçãoComputação ee
Tipos de gráficos 2D JoséJosé BorgesBorges -- MiguelMiguel PedroPedro SilvaSilva ComputaçãoComputação ee
Tipos de gráficos 2D JoséJosé BorgesBorges -- MiguelMiguel PedroPedro SilvaSilva ComputaçãoComputação ee
Tipos de gráficos 2D JoséJosé BorgesBorges -- MiguelMiguel PedroPedro SilvaSilva ComputaçãoComputação ee
Tipos de gráficos 2D JoséJosé BorgesBorges -- MiguelMiguel PedroPedro SilvaSilva ComputaçãoComputação ee

JoséJosé BorgesBorges -- MiguelMiguel PedroPedro SilvaSilva

ComputaçãoComputação ee ProgramaçãoProgramação 20092009 // 20102010

12121212

Tipos de gráficos 3D JoséJosé BorgesBorges -- MiguelMiguel PedroPedro SilvaSilva ComputaçãoComputação ee
Tipos de gráficos 3D
JoséJosé BorgesBorges -- MiguelMiguel PedroPedro SilvaSilva
ComputaçãoComputação ee ProgramaçãoProgramação 20092009 // 20102010
13131313
Ambiente gráfico: Figure
Window
Toolbar
Figure Window
Docking no Matlab
Plot Objects
Eixos
Tipos de linha
JoséJosé BorgesBorges -- MiguelMiguel PedroPedro SilvaSilva
ComputaçãoComputação ee ProgramaçãoProgramação 20092009 // 20102010
14141414
Funcionalidades da Toolbar JoséJosé BorgesBorges -- MiguelMiguel PedroPedro SilvaSilva ComputaçãoComputação ee

Funcionalidades da Toolbar

Funcionalidades da Toolbar JoséJosé BorgesBorges -- MiguelMiguel PedroPedro SilvaSilva ComputaçãoComputação ee

JoséJosé BorgesBorges -- MiguelMiguel PedroPedro SilvaSilva

ComputaçãoComputação ee ProgramaçãoProgramação 20092009 // 20102010

15151515

Função pré-definida plot Descrição: construção de gráficos 2D na Figure Window actual Sintaxe: plot(Y)

Função pré-definida plot

Descrição: construção de gráficos 2D na Figure Window actual

Sintaxe: plot(Y) plot(X,Y) plot(X,Y,S) Parameterização das características do gráfico: ' c d -- '
Sintaxe:
plot(Y)
plot(X,Y)
plot(X,Y,S)
Parameterização das características do gráfico:
'
c d
-- '
Inicio da string
Fim da string
Cor
Marcadores
Tipo de linha
JoséJosé BorgesBorges -- MiguelMiguel PedroPedro SilvaSilva
ComputaçãoComputação ee ProgramaçãoProgramação 20092009 // 20102010
16161616
  Parameterização da função plot  
 

Parameterização da função plot

 
 
 

Cor

Marcadores

Tipo de linha

b

blue

o

circle

--

dashed

c

cyan

d

diamond

-.

dash dot

g

green

h

hexagram

:

dotted

k

black

p

pentagram

-

solid

m

magenta

+

plus

r

red

.

point

y

yellow

s

square

*

star

v

down

<

left triangle

>

right triangle

^

up triangle

x

x-mark

JoséJosé BorgesBorges -- MiguelMiguel PedroPedro SilvaSilva

ComputaçãoComputação ee ProgramaçãoProgramação 20092009 // 20102010

 

17171717

Representação de vectores x-y  

Representação de vectores x-y

 
» x = 1:6; » y = [1 5 3 9 11 8]; » plot(x,y)
» x = 1:6;
» y
= [1 5 3 9 11 8];
» plot(x,y)
» x = 1:6; » y = [1 5 3 9 11 8]; » plot(x,y)

JoséJosé BorgesBorges -- MiguelMiguel PedroPedro SilvaSilva

ComputaçãoComputação ee ProgramaçãoProgramação 20092009 // 20102010

 

18181818

Construção de outros tipos de gráficos

Construção de outros tipos de gráficos

 

Comando

Descrição

plot3

construção de gráficos 3D

bar

construção de gráficos 2D de barras verticais

barh

construção de gráficos 2D de barras horizontais

stem

construção de gráficos 2D do tipo discreto

stairs

construção de gráficos 2D do tipo escada

JoséJosé BorgesBorges -- MiguelMiguel PedroPedro SilvaSilva

ComputaçãoComputação ee ProgramaçãoProgramação 20092009 // 20102010

19191919

Funções adicionais  

Funções adicionais

 
 

Comando

Descrição

clf

apaga o gráfico na Figure Window corrente

close

fecha a Figure Window corrente

figure

abre/acede à Figure Window especificada

hold

congela o grafico representado na Figure Window

legend

coloca a legenda na Figure Window

title

coloca o titulo na Figure Window

xlabel

coloca um rótulo no eixo das abcissas

ylabel

coloca um rótulo no eixo das ordenadas

grid

coloca uma grelha no background do gráfico

axis

formata a gama de valores nos eixos do gráfico

JoséJosé BorgesBorges -- MiguelMiguel PedroPedro SilvaSilva

ComputaçãoComputação ee ProgramaçãoProgramação 20092009 // 20102010

20202020

Propriedades dos gráficos » x = 11; » y = 48; plot(x,y,'r*') » axis([9 12

Propriedades dos gráficos

» x = 11; » y = 48; plot(x,y,'r*') » axis([9 12 35 55]) xlabel('Time')
»
x = 11;
»
y = 48;
plot(x,y,'r*')
»
axis([9 12 35 55])
xlabel('Time')
ylabel('Temperature‘)

JoséJosé BorgesBorges -- MiguelMiguel PedroPedro SilvaSilva

ComputaçãoComputação ee ProgramaçãoProgramação 20092009 // 20102010

21212121

Representação de múltiplos gráficos » clf » x = 0: 2*pi/40: 2*pi; » y =

Representação de múltiplos gráficos

» clf » x = 0: 2*pi/40: 2*pi; » y = sin(x); plot(x,y,'ro') » hold
» clf
» x = 0: 2*pi/40: 2*pi;
» y = sin(x);
plot(x,y,'ro')
» hold on
» y = cos(x);
plot(x,y,'b+')
legend('sin', 'cos')
title('sin and cos on one graph‘)

JoséJosé BorgesBorges -- MiguelMiguel PedroPedro SilvaSilva

ComputaçãoComputação ee ProgramaçãoProgramação 20092009 // 20102010

22222222

Gráficos de barras, grelha e legenda » clf » x = 1:5; y1 = [2

Gráficos de barras, grelha e legenda

» clf » x = 1:5; y1 = [2 11 6 9 3]; » y2
» clf
» x = 1:5; y1 = [2 11 6 9 3];
» y2 = [4 5 8 6 2];
» figure(1)
» bar(x,y1) % Gráfico de Barras
JoséJosé BorgesBorges -- MiguelMiguel PedroPedro SilvaSilva
ComputaçãoComputação ee ProgramaçãoProgramação 20092009 // 20102010
Fígura 1
Fígura 1
Fígura 2
Fígura 2

23232323

Gráficos a partir de dados em ficheiro load timetemp.dat » time = timetemp(1,:); » temp

Gráficos a partir de dados em ficheiro

load timetemp.dat » time = timetemp(1,:); » temp = timetemp(2,:); plot(time,temp,'k+')
load timetemp.dat
»
time = timetemp(1,:);
»
temp = timetemp(2,:);
plot(time,temp,'k+')
xlabel('Time')
ylabel('Temperature')
title('Temperatures one afternoon')
»

JoséJosé BorgesBorges -- MiguelMiguel PedroPedro SilvaSilva

ComputaçãoComputação ee ProgramaçãoProgramação 20092009 // 20102010

24242424

Formatação avançada de gráficos >> x = -pi:pi/10:pi; >> y = tan(sin(x)) - sin(tan(x)); >>

Formatação avançada de gráficos

>> x = -pi:pi/10:pi; >> y = tan(sin(x)) - sin(tan(x)); >>
>> x = -pi:pi/10:pi;
>> y = tan(sin(x)) - sin(tan(x));
>> plot(x,y,'--rs','LineWidth',2,
'MarkerEdgeColor','k',
'MarkerFaceColor','g',
'MarkerSize',10)

JoséJosé BorgesBorges -- MiguelMiguel PedroPedro SilvaSilva

ComputaçãoComputação ee ProgramaçãoProgramação 20092009 // 20102010

25252525

Trabalhar com o Plot Edit Mode Botão para modo de edição Adicionar legenda, texto e

Trabalhar com o Plot

Edit

Mode

Botão para modo de edição

Adicionar legenda, texto e setas

para modo de edição Adicionar legenda, texto e setas Double-click para seleccionar objecto Posicionar rótulos e

Double-click para

seleccionar objecto

Posicionar rótulos e outros objectos por click e arrasto

Click no botão direito do rato para aceder às propriedades do objecto

JoséJosé BorgesBorges -- MiguelMiguel PedroPedro SilvaSilva

ComputaçãoComputação ee ProgramaçãoProgramação 20092009 // 20102010

26262626

Trabalhar com o Ploting Tools

Trabalhar com o Ploting

Tools

Figure Pallete

Axes subplots

Lineseries Figure

Plot browser

Figure Pallete Axes subplots Lineseries Figure Plot browser
 
Property Editor Adicionar dados Activar as Ploting Tools Property Inspector

Property Editor

Adicionar dados

Activar as

Ploting Tools

Property Inspector

JoséJosé BorgesBorges -- MiguelMiguel PedroPedro SilvaSilva

ComputaçãoComputação ee ProgramaçãoProgramação 20092009 // 20102010

27272727

Referências

Referências

Capítulo 2 de Stormy Attaway (2009), “Matlab: A Practical Introduction to Programming and Problem Solving”, Elsevier.

Manuais do MATLAB

Graphics

JoséJosé BorgesBorges -- MiguelMiguel PedroPedro SilvaSilva

ComputaçãoComputação ee ProgramaçãoProgramação 20092009 // 20102010

28282828