Ayuda!! Crear Interfaz de Usuario en Matlab
Publicado por Jesús Ortega (3 intervenciones) el 10/12/2015 20:23:50
Hola Buenas tardes... me podrían ayudar a crear una interfaz de usuario, realmente en la pantalla solo se visualizaran dos botones (SI y NO) y un cuadro de texto estático donde se visualizaran las preguntas. Y para finalizar un cuadro donde te diga el diagnostico.
El script del programa es para un sistema experto, aqui lo dejo... Espero me puedan ayudar. Muchas gracias
El script del programa es para un sistema experto, aqui lo dejo... Espero me puedan ayudar. Muchas gracias
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
% Sistema experto para la deteccion de priorización de pacientes Pediátricos en Urgencias
function TRABAJO_FINAL_CEXPERTO
clc
global pantalla esp1 esp2 esp3
[regla, d, p, pantalla, esp1, esp2, esp3] = inicializa
p=adq_datos;
% DEFINICION DE REGLAS
regla(1) = p(1);
regla(2) = and(and(p(1), p(5)), p(3));
regla(3) = and(regla(2), p(6));
regla(4) = and(regla(2), not(p(6)));
regla(5) = and(and(p(1), not(p(5))), p(3));
regla(6) = and(and(p(1), p(7)), p(4));
regla(7) = and(regla(6), p(6));
regla(8) = and(regla(6), not(p(8)));
regla(9) = and(and(p(1), not(p(7))), p(4));
regla(10) = not(p(1));
regla(11) = and(not(p(1)), p(9));
regla(12) = and(regla(11), p(10));
regla(13) = and(regla(11), not(p(10)));
regla(14) = and(not(p(1)), not(p(9)));
regla(15) = p(3);
regla(16) = p(4);
%INFERENCIAS
for i=1:16
if regla(i), d(i)=1; end
end
if or(or(or(or(or(or(or(d(2), d(3)), d(4)), d(5)), d(6)), d(7)), d(8)), d(9))
d(1) = 0;
end
if or (d(3), d(4)); d(2) = 0; end
if or (d(7), d(8)); d(6) = 0; end
if or(or(or(d(11), d(12)), d(13)), d(14)); d(10) = 0; end
if or (d(12), d(13)); d(11) = 0; end
resultado(d);
end
function [reg, dat, pro, pantalla1, especial1, especial2, especial3] = inicializa
%Funcion que sirve para inicializar los valores de los arreglos a ocupar
%para reglas, datos, proposiciones
%Por defecto tienen el valor 0 (falso)
reg(1:14) = 0;
dat(1:14) = 0;
pro(1:14) = 0;
pantalla1=...
['especial1 ';
'especial2 ';
'Paciente hemodinamicamente estable que requiere un procedimiento (Diagnóstico o Terapéutico) asociado. ';
'Por su condición, el paciente debe ser evaluado. Tiempo máximo de espera : 180 minutos ';
'especial3 ';
'Situación de inicio o aparición brusca de riesgo vital o peligro inmediato real o potencial para la vida con efecto de secuelas graves permanentes si no recibe atención calificada de inmediato.';
'Situación clínica capaz de generar deterioro, peligro o riesgo para la salud o la vida en función del tiempo transcurrido ';
'Situación clínica de manifestación espontánea y prolongada capaz de generar solo malestar y contrariedades generales en el paciente. ';
'Valoración de signos vitales. ';
'Urgencia sin riesgo vital evidente. ';
'Por su condición, el paciente debe ser Tratado en la Unidad por eventual hospitalización. ';
'Paciente con Compromiso vital evidente ';
'Por su condición, el paciente debe ser Tratado.tiempo Max de espera 30 min ';
'Por su condición, el paciente debe ser Tratado.tiempo Max de espera 30 min '];
especial1=...
['Pacientes que requieren reanimación inmediata con riesgo vital inminente. ';
'Deberá pasar a la sala de reanimación donde serán estabilizados y recibirán las acciones terapéuticas necesarias en forma inmediata. '];
especial2=...
['Paciente con Compromiso vital evidente y Hemodinamia alterada. ';
'Por su condición, el paciente debe ser estabilizado ';
'Necesario un período variable de observación en la unidad de emergencia para realizar acciones diagnósticas y/o terapéuticas antes de su alta'];
especial3=...
['Paciente con Hemodinamia inestable o compromiso neurológico o de patrón respiratorio evidente. ';
'Por su condición, el paciente debe ser Tratado.tiempo Max de espera 15 min '];
end %FIN DE LA FUNCION INICIALIZA
% INTERFAZ DE ADQUISICION DE DATOS
function datos = adq_datos
fprintf('Bienvenido al sistema de deteccion de priorización de pacientes Pediátricos\n\n')
display('Se le realizara una serie de preguntas para establecer una evaluación y el grado de emergencia')
display('Responda:')
display(' 1 si la respuesta es afirmativa')
display(' 0 si la respuesta es negativa')
input('Presione la tecla enter para comenzar...')
datos(1) = input('\n¿Paro cardiaco, paro respiratorio o paro inminente.? ');
datos(2) = input('\n¿Gran quemado.? ');
datos(3) = input('\n¿Traumatismo Encéfalo Craneano grave.? ');
datos(4) = input('\n¿Hemorragia activa con alteración hemodinámica.? ');
datos(5) = input('\n¿Fiebre > 39º C con compromiso del estado general en menores de 5 años.? ');
datos(6) = input('\n¿Intoxicaciones – Ingesta medicamentosa o sustancias tóxicas.? ');
datos(7) = input('\n¿Niños con dificultad respiratoria y saturación menor a 93% .? ');
datos(8) = input('\n¿Reacción alérgica generalizada (urticaria), edema angineurótico? ');
datos(9) = input('\n¿Fractura expuesta sin compromiso hemodinámico.? ');
datos(10) = input('\n¿Dolor abdominal, con vómitos y fiebre. Con compromiso estado general? ');
end %FIN DE FUNCION adq_datos
function resultado(resul)
global pantalla esp1 esp2 esp3
temp = 0; %SE UTILIZA ESTA VARIABLE PARA COMPROBAR QUE EXISTEN VALORES VERDADEROS
fprintf('\n\n Resultado\n ')
for i = 14:-1:1
if resul(i)
temp = 1;
%display(i)
if or(or(i == 1, i == 2),i == 5)
if i == 1
display(esp1(1,:))
display(esp1(2,:))
end
if i == 5
display(esp2(1,:))
display(esp2(2,:))
display(esp2(3,:))
end
if i == 5
display(esp3(1,:))
display(esp3(2,:))
end
else
display(pantalla(i,:))
end
end
end
if temp == 0 % SI ESTA AQUI ENTONCES SIGNIFICA QUE NO HUBIERON PROPOSICIONES EVALUADAS VERDADERAS
display('La evaluación no se encuentra en nuestra base de conocimientos')
end
end %FIN FUNCION RESULTADOS
Valora esta pregunta


0