Você está na página 1de 17

Matlab 7.

Guide

UFPa
Grupo: GDIME
Aluno: Jouberson Leônidas
Prof: Abdon Tapía
Introdução

O Matlab possui uma ferramenta que permite construir interfaces


gráficas de interação com o utilizador. O utilitário GUI são interfaces amigáveis
para o utilizador e durante o projeto prático. Para construir uma interface
gráfica convém ter uma idéia muito bem definida do que se pretende.
Eis alguns exemplos:
Criando uma Gui
Neste primeiro momento, cabe apresentar o espaço do Matlab destinado
à construção de uma interface gráfica, ou seja, uma Gui. É acessado do menu
new gui.

Dê um clic em OK para abrir um utilizador em branco para a criação da


gui, ou digite “guide” na janela de comando do matlab.
Com o utilizador você poderá fazer um desenho de seu programa
utilizando as ferramentas a direita da janela do utilizador.

A barra para construção dá ao usuário o material necessário para


construir a cara da interface gráfica.
Ferramentas do programa

Logo abaixo estão algumas ferramentas que serão utilizadas nas


interfaces gráficas ;

Edit text

O edit text é utilizado para a entrada de dados


na gui, onde o mesmo pode ser armazenado em uma
variável.

Pop-up-menu List box

O Pop-up-menu e a List box servem para listar dados amostrais, embora


sejam diferentes as séries de comandos para utilizá-los é bem semelhante.
Sendo a lista a coluna de uma matriz criada pelo usuário.

Push button
O Push button é uma botão onde sua ação será
determinada de acordo com a necessidade do usuário,
onde ao clicá-lo produz a ação do programa.

Toggle button

O Toggle button é um
botão que pode realizar duas
funções, uma quando está
ativado e outra quando está
desativado. Ele possui o seu valor
igual a 1 quando ligado e 0
quando desligado.
Ex: if x==1
grid on
else x==0
grid off
Radio buttons end

O radio button é utilizado como um


marcador, onde seu valor também varia de zero a
um. Quando selecionado seu valor é igual a 1, e
quando não está selecionado seu valor é 0,
funciona de maneira semelhante ao Toggle button.

Slider

O Slider funciona como um controlador, onde seus valores podem variar


de acordo com a necessidade do programador. O programador pode escolher
o intervalo que ele pode variar, veremos isso mais adiante em Property
inspector, onde é ai que pode ser mudada todas as suas propriedades.

Text
O Text serve para apresentar dados e textos
produzidos pelo usuário, também é possível inserir
em uma variável o que está escrito nele.

Propriedades(Property Inspector)

Todos os elementos Gui possuem tais propiedades como tamanho, cor,


posição, Tag(nome), style(tipo de elemento), fonte, tamanho da fonte,
string(nome de exibição), Callback(função do botão), entre outros. Os quais
estes são os principais.

Callback  O callback é o que chamamos de função de um botão, o


qual executa uma ação ao ser selecionado. Podemos direcionar a ação de um
botão alterando o seu callback de sua propriedade.
Enable  É como um (liga/ desliga), para as ferramentas.
Style  É o estilo da ferramenta, fala se é um push button, edit text,
pop-up-menu, slider, etc....
String  É o texto apresentado na interface da ferramenta.
Tag  É exatamente o nome da ferramenta, e como iremos nos referir a
ela ao programá-la.
Max  O valor máximo que a ferramenta pode ter, muito útil para
programar slider.
Min  O valor mínimo que a ferramenta pode ter,também muito útil para
programar slider.
Position  É a posição onde a ferramenta está [Xmin, Ymin,
Xmax,Ymax].

Construção de uma Gui

Após montar o programa utilizando os recursos computacionais citados


acima, podemos ativar a interface, basta apertar Ctrl+T, ou aperte um botão
verde em formato de play na parte superior da janela. Quando a janela de um
interface gráfico é ativada, o Matlab cria automaticamente uma função (M-file)
com o código necessário para gerar a Estrutura de dados de todos os
componentes e respectivas propriedades que constituem a interface, através
de uma sequência de instruções que aparecem no início da função e não
devem ser alteradas.

Comando get e set  O comando “get” serve para a entrada de


dados, seja ele um número ou um nome.
O comando “set” tem a finalidade de apenas exibir dados obtidos
ou gerados no programa em qualquer elemento gui programado.
Ex 1:
Variável=get(handles.edit1, ‘string’);
set(handles.text1, ‘string’,Variavel)

Ex 2:
Toda interface criada gera um M-file correspondente as
ferramentas utilizadas. Então fazendo o desenho do programa abaixo utilizando
um text, um edit text e um push button, digite os comandos abaixo no M-file
gerado pela interface na parte que corresponde a ação no botão (callback).
Confira se no Tag correspondentes aos comandos é o mesmo da interface,
pelo contrário ao rodar o programa dará erro.
Alguns exemplos

Exemplo 1:
O comando str2num serve para converter o valor string em um valor
numérico, e num2str o contrário.
Lembrando: O Tag do M-file deve ser correspondente a ferramenta usada na
interface. Os comandos devem ser digitados no M-file da interface abaixo da parte
correspondente ao callback do botão.

Exemplo 2
Repare que cara radio button tem seu callback, então a lógica é a
seguinte: Quando o usuário seleciona um radio button o mesmo é marcado e
automaticamente os dois restantes não são marcados.
Logo:

function radiobutton1_callback(hObject, eventdata, handles)


set(handles.radionbutton1,’value’,1);
set(handles.radionbutton2,’value’,0);
set(handles.radionbutton3,’value’,0);

Obs: o valor do Radio button pode ser colocado em uma variável e


utilizado como condição para ações futuras de determinado programa.

Exemplo 3:
Este exemplo mostra a utilidade do Slider , onde o seu intervalo pode
ser alterado de acordo com a necessidade do programador no Propert
Inspector em max e min.
A lógica do programa é a seguinte: De acordo que o Slider corre o valor
contido em seu intervalo aumenta, onde no fim do Slider é seu valor máximo.
Logo o valor selecionado é colocado em uma variável e depois apresentada em
um text.

O axes faz parte das ferramentas utilizadas para a construção de uma


gui, o programador pode inserir vários gráficos ao mesmo tempo, mas para se
referir a cada axes basta digitar handle(handles.axes(numero do axes)), no
M-file gerado pela interface.

Como usar uma listbox


Uma das dificuldades mais freqüentes dos iniciantes em interface gráfica
é entender a lógica dos programas, na verdade quando o usuário aprende
como o programa se comporta, se torna mais fácil reproduzi-lo.
O que se precisa saber para usar uma listbox é;
1 A listbox apresenta dados armazenado em matrizes, ou seja
apresentando uma coluna de matriz.
2  Armazenar dados em uma matriz.
3  Gerar um banco de dados.

Criando uma lista

1°passo
Inicialmente abra o matlab, abra a parte que corresponde a interface
gráfica. Faça o diagrama abaixo no utilizador. Apague as strings do edit e da
listbox, faça isso indo em suas respectivas propriedades (property inspector).

2°passo
Agora é necessário criar
um contador para que
possamos listas os dados
e armazena-los em uma
matriz.
Abra um novo arquivo-M
(M-file) e digite os
seguintes comandos:

function iniciar()
n=1;
save banco_de dados

Após digitar o comando


salve o M-file com o nome
que fica após o comando function.
3° passo
Abra um novo M-file e digite os seguintes comandos:

function gera_contagem()
load banco_de_dados
n=n+1;
x=findobj('tag','edit1');
xa=get(x,'string');
tabela(n,1)={n};
tabela(n,2)={xa};
lista=findobj('tag','listbox1');
set(lista,'string',tabela(:,2));
save banco_de_dados

Depois salve o arquivo com o nome que está após o comando function.
4° Passo
Vá para o utilizador, abra a propriedade do botão como mostra a figura:

Na propriedade em callback digite o nome o M-file que se deseja


executar ao selecionar o botão, no caso gera_contagem. E no Create
Fcn você digita o nome do M-file que se deseja ser executado logo
quando o programa abrir, no caso iniciar.

FIM

O comando findobj funciona como o input, mas com findobj o


programador precisa direcionar para onde vai o comando.
Ex:
x=findobj('tag','edit1');
xa=get(x,'string');
Neste caso o commando foi direcionado para seu o edit1, onde depois
foi armazenado em uma variável. A variável xa só fez armazenar em uma
variável o que já estava em x no formato string.
Construindo painéis para interface
Nas interfaces gráficas no matlab é possível gerar painéis que ficam na
parte superior da janela do programa. O programador pode colocar nesses
painéis botões como “Arquivo”, ”Editar”, ”Inserir”, ”Formatar”, “Ajuda”.
Na parte superior da janela do utilizador tem um botão chamado Menu
Editor .

Ao entrar no Menu Editor o usuário poderá criar um painel para sua gui,
é lógico que depois terá que programar suas funções, seus Callbacks são
automaticamente direcionados para o M-file gerado pela interface, mas podem
ser redirecionados pelo Menu Editor, onde mostra o Callback de cada item no
painel.
Abrir e
salvar arquivos

O usuário
pode abrir e gerar
executáveis em
sua interface,
após usar os
comandos abaixo,
depois terá de
programa-los.
Abrir

[filename,pathname] = uigetfile('*.m','UIGETFILE TITLE');

Salvar
[filename,pathname] = uiputfile('Default.m','UIPUTFILE TITLE');

Ferramentas úteis
button = questdlg('Deseja fechar o programa?', ...
'Saida','Yes','No','No');
switch button
case 'Yes',
close
case 'No',
return
end

msgbox('Erro da mensagem','Erro','help'); msgbox('Erro da mensagem','Erro','help');

msgbox('Erro da mensagem','Erro','warn'); answers = inputdlg({'1°pergunta',...


'2°pergunta',...
'3°pergunta',},...
'nome da janela');
uisetfont(object_handles) uisetfcolor(object_handles)