• Nenhum resultado encontrado

Programação em MATLAB

N/A
N/A
Protected

Academic year: 2021

Share "Programação em MATLAB"

Copied!
14
0
0

Texto

(1)

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

Programação em MATLAB

• Funções de Entrada / Saída

• Construção de gráficos

José Borges

José Borges -- Miguel Miguel Pedro Pedro SilvaSilva Computação e Programação 2009 / Computação e Programação 2009 / 20102010

Entrada / Saída de dados

2222

(2)

José Borges

José Borges -- Miguel Miguel Pedro Pedro SilvaSilva Computação e Programação 2009 / Computação e Programação 2009 / 20102010

Função pré-definida input

3333

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é Borges

José Borges -- Miguel Miguel Pedro Pedro SilvaSilva Computação e Programação 2009 / Computação e Programação 2009 / 20102010

Função pré-definida disp

4444

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: ', NumeroAluno];

>> disp(X) Número:

>> X = ['Número: ', num2str(NumeroAluno)];

>> disp(X) Número: 55555

(3)

José Borges

José Borges -- Miguel Miguel Pedro Pedro SilvaSilva Computação e Programação 2009 / Computação e Programação 2009 / 20102010

Função pré-definida fprintf

5555

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

Sintaxe: fprintf(text)

fprintf(format, var)

% 0- 12 .5 u Inicio da

especificação

Flags Precisão

Caracter de controlo Tamanho

da cadeia Especificação da cadeia de formatação:

José Borges

José Borges -- Miguel Miguel Pedro Pedro SilvaSilva Computação e Programação 2009 / Computação e Programação 2009 / 20102010

Utilização de caracteres de formatação

6666

Descrição Caracteres Descrição

Flags

Sinal - Sinal + Espaço

Zero

Justificação à esquerda

Impressão do caracter de sinal ("+"ou "-") Insere espaço em branco

Enche espaço disponível com zeros

Caracteres de formatação

\n

\t

\b

%%

New line Horizontal tab Backspace

Símbolo de percentagem

Caracteres de controlo

%c

%d,%i

%u

%f

%s

Single character

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

(4)

José Borges

José Borges -- Miguel Miguel Pedro Pedro SilvaSilva Computação e Programação 2009 / Computação e Programação 2009 / 20102010

Função pré-definida fprintf

7777

>> fprintf('Hello \n') Hello

>> fprintf('Maio é o %dº mês do Ano.\n',5) Maio é o 5º mês do Ano.

>> r = 1;, fprintf('Área circulo = %f m2.\n', pi*r^2) Área circulo unitário 3.141593 m2.

>> B = [9.9 8.8 7.7; 9900 8800 7700];

>> fprintf('X é %6.2f metros ou %8.3f mm\n‘, B) X é 9.90 metros ou 9900.000 mm

X é 8.80 metros ou 8800.000 mm X é 7.70 metros ou 7700.000 mm

José Borges

José Borges -- Miguel Miguel Pedro Pedro SilvaSilva Computação e Programação 2009 / Computação e Programação 2009 / 20102010

Função pré-definida fprintf

8888

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

>> fid = fopen('exp.txt', 'wt');

>> fprintf(fid, '%6.2f %12.8f\n', y);

>> fclose(fid)

(5)

José Borges

José Borges -- Miguel Miguel Pedro Pedro SilvaSilva Computação e Programação 2009 / Computação e Programação 2009 / 20102010

Função pré-definida save

9999

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, 'v1‘)

José Borges

José Borges -- Miguel Miguel Pedro Pedro SilvaSilva Computação e Programação 2009 / Computação e Programação 2009 / 20102010

Função pré-definida load

10 1010 10

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, 'v1')

(6)

José Borges

José Borges -- Miguel Miguel Pedro Pedro SilvaSilva Computação e Programação 2009 / Computação e Programação 2009 / 20102010

Gráficos em MATLAB

11 1111 11

• 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é Borges

José Borges -- Miguel Miguel Pedro Pedro SilvaSilva Computação e Programação 2009 / Computação e Programação 2009 / 20102010

Tipos de gráficos 2D

12 1212 12

(7)

José Borges

José Borges -- Miguel Miguel Pedro Pedro SilvaSilva Computação e Programação 2009 / Computação e Programação 2009 / 20102010

Tipos de gráficos 3D

13 1313 13

José Borges

José Borges -- Miguel Miguel Pedro Pedro SilvaSilva Computação e Programação 2009 / Computação e Programação 2009 / 20102010

Ambiente gráfico: Figure Window

14 1414

Tipos de linha 14

Eixos

Toolbar Figure Window Dockingno Matlab

Plot Objects

(8)

José Borges

José Borges -- Miguel Miguel Pedro Pedro SilvaSilva Computação e Programação 2009 / Computação e Programação 2009 / 20102010

Funcionalidades da Toolbar

15 1515 15

José Borges

José Borges -- Miguel Miguel Pedro Pedro SilvaSilva Computação e Programação 2009 / Computação e Programação 2009 / 20102010

Função pré-definida plot

16 1616 16

Parameterização das características do gráfico:

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

Sintaxe: plot(Y) plot(X,Y) plot(X,Y,S)

'

Inicio da string

c

Cor

--

Tipo de linha

'

Fim da string

d

Marcadores

(9)

José Borges

José Borges -- Miguel Miguel Pedro Pedro SilvaSilva Computação e Programação 2009 / Computação e Programação 2009 / 20102010

Parameterização da função plot

17 1717 17

Cor Marcadores Tipo de linha

b c g k m r y

blue cyan green black magenta red yellow

o d h p + . s

* v

<

>

^ x

circle diamond hexagram pentagram plus point square star down left triangle right triangle up triangle x-mark

-- -.

: -

dashed dash dot dotted solid

José Borges

José Borges -- Miguel Miguel Pedro Pedro SilvaSilva Computação e Programação 2009 / Computação e Programação 2009 / 20102010

Representação de vectores x-y

18 1818 18

» x = 1:6;

» y = [1 5 3 9 11 8];

» plot(x,y)

(10)

José Borges

José Borges -- Miguel Miguel Pedro Pedro SilvaSilva Computação e Programação 2009 / Computação e Programação 2009 / 20102010

Construção de outros tipos de gráficos

19 1919 19

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é Borges

José Borges -- Miguel Miguel Pedro Pedro SilvaSilva Computação e Programação 2009 / Computação e Programação 2009 / 20102010

Funções adicionais

20 2020 20

Comando Descrição

clf apaga o gráfico na Figure Windowcorrente close fecha aFigure Windowcorrente

figure abre/acede à Figure Windowespecificada

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

(11)

José Borges

José Borges -- Miguel Miguel Pedro Pedro SilvaSilva Computação e Programação 2009 / Computação e Programação 2009 / 20102010

» x = 11;

» y = 48;

» plot(x,y,'r*')

»

» axis([9 12 35 55])

» xlabel('Time')

» ylabel('Temperature‘)

Propriedades dos gráficos

21 2121 21

José Borges

José Borges -- Miguel Miguel Pedro Pedro SilvaSilva Computação e Programação 2009 / Computação e Programação 2009 / 20102010

Representação de múltiplos gráficos

22 2222 22

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

(12)

José Borges

José Borges -- Miguel Miguel Pedro Pedro SilvaSilva Computação e Programação 2009 / Computação e Programação 2009 / 20102010

» 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

» figure(2)

» plot(x,y1,'k')

» hold on

» plot(x,y2,'ko')

» grid on

» legend('y1','y2‘)

Gráficos de barras, grelha e legenda

23 2323 23

Fígura 1

Fígura 2

José Borges

José Borges -- Miguel Miguel Pedro Pedro SilvaSilva Computação e Programação 2009 / Computação e Programação 2009 / 20102010

Gráficos a partir de dados em ficheiro

24 2424 24

» load timetemp.dat

» time = timetemp(1,:);

» temp = timetemp(2,:);

» plot(time,temp,'k+')

» xlabel('Time')

» ylabel('Temperature')

» title('Temperatures one afternoon')

»

(13)

José Borges

José Borges -- Miguel Miguel Pedro Pedro SilvaSilva Computação e Programação 2009 / Computação e Programação 2009 / 20102010

>> x = -pi:pi/10:pi;

>> y = tan(sin(x)) - sin(tan(x));

>> plot(x,y,'--rs','LineWidth',2,...

'MarkerEdgeColor','k',...

'MarkerFaceColor','g',...

'MarkerSize',10)

Formatação avançada de gráficos

25 2525 25

José Borges

José Borges -- Miguel Miguel Pedro Pedro SilvaSilva Computação e Programação 2009 / Computação e Programação 2009 / 20102010

Trabalhar com o Plot Edit Mode

26 2626 26

Adicionar legenda, texto e setas Botão para modo de edição

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

(14)

José Borges

José Borges -- Miguel Miguel Pedro Pedro SilvaSilva Computação e Programação 2009 / Computação e Programação 2009 / 20102010

Trabalhar com o Ploting Tools

27 2727 27

Figure Pallete Axes subplots Lineseries Figure Plot browser

Property Inspector Property Editor Adicionar dados

Activar as Ploting Tools

José Borges

José Borges -- Miguel Miguel Pedro Pedro SilvaSilva Computação e Programação 2009 / Computação e Programação 2009 / 20102010

Referências

28 2828 28

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

• Manuais do MATLAB

Graphics

Referências

Documentos relacionados

As árvores presentes em solos de drenagem ruim, produzem maior frequência total de vasos, com médias de 14,57 vasos.mm - ², enquanto para drenagem boa a média foi de

a) Preparação da base cartográfica: Pelo fato da base cartográfica ser vetorizada a partir de cartas georreferenciadas, foram encontrados e corrigidos alguns erros de topologia,

O Museu de Arqueologia e Etnologia da Universidade de São Paulo (MAE-USP) aceitou acolher a Coleção de Artes Indígenas Banco Santos (acervo etnográfico e

remanejamento da equipe de trabalho; Aplicar protocolos assistenciais e administrativos pertinentes à área de atuação da enfermagem; Promover a gestão dos leitos sob

Para utilizar mantas sintéticas não tecidas nos estudos de tratabilidade de águas quimicamente coaguladas, sugere-se a seguinte seqüência de ensaios: a) construção do diagrama de

21.6. Se a inexatidão ou omissão nas declarações não resultar de má-fé do segurado, o segurador poderá, na hipótese de ocorrência de Sinistro com Indenização integral, cancelar

• Classe Especial: braço dos Rio Bororé, Taquecetuba, Pedra Branca e Capivari e todos os seus afluentes à montante do primeiro cruzamento com a linha de alta tensão da Light;

E vem aumentando gradativamente a combinação dos fatores de risco, a maior parte das indicações para essa avaliação da pele e as medidas preventivas pode ser de modo