Você está na página 1de 6

c 


    
  

 

  

Este exemplo mostra como criar uma interface gráfica para obter a distância
entre pontos em uma figura. O principal neste exemplo é a interface e como
trabalhar com os componentes, pois a distância entre os pontos pode ser

c 



Para criar uma interface no MATLAB, basta chamar a função guide no  
do MATLAB. Esta função trará a seguinte janela:

Neste exemplo, podemos ficar com a opção padrão ( 


) e você
também pode salvar a figura (interface) com a opção     .
Quando você salvar, o MATLAB criará automaticamente um arquivo *.m
correspondente à sua interface e já adiciona a este arquivo um monte coisa
necessária ao bom funcionamento da interface. Este arquivo conterá o código
para as ações dos botões, controles de text o, menus e demais componentes
existentes na interface. Clicando em OK, temos a nova interface:
Agora você já pode colocar os componentes na interface. Basta selecionar um
componente na lista à esquerda e colocá -lo na interface com um clique. Todos
os componentes suportam o recurso de arrastar e soltar e também têm alças
de redimensionamento, que você já deve ter visto em algum outro programa.
Para alterar cores, fonte e texto dos componentes, basta clicar duas vezes
sobre ele, irá aparecer o editor de propriedades, onde você pode modificar
facilmente as característica dos controles e da própria inter face. Para o
exemplo, eu usei uma interface assim (clique para ver maior):

Esta interface funcionará da seguinte forma: o usuário clica em ³Abrir imgem´ e


escolhe uma figura, que será aberta no componente axes1; em seguida, ele
especifica uma distância conhecida usando a caixa de texto abaixo do botão
³Referência´ e escolhe a unidade em que está a distância com o menu logo
abaixo. Então ele clica no botão ³Referência´ e marca na figura onde está a
distância conhecida. Depois basta escolher com quantos pon tos ele quer
trabalhar (na minha interface eu chamei de ³Estações´), clica em ³Marcar
pontos´ e marca os pontos na figura. Conforme ele marca os pontos as
distâncias são calculadas e mostradas sobre a figura. Veja em funcionamento
(note que no editor de pr opriedades eu coloquei a propriedade ToolBar da
figura como figure para ter acesso às ferramentas de imagem durante a
execução do programa) (clique para ver maior):

Para ver funcionando você pode clicar no triângulo verde do GUIDE ou apertar
F5 no editor de códigos. Para chamar a interface futuramente, basta usar o
nome que você deu a ela como se fosse uma função (e é isso que ela é), você
pode chamá-la dentro de outros programas ou direto do   (ela deve estar
acessível no ).

c  



Para associar ações aos componententes, o MATLAB utiliza os chamados


àà, que são apenas funções chamadas quando alguma coisa acontece.
Veremos como funciona na prática: clicando com o botão direito sobre um
componente, aparece um menu, neste menu há a opção  à que
mostra todos os àà disponíveis para um componente e você ó precisa
clicar em qual você quer editar e o MATLAB mostra onde digitar e, para alguns
componentes, já trás algumas dicas. Veja o código que eu coloquei no àà
do botão ³Abrir imagem´ (os comentários em inglês foram colocados
automaticamente pelo MATLAB):

% --- Executes on button press in pushbutton1.


function pushbutton1_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton1 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% l t t wit l t I A A

% t t l i l i i :
[fil , l ]=i tfil ;

% i ti l
if × l
% i
l . i = fil ;
% i
l .i =i fil ;
% l i t
l . ;
% i fi
i w l .i ;

% t f i
l . 2 i = ;
% l i l l
i t j t, l ;

Î   ú i tifi t , l fi
i l l .E i l ti t t it
i t t : ú i t i í l t   , i l
f i t .V j it i l
i t i .

A    t f i :

% E t tt i tt 3.
f ti tt 3 ll j t, t t , l
% j t l t tt 3 B
% t t t fi i f t i f A AB
% l t t wit l t I A A

% ti
l . ;
% t i i t i
f i
i w l .i ;

% l i t i i
% " t f" i " " i t t
f= t2 l t l . t f, 'St i ' ;

%V i i it ú li , t i
% t i ll
if i f || f <= 0
% t
l 'P f , i it ú li .', 'E ';
% i f
t ;

% i i t
t = i t2;

% l l i t i i l i .
% t t , i t i t t
% ti l t t
%i í i t fi t , t t
% f if t t
% t .
= t ,: t 2,: / f;

% t i t i i l il ti ,l
% i i t l
% i i í l.
% t l . , 'V l ' t l it i l
wit t l . , 'V l '
% i t
f t = ;
2%
f t = / /60 ;
3%
f t = / 60;
4% il t
f t = / / 8 2 000 ;
% t
f t = / / 8 2;

% f i
l . 2 i =f t ;
i t j t, l ;

V j ti — , t i
t f t i i i ,
t.

i l t ,    t t .
t i t f li t i t i :
t ti l i í i l it .

% E t tt i tt 2.
f ti tt 2 ll j t, t t , l
% j t l t tt 2 B
% t t t fi i f t i f A AB
% l t t wit l t I A A
if i l . 2 i
l ' f i i i ', 'E ';
t ;

E t= t2 l t l . t E t, 'St i ' ;
if ~i E t && E t>
l . ;
t = i t ;
l ;
l t t , t 2,' ';
l
l 'P f , i it ú li t .', 'E ';
t ;

f j=2: E t
l t= t ;
t = i t ;
l t t , t 2,' ';
li [l t t ], [l t 2 t 2 ] ;
= l t t / l . 2 i 8 2;
t t t +l t t /2, t 2 + l t 2 t 2 /2, ...
i tf '%.2f ', , ' l ', 'y' ;

l ff;

˜   
 

S i t f i t f fi
t t t , A AB
A AB il , i it i t  
A AB i t f . i , i ifi
i I t :

i t f .

A i   , j , f i
i ,i t A AB. , l t t l t
i t , l i i t l   
 ,
i ti i li t t l i,
i l t W i i ti i l
  . lt t i .

E Wi w , i i i t f . t l t
i , i i i i i i t f ,t
t i .

Você também pode gostar