MATLAB – Aplicações a Engenharia Construção de Interfaces Gráficas
description
Transcript of MATLAB – Aplicações a Engenharia Construção de Interfaces Gráficas
MATLAB – Aplicações a EngenhariaConstrução de Interfaces Gráficas
Carlos Alberto Alves Varella, Prof. UFRRJ-IT/DE. [email protected] em Engenharia Agrícola
UNIVERSIDADE FEDERAL RURAL DO RIO DE JANEIROIT – Departamento de Engenharia
MÁQUINAS E ENERGIA NA AGRICULTURAV Semana Acadêmica da Engenharia de Agrimensura e Cartográfica
Ambiente de computação para desenvolvimento de sistemas sofisticados
Interfaces 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.
Função input e display input: função para entrada de dados na
linha de comando Display: saída de dados no prompt
Exemplo 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
Implementaçã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
Implementaçã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
Implementação da função interface
plot (X,Y); %Gera grafico xlabel('Coordenadas X');
ylabel('Coordenadas Y'); title('Fazendinha Agroecologica KM 47')
end end
Resultado da função interface
Caixa de Diálogo para texto
Inputdlg : caixa de diálogo para entrada de dados via texto.
%dialog_1.mMsg = {'Largura:' 'Altura:'};Titulo = 'Dimensoes do Retangulo';NumLinhas = '[1 2]';ValPreDef = {'500' '100'};Dados = inputdlg (Msg, Titulo, NumLinhas,
ValPreDef);
Resultado de dialog_1.m
A Função Interface com inputdlg
No arquivo interface.m substituir: input por inputdlg (dados) por (dado{1})
Salvar como interface_dlg.m
Resultado 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)
Caixa 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_.mimageview ('C:\Users\varella\Desktop\V
SEMEAG\Matlab\image\lena.jpg');%imageview ('C:\Users\varella\Desktop\V
SEMEAG\Matlab\image\foto.bmp');imageview(a,map);
Resultado 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.
Caixa 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
Exemplo uigetfile_.m%uigetfile%Esta funcao retorna o nome e o caminho do
arquivo selecionadoTipo = {'*.mat'; '*.fig'; '*.jpg'; '*.bmp'};Titulo = 'Selecione um arquivo';[Nome, Caminho] = uigetfile (Tipo,Titulo);local=strcat(Caminho,Nome);%imageview(local)im=imread(local);imshow(im)
Resultado de uigetfile_.m
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
GUIDE interfaces gráficas (GUI) A função guide retorna um aplicativo para
geração de interfaces gráficas.
Configuração do aplicativo Clicar em File -> Preferences para abrir a
janela de preferências do aplicativo. Ativar Show names in component palette
Nova aparência da janela principal do aplicativo
Os objetos são visualizados no lado esquerdo da tela
Criar um botão de ação Arrastar o objeto pushbutton para dentro da
área da tela de construção do aplicativo GUIDE.
Configurar as propriedades do objeto
Clicar com o botão direito no objeto -> Selecionar Inspect Properties: String = Abrir Mapa e Callback = interface_dlg
Active Figure Clicar no ícone circulado para gerar o
aplicativo.
Interface Gerada
Menus – 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 -> Menu Editor
Janela principal do editor de menus
Definindo 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)
Barra de menu principal e submenus
Configuração da barra de menus
Visualização da Figura Ativada
Comandos save e pwdSAVE – SALVA ARQUIVO NO DIRETÓRIO DE TRABALHO
PWD – LISTA O DIRETÓRIO DE TRABALHO
Comando dlmwriteGRAVA MATRIZ DE DADOS EM ARQUIVO TEXTO EXEMPLO
nome=strcat(Caminho,Nome(1:7),'.txt');
dlmwrite(nome,cob, '\t')
Nome =
T3_R1_1.jpg
>> Nome(1:7)
T3_R1_1
Uigetfile – abrir e amostrar valores RGB de imagens
Tipo = {'*.jpg'; '*.bmp'; '*.gif'; '*.png'}; Titulo = 'Selecionar um arquivo'; [Nome, Caminho] = uigetfile (Tipo,Titulo); local=strcat (Caminho,Nome); im=imread (local); p = impixel (im); Os valores RGB dos pixels amostrados são
armazenados na matriz p
Push Button e Toggle Button
Push Button gera uma ação em resposta ao clique de mouse.
Adiçã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);
Switch/caseSwitch/case INPUTDLG : CAIXA DE DIÁLOGO PARA
ENTRADA DE DADOS VIA TEXTO.
%dialog_1.mMsg = {‘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
questdlgCRIA JANELA DE RESPOSTA 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
helpdlg
helpdlg('Choose 10 points from the figure','Point Selection');
DISPLAY WARNING DIALOG BOX h =
warndlg('warningstring','dlgname')
h= warndlg (‘Não existe ajuda’, ‘Janela de Ajuda)
return 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
Report – Gera relatórios(dados,figuras)
Duas formas de gerar relatórios: Matlab e simulink
Relatórios pode ser criados em diversos formatos
RTF;XML;SGML;HTML
Lista de arquivos setupNo 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.
Editor de Arquivos SetupManter todas configurações padrão do editor e clicar no
botão Report
Botão REPOR
T
Arquivo ch1-tutorial.html visualizado no navegador
Componentes 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’
Gerar executávelmex filename -f <optionsfile>
filename: nome do arquivo-f: para especificar arquivo de opções<optionsfile>: nome do arquivo de opções (*.bat)