Documente Academic
Documente Profesional
Documente Cultură
Página 1|9
AUTOR: EVELYN RAMOS VILLASANA
El archivo de extensión *.fig posee los siguientes componentes:
Barra de herramientas
Botones de control y edición
Página 2|9
AUTOR: EVELYN RAMOS VILLASANA
Por lo tanto, para un buen manejo y control de la interfaz de usuario, es recomendable
asignar a cada elemento el nombre de la variable con el que trabajará. Por ejemplo, en
la siguiente figura se añade a la interfaz de usuario un botón Edit Text, el cual recibirá
dentro de la interfaz de usuario, valores de caudales, por lo tanto, es recomendable
asignar a dicho botón el nombre de caudal mediante el uso de la propiedad “Tag”. La
asignación de nombres a los elementos de la interfaz de usuario permiten realizar una
programación más fácil y ordenada dentro del archivo *.m.
Debe mencionarse que la ventana de propiedades de cada elemento del GUI se abre al
hacer doble clic sobre dicho elemento. Entre las propiedades más importantes destacan
los siguientes: String, propiedad donde se escribe el texto que será visible al usuario;
Tag, propiedad donde se asigna un nombre al elemento; Pisition, propiedad donde se
administra el tamaño y ubicación del elemento; Font Name, propiedad donde se
selecciona el tipo de letra del elemento; Font Size, propiedad donde se selecciona el
tamaño de letra del elemento; y HorizontalAlignment, propiedad donde se define la
alineación del contenido.
Por último, también resulta útil la asignación de un nombre a la misma interfaz de
usuario, esto en el caso cuando se requiera trabajar con más de dos interfaces de
usuario. Por ejemplo, en la siguiente figura se muestra que a la interfaz de usuario
mediante su propiedad Tag se le asigna el nombre “figure_main”.
-
Página 3|9
AUTOR: EVELYN RAMOS VILLASANA
2. Programación de la interfaz de usuario
2.1. Comando para extraer el valor ingresado en el GUI y llevarlo a una variable en
el archivo *.m.
- diameter_to_use =
str2double(get(handles.diameter_to_use,'String')); %[m]
2.2. Comando para establecer en el GUI una variable calculada en el archivo *.m
- set(handles.velocity_to_use,'String',velocity_to_use);
Página 4|9
AUTOR: EVELYN RAMOS VILLASANA
2.3. Comando para guardar y recuperar variables calculadas en el archivo *.m.
Todas las variables que se creen o asignen dentro de una de las funciones del
archivo *.m solo pueden ser utilizadas dentro de dicha función a menos que
sean guardadas con el siguiente comando:
- setappdata(handles.figure_main,'area',area); %GUARDA EL
VALOR DE AREA
2.4. Estructura para definir y ejecutar una función dentro de una función del archivo
*.m.
Es recomendable programar los cálculos matemáticos y lógicos en el archivo *m.
mediante la definición y ejecución de funciones. La estructura para definir una
función dentro del archivo *.m es como sigue:
- [velocity_to_use, area, hvp, S] =
function_hydraulic_characteristics(discharge,
diameter_to_use, n_manning);
Las variables escritas dentro de los paréntesis son aquellas que han sido
asignadas a algún valor dentro del archivo *.m y que son necesarias para los
cálculos que programen dentro de la función
“function_hydraulic_characteristics”. Esta nueva función
“function_hydraulic_characteristics” debe ser programada en otro archivo de
extensión *.m. La estructura para definir esta función se muestra a
continuación:
velocity_to_use = round(discharge * 4
/(pi()*diameter_to_use^2),1); %[m/s]
%CARGA DE VELOCIDAD
hvp = velocity_to_use ^ 2 / (2 * 9.81); %[m]
%MANNING'S SLOPE
S =(discharge * n_manning / (area * radio_hidraulico ^
(2/3))) ^ 2 ; %[%]
end
Página 5|9
AUTOR: EVELYN RAMOS VILLASANA
Dentro de las sentencias Function y End, se programa los cálculos matemáticos
y lógicos.
- Guide_main = findobj('Tag','figure_main')
REFERENCE_01 = getappdata(Guide_main,'REFERENCE_01');
%SHOWING REFERENCE
- axes(handles.axes1);
Página 6|9
AUTOR: EVELYN RAMOS VILLASANA
[scheme_1,map_1]=imread(REFERENCE_01);
image(scheme_1), axis off;
- for j=1:n_Rivers
if Golden_Rivers_filtro{j,3}{1,1}==1
[n_filas,col_2]=size(Golden_Rivers_filtro{j,1}{1,1});
fin_matrix_general=inicio_matrix_general+n_filas-1;
general_matrix_filtered(inicio_matrix_general:fin_matri
x_general,1)=Golden_Rivers_filtro{j,1}{1,1}(:,1);
general_matrix_filtered(inicio_matrix_general:fin_matri
x_general,2)=Golden_Rivers_filtro{j,1}{1,1}(:,2);
general_matrix_filtered(inicio_matrix_general:fin_matri
x_general,3)=Golden_Rivers_filtro{j,1}{1,1}(:,3);
general_matrix_filtered(inicio_matrix_general:fin_matri
x_general,4)=Golden_Rivers_filtro{j,1}{1,1}(:,4);
general_matrix_filtered(inicio_matrix_general:fin_matri
x_general,5)=Golden_Rivers_filtro{j,1}{1,1}(:,15);
inicio_matrix_general=fin_matrix_general+1;
else
%No se enlista los ríos que NO PASARON EL
FILTRO
end
end
- while ENERGY == 0
contador = contador - 1;
if contador == Criterio
ENERGY == 1;
else
end
end
Página 7|9
AUTOR: EVELYN RAMOS VILLASANA
2.10. Comando Case
- switch true
case 0 <= H & H < Rango_de_Pmax/15
matrix_color(pp,1:3) = [0 0 255]/255;
case Rango_de_Pmax/15 <= H & H < Rango_de_Pmax/10
matrix_color(pp,1:3) = [100 149 237]/255;
end
- [archivo_secciones,txt,raw] = xlsread(filename);
- xlswrite(complete_name,RESULTS_ID_PROJECTS_cells)
- set(handles.table_criterios,'data',matrix_criterios_fin
al_cell);
Página 8|9
AUTOR: EVELYN RAMOS VILLASANA
Una vez ejecutado el programa se ejecutará la interfaz de usuario mostrada en la siguiente
imagen.
En esta interfaz se podrá ingresar valores y presionar los botones que ejecutan cálculos con
dichos valores.
Página 9|9
AUTOR: EVELYN RAMOS VILLASANA