Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
INTRODUO Tutorial referente ferramenta GUI (Graphics User Interface - Interface Grca do
Usurio) do Matlab. Tal ferramenta permite a construo de ambientes interativos ao usurio, facilitando o uso para no especialistas e provendo recursos como pequenos sistemas de superviso industrial que podem ser compilados e executados em qualquer computador mesmo que no possua o Matlab instalado. ! Aliados aos elementos grcos o desenvolvedor pode fazer uso de todas as
ferramentas disponveis no Matlab atravs das chamadas de funes (callbacks). O ambiente do tipo WYSIWYG (What You See Is What You Get - O que voc v o que voc tm), ou seja, durante o projeto pode-se observar a prvia em tempo real de como car a verso nal da interface. 2! ! ! ACESSANDO O AMBIENTE GUIDE Para que se faa o acesso do ambiente de construo de interfaces, deve-se digitar
>> guide ! ! Surge uma tela com as opes mais comuns para iniciar-se um projeto, para este
A prxima tela a tela inicial de projetos, neste ambiente so congurados os elementos que sero visveis ao usurio.
!
3! CALLBACKS ! ! ! Todo elemento adicionado interface realizar um retorno de chamada (callback) quando acionado, ou seja, caso um boto for adicionado ao projeto, quando o usurio clicar em tal boto, um trecho de cdigo ser executado. Este trecho de cdigo escrito em um arquivo .m padro do Matlab mas com delimitaes para cada elemento. 4! EXEMPLOS
4.1! BOTO INCREMENTANDO VARIVEL ! ! Neste primeiro exemplo ser construda uma interface composta de um boto e um edit (campo de caracteres) onde a cada vez que o usurio clicar no boto ser incrementado em uma unidade o contador presente no edit. ! Inicialmente deve-se selecionar um boto no menu de elementos presente no lado esquerdo da tela principal do GUI:
Uma vez selecionado o boto basta clicar em qualquer ponto da tela do projeto e arrastar o mouse at o boto atingir a dimenso desejada.
!
! A prxima tarefa consiste em alterar algumas das propriedades do boto como o texto padro Push Button. Para acessar o menu de edio de propriedades basta clicar 2 vezes em cima do elemento, um menu surgir na tela.
! Para editar o texto basta alterar a propriedade String, neste caso foi alterada para a palavra ADICIONA. ! O prximo passo consiste em adicionar um campo de edio de caracteres (edit), para tal basta selecionar este elemento no menu e posicion-lo no projeto.
! Da mesma forma que o boto, deve-se alterar a propriedade do campo de texto para que se inicie com o nmero 0. Basta editar a propriedade Stringe alterar para 0.
! Uma vez adicionados os elementos, deve-se editar o cdigo de callback de cada um dos elementos, neste caso apenas o boto ter ao para que o projeto seja concludo. Para editar o callback de um elemento, basta clicar com o boto direito sobre este e acessar a opo View callbacks - Callback.
! ! Uma tela com um arquivo .m aberta com diversos comentrios, esses comentrios separam o trecho de cdigo para cada elemento do sistema, neste caso o cursos aparece na edio do boto.
! O sistema de controle do GUI gerido por uma estrutura chamada handles, esta estrutura possui todos os atributos dos componentes adicionados pelo projetista. Para alterar uma propriedade de um elemento via cdigo deve-se fazer a alterao dentro desta estrutura com os comandos get (obter) e set (denir). A regra geral para o comando get : get(handles.TAG_DO_ELEMENTO, 'PROPRIEDADE_DO_ELEMENTO'); ! Para o exemplo anterior, foi atribudo varivel numero_atual o contedo do campo String (texto) do elemento edit1. ! Para o comando set a regra geral : set(handles.TAG_DO_ELEMENTO, 'PROPRIEDADE_DO_ELEMENTO', VALOR); ! ! Dessa forma o comentrio do cdigo anterior : 1 linha - Obtm o contedo do campo edit1 e armazena na varivel numero_atual; 2 linha - Converte a varivel numero_atual de texto para nmero visto que todo contedo de um campo edit do tipo texto por padro; 3 linha - Soma um ao valor atual da varivel; 4 linha - Converte de nmero para texto; 5 linha - Dene no elemento edit1, no campo String o novo valor; ! Para testar o projeto basta apertar F5 ou clicar no boto run do menu do Matlab. A interface criada apresentada e a cada clique do mouse o valor incrementado em uma unidade.
4.2! PLOTANDO UM GRFICO ! ! Neste exemplo ao selecionar um marcador o usurio far com que um grco senoidal seja plotado no programa. ! O primeiro passo consiste em adicionar o elemento chamado radiobutton e posicion-lo no projeto. Aps ser adicionado deve-se editar o campo String e substituir o texto padro por PLOTAR.
Figura 12 - Elemento radiobutton depois de editado. ! O prximo elemento o eixo de plotagem, este elemento est no menu com o nome de Axes, devese posicion-lo no projeto ao lado do boto.
! O elemento responsvel por ativar o grco ser o boto, dessa forma deve-se editar a funo callback do mesmo com o seguinte cdigo:
4.3! ATUALIZAR UM GRFICO EM TEMPO REAL ! ! Neste exemplo um grco ser alterado sempre que o usurio mover o elemento slider. Este elemento permite congurao de valores com o mouse atravs de uma barra de rolagem. ! O primeiro passo adicionar o elemento slider na tela de projeto e congurar alguns de seus parmetros: Value = 5; Min = 1; Max = 10;
! Deve tambm ser adicionado um eixo para plotar grcos, a congurao prvia do projeto vista na Figura 15.
O elemento que controla o grco o slider, dessa forma em seu callback deve ser denido: limite = get(handles.slider1,'Value'); x=0:0.1:limite; y=sin(x); plot(x,y); ! Dessa forma a cada novo valor congurado pelo usurio o grco recongurado.