Você está na página 1de 17

Matlab 7.

0 Guide

UFPa Grupo: GDIME Aluno: Jouberson Lenidas Prof: Abdon Tapa

Introduo
O Matlab possui uma ferramenta que permite construir interfaces grficas de interao com o utilizador. O utilitrio GUI so interfaces amigveis para o utilizador e durante o projeto prtico. Para construir uma interface grfica convm ter uma idia muito bem definida do que se pretende. Eis alguns exemplos:

Criando uma Gui


Neste primeiro momento, cabe apresentar o espao do Matlab destinado construo de uma interface grfica, ou seja, uma Gui. acessado do menu new gui.

D um clic em OK para abrir um utilizador em branco para a criao 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 construo d ao usurio o material necessrio para construir a cara da interface grfica.

Ferramentas do programa
Logo abaixo esto algumas ferramentas que sero utilizadas nas interfaces grficas ; Edit text O edit text utilizado para a entrada de dados na gui, onde o mesmo pode ser armazenado em uma varivel.

Pop-up-menu

List box

O Pop-up-menu e a List box servem para listar dados amostrais, embora sejam diferentes as sries de comandos para utiliz-los bem semelhante. Sendo a lista a coluna de uma matriz criada pelo usurio. Push button

O Push button uma boto onde sua ao ser determinada de acordo com a necessidade do usurio, onde ao clic-lo produz a ao do programa.

Toggle button O Toggle button um boto que pode realizar duas funes, 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 end O radio button utilizado como um marcador, onde seu valor tambm varia de zero a um. Quando selecionado seu valor igual a 1, e quando no est selecionado seu valor 0, funciona de maneira semelhante ao Toggle button. Slider

Radio buttons

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 usurio, tambm possvel inserir em uma varivel o que est escrito nele.

Propriedades(Property Inspector)
Todos os elementos Gui possuem tais propiedades como tamanho, cor, posio, Tag(nome), style(tipo de elemento), fonte, tamanho da fonte, string(nome de exibio), Callback(funo do boto), entre outros. Os quais estes so os principais.

Callback O callback o que chamamos de funo de um boto, o qual executa uma ao ao ser selecionado. Podemos direcionar a ao de um boto 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 mximo que a ferramenta pode ter, muito til para programar slider. Min O valor mnimo que a ferramenta pode ter,tambm muito til para programar slider.

Position a posio onde a ferramenta est [Xmin, Ymin, Xmax,Ymax].

Construo de uma Gui


Aps montar o programa utilizando os recursos computacionais citados acima, podemos ativar a interface, basta apertar Ctrl+T, ou aperte um boto verde em formato de play na parte superior da janela. Quando a janela de um interface grfico ativada, o Matlab cria automaticamente uma funo (M-file) com o cdigo necessrio para gerar a Estrutura de dados de todos os componentes e respectivas propriedades que constituem a interface, atravs de uma sequncia de instrues que aparecem no incio da funo e no devem ser alteradas. Comando get e set O comando get serve para a entrada de dados, seja ele um nmero 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: Varivel=get(handles.edit1, string); set(handles.text1, string,Variavel) Ex 2: Toda interface criada gera um M-file correspondente as ferramentas utilizadas. Ento 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 ao no boto (callback). Confira se no Tag correspondentes aos comandos o mesmo da interface, pelo contrrio ao rodar o programa dar erro.

Alguns exemplos Exemplo 1:


O comando str2num serve para converter o valor string em um valor numrico, e num2str o contrrio.

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 boto.

Exemplo 2

Repare que cara radio button tem seu callback, ento a lgica a seguinte: Quando o usurio seleciona um radio button o mesmo marcado e automaticamente os dois restantes no so 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 varivel e utilizado como condio para aes 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 lgica do programa a seguinte: De acordo que o Slider corre o valor contido em seu intervalo aumenta, onde no fim do Slider seu valor mximo. Logo o valor selecionado colocado em uma varivel e depois apresentada em um text.

O axes faz parte das ferramentas utilizadas para a construo de uma gui, o programador pode inserir vrios grficos 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 freqentes dos iniciantes em interface grfica entender a lgica dos programas, na verdade quando o usurio aprende como o programa se comporta, se torna mais fcil 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 1passo


Inicialmente abra o matlab, abra a parte que corresponde a interface grfica. Faa o diagrama abaixo no utilizador. Apague as strings do edit e da listbox, faa isso indo em suas respectivas propriedades (property inspector).

2passo
Agora necessrio 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 Aps digitar o comando salve o M-file com o nome que fica aps 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 aps o comando function.

4 Passo
V para o utilizador, abra a propriedade do boto como mostra a figura:

Na propriedade em callback digite o nome o M-file que se deseja executar ao selecionar o boto, 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 varivel. A varivel xa s fez armazenar em uma varivel o que j estava em x no formato string.

Construindo painis para interface

Nas interfaces grficas no matlab possvel gerar painis que ficam na parte superior da janela do programa. O programador pode colocar nesses painis botes como Arquivo, Editar, Inserir, Formatar, Ajuda. Na parte superior da janela do utilizador tem um boto chamado Menu Editor .

Ao entrar no Menu Editor o usurio poder criar um painel para sua gui, lgico que depois ter que programar suas funes, seus Callbacks so 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 usurio pode abrir e gerar executveis em sua interface, aps 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({'1pergunta',... '2pergunta',... '3pergunta',},... 'nome da janela');

uisetfont(object_handles)

uisetfcolor(object_handles)

Você também pode gostar