480 likes | 607 Views
MATLAB – Aplicações a Engenharia Construção de Interfaces Gráficas. Carlos Alberto Alves Varella, Prof. UFRRJ-IT/DE. varella.caa@gmail.com Doutor em Engenharia Agrícola . UNIVERSIDADE FEDERAL RURAL DO RIO DE JANEIRO IT – Departamento de Engenharia MÁQUINAS E ENERGIA NA AGRICULTURA
E N D
MATLAB – Aplicações a EngenhariaConstrução de Interfaces Gráficas Carlos Alberto Alves Varella, Prof. UFRRJ-IT/DE. varella.caa@gmail.com Doutor em Engenharia Agrícola 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
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
Caixa 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);
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_.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);
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 selecionado Tipo = {'*.mat'; '*.fig'; '*.jpg'; '*.bmp'}; Titulo = 'Selecione um arquivo'; [Nome, Caminho] = uigetfile (Tipo,Titulo); local=strcat(Caminho,Nome); %imageview(local) im=imread(local); imshow(im)
GUIDE – GraphicUser 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 CommandWindow
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 componentpalette
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 InspectProperties: String = Abrir Mapa e Callback = interface_dlg
Active Figure • Clicar no ícone circulado para gerar o aplicativo.
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
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)
Comandos save e pwd Save – salva arquivo no diretório de trabalho pwd – lista o diretório de trabalho
Comando dlmwrite Grava 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/case Switch/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
questdlg Cria janela de resposta Questão) quer selecionar outra imagem? • button = questdlg('Do youwantto continue?',... • 'Continue Operation','Yes','No','Help','No'); • ifstrcmp(button,'Yes') • disp('Creating file') • elseifstrcmp(button,'No') • disp('Canceled file operation') • elseifstrcmp(button,'Help') • disp('Sorry, no help available') • end
helpdlg • helpdlg('Choose 10 points from the figure','Point Selection');
Display warningdialog 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 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.
Editor de Arquivos SetupManter todas configurações padrão do editor e clicar no botão Report Botão REPORT
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ávelmexfilename -f <optionsfile> filename: nome do arquivo -f: para especificar arquivo de opções <optionsfile>: nome do arquivo de opções (*.bat)