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. [email protected] Doutor em Engenharia Agrícola 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. input: função para entrada de dados na linha de comando Display: saída de dados no prompt 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 %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 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 plot (X,Y); %Gera grafico xlabel('Coordenadas X'); ylabel('Coordenadas Y'); title('Fazendinha Agroecologica KM 47') end end : 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); No arquivo interface.m substituir: por por Salvar como interface_dlg.m Caixa de diálogo retorna uma = cadeia de caracteres Para retornar valores numéricos é necessário usar a função 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); A função também aceita imagens em formato matricial. A opção (Zoom Out) retorna a visualização completa da imagem. : 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 %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) Gera interfaces gráficas para interação com usuário A função é ativada digitando-se no prompt da janela do Command Window A função retorna um aplicativo para geração de interfaces gráficas. Clicar em File -> Preferences para abrir a janela de preferências do aplicativo. Ativar Os objetos são visualizados no lado esquerdo da tela Arrastar o objeto pushbutton para dentro da área da tela de construção do aplicativo GUIDE. Clicar com o botão direito no objeto -> Selecionar Inspect Properties: = Abrir Mapa e interface_dlg = Clicar no ícone circulado para gerar o aplicativo. 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 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) SAVE – SALVA ARQUIVO NO DIRETÓRIO DE TRABALHO PWD – LISTA O DIRETÓRIO DE TRABALHO 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 Tipo = {'*.jpg'; '*.bmp'; '*.gif'; '*.png'}; Titulo = 'Selecionar um arquivo'; [Nome, Caminho] = uigetfile (Tipo,Titulo); local=strcat (Caminho,Nome); im=imread (local); p = impixel (im); Push Button gera uma ação em resposta ao clique de mouse. Adiciona as propriedades de uma imagem RGB Truecolor (Cdata) a uma Figura (h) im = imread (local) set (h, ‘Cdata’, im); : CAIXA DE DIÁLOGO PARA ENTRADA DE DADOS VIA TEXTO. switch resposta case Sim disp('x is 1'); end %dialog_1.m Msg = {‘Sim' ‘Nao'}; Titulo = ‘Quer Selecionar Outra Imagem'; NumLinhas = '[1 2]'; ValPreDef = {'500' '100'}; resposta = inputdlg (Msg, Titulo, NumLinhas, ValPreDef); CRIA 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('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) 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 Duas formas de gerar relatórios: Matlab e simulink No prompt do matlab digitar ‘rptlist’ para abrir a lista de arquivos setup Selecionar ch1-tutorial.rpt na lista de arquivos setup. Clicar em para abrir o . Botão REPORT 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’ filename: nome do arquivo -f: para especificar arquivo de opções <optionsfile>: nome do arquivo de opções (*.bat)