Title: MATLAB
1MATLAB Aplicações a EngenhariaConstrução de
Interfaces Gráficas
UNIVERSIDADE FEDERAL RURAL DO RIO DE JANEIRO IT
Departamento de Engenharia MÁQUINAS E ENERGIA NA
AGRICULTURA V Semana Acadêmica da Engenharia de
Agrimensura e Cartográfica
Ambiente de computação para desenvolvimento de
sistemas sofisticados
- Carlos Alberto Alves Varella, Prof. UFRRJ-IT/DE.
varella.caa_at_gmail.com - Doutor em Engenharia Agrícola
2Interfaces Gráficas
- Recursos disponíveis em para interação entre
usuário e rotinas computacionais. - O usuário pode interagir através da digitação de
funções diretamente no pronpt ou - Clicando em objetos que orientam o usuário em
realizações de tarefas complexas.
3Função input e display
- input função para entrada de dados na linha de
comando - Display saída de dados no prompt
4Exemplo de Interface
- Entrada de arquivo - input
- Verificar se arquivo foi fornecido
- Se não exibe mensagem de erro
- Se sim exibe arquivo display
- Verifica se arquivo existe
- Se não exibe mensagem de erro e encerra função
- Se sim gera o gráfico
5Implementação da função interface
- Exemplo de interface com uso de input/display
- function interface ()
- dado input ('Nome do arquivo (digite entre '' e
com extensao)') - if isempty (dado) verifica se algum arquivo foi
digitado - display ('Nome de arquivo nao foi digitado.')
- else
6Implementação da função interface
- display (dado)
- nome which (dado)
- if isempty(nome) verifica se o arquivo existe
- display('Arquivo inexistente.')
- else
- arq load (nome) carrega arquivo com variaveis
X,Y - X arq (,1) Y arq (,2) define coordenadas
X,Y
7Implementação da função interface
- plot (X,Y) Gera grafico
- xlabel('Coordenadas X') ylabel('Coordenadas Y')
title('Fazendinha Agroecologica KM 47') - end
- end
8Resultado da função interface
9Caixa de Diálogo para texto
- Inputdlg caixa de diálogo para entrada de dados
via texto. - dialog_1.m
- Msg 'Largura' 'Altura'
- Titulo 'Dimensoes do Retangulo'
- NumLinhas '1 2'
- ValPreDef '500' '100'
- Dados inputdlg (Msg, Titulo, NumLinhas,
ValPreDef)
10Resultado de dialog_1.m
11A Função Interface com inputdlg
- No arquivo interface.m substituir
- input por inputdlg
- (dados) por (dado1)
- Salvar como interface_dlg.m
12Resultado de interface_dlg.m
- Caixa de diálogo retorna uma matriz de
cell-array cadeia de caracteres - Para retornar valores numéricos é necessário
usar a função str2num (string to number)
13Caixa de diálogo de visualização de imagem
- Imageview exibe a imagem armazenada em arquivo e
permite mudar a janela de visualização (zoom
window). - imageview_.m
- imageview ('C\Users\varella\Desktop\V
SEMEAG\Matlab\image\lena.jpg') - imageview ('C\Users\varella\Desktop\V
SEMEAG\Matlab\image\foto.bmp') - imageview(a,map)
14Resultado de imageview_.m
- A função também aceita imagens em formato
matricial. - A opção (Zoom Out) retorna a visualização
completa da imagem.
15Caixa de diálogo para abertura de arquivo
- uigetfile recebe os tipos de arquivos a serem
abertos em um cell-array coluna (neste exemplo,
aceita .mat e .fig) - A função retorna o nome e caminho do arquivo
selecionado - Se nenhum arquivo for selecionado a função
retorna 0
16Exemplo uigetfile_.m
- uigetfile
- Esta funcao retorna o nome e o caminho do
arquivo selecionado - Tipo '.mat' '.fig' '.jpg' '.bmp'
- Titulo 'Selecione um arquivo'
- Nome, Caminho uigetfile (Tipo,Titulo)
- localstrcat(Caminho,Nome)
- imageview(local)
- imimread(local)
- imshow(im)
17Resultado de uigetfile_.m
18 GUIDE Graphic User Interface Design Environment
- Gera interfaces gráficas para interação com
usuário - A função é ativada digitando-se guide no prompt
da janela do Command Window
19GUIDE interfaces gráficas (GUI)
- A função guide retorna um aplicativo para geração
de interfaces gráficas.
20Configuração do aplicativo
- Clicar em File -gt Preferences para abrir a
janela de preferências do aplicativo. Ativar Show
names in component palette
21Nova aparência da janela principal do aplicativo
- Os objetos são visualizados no lado esquerdo da
tela
22Criar um botão de ação
- Arrastar o objeto pushbutton para dentro da área
da tela de construção do aplicativo GUIDE.
23Configurar as propriedades do objeto
- Clicar com o botão direito no objeto -gt
Selecionar Inspect Properties String Abrir
Mapa e Callback interface_dlg
24Active Figure
- Clicar no ícone circulado para gerar o
aplicativo.
25Interface Gerada
26Menus Editor de menus
- O editor de menus permite criar dois tipos de
menus. - Menubar objetos que serão visualizados na
barra de menu de figuras. - Context menus objetos que serão visualizados
quando o usuário clicar com o botão direito sobre
figuras. - Para ativar o aplicativo clicar em Layout Editor
-gt Menu Editor
27Janela principal do editor de menus
28Definindo os objetos da barra de menu principal
- Os objetos definidos no editor de menus são
automaticamente adicionados a barra de menu
principal da figura ativa. - Aos objetos deste menu podem ser adicionados
outros objetos denominados de submenus (itens do
menu principal)
29Barra de menu principal e submenus
30Configuração da barra de menus
31Visualização da Figura Ativada
32Comandos save e pwd
- Save salva arquivo no diretório de trabalho
- pwd lista o diretório de trabalho
33Comando dlmwrite
- Grava matriz de dados em arquivo texto
- nomestrcat(Caminho,Nome(17),'.txt')
- dlmwrite(nome,cob, '\t')
- Nome
- T3_R1_1.jpg
- gtgt Nome(17)
- T3_R1_1
34Uigetfile abrir e amostrar valores RGB de
imagens
- Tipo '.jpg' '.bmp' '.gif' '.png'
- Titulo 'Selecionar um arquivo'
- Nome, Caminho uigetfile (Tipo,Titulo)
- localstrcat (Caminho,Nome)
- imimread (local)
- p impixel (im)
- Os valores RGB dos pixels amostrados são
armazenados na matriz p
35Push Button e Toggle Button
- Push Button gera uma ação em resposta ao clique
de mouse.
36Adição de Imagens em Botões (Push Button e Toggle
Button)
- Adiciona as propriedades de uma imagem RGB
Truecolor (Cdata) a uma Figura (h) - im imread (local)
- set (h, Cdata, im)
37Switch/case
- Inputdlg caixa de diálogo para entrada de dados
via texto.
- dialog_1.m
- Msg Sim' Nao'
- Titulo Quer Selecionar Outra Imagem'
- NumLinhas '1 2'
- ValPreDef '500' '100'
- resposta inputdlg (Msg, Titulo, NumLinhas,
ValPreDef)
- switch resposta
- case Sim
- disp('x is 1')
- end
38questdlg
- Questão) quer selecionar outra imagem?
- button questdlg('Do you want to continue?',...
- 'Continue Operation','Yes','No','Help','No')
- if strcmp(button,'Yes')
- disp('Creating file')
- elseif strcmp(button,'No')
- disp('Canceled file operation')
- elseif strcmp(button,'Help')
- disp('Sorry, no help available')
- end
39helpdlg
- helpdlg('Choose 10 points from the figure','Point
Selection')
40- Display warning dialog box
- h warndlg('warningstring','dlgname')
- h warndlg (Não existe ajuda, Janela de Ajuda)
41return
- retorna para início da função.
- function d det(A)
- DET det (A) is the determinant of A.
- if isempty(A)
- d 1
- return
- else
- ...
- end
42Report Gera relatórios(dados,figuras)
- Duas formas de gerar relatórios Matlab e simulink
43Relatórios pode ser criados em diversos formatos
44Lista de arquivos setup
- No prompt do matlab digitar rptlist para abrir
a lista de arquivos setup
- Selecionar ch1-tutorial.rpt na lista de arquivos
setup. Clicar em Editar para abrir o Editor de
Arquivos Setup.
45Editor de Arquivos SetupManter todas
configurações padrão do editor e clicar no botão
Report
Botão REPORT
46Arquivo ch1-tutorial.html visualizado no navegador
47Componentes do arquivo setup do Relatório
- Componentes do arquivo setup armazenam
informações que serão enviadas ao arquivo de
relatório.
- lista rptlist , lista arquivos setup e armazena
lista na variável lista
48Gerar executávelmex filename -f ltoptionsfilegt
- filename nome do arquivo
- -f para especificar arquivo de opções
- ltoptionsfilegt nome do arquivo de opções (.bat)