%Ventana principal figure( ... 'Name','MECDI: Análisis según el ángulo de inyección ','Units','normalized','resize','off',... 'menubar','none','position',[0 .06 1 .85],'Color',[.6 .3 .2], ... 'NumberTitle','off'); men0=uimenu('Label','Archivo'); men01=uimenu(men0,'Label','Abrir...','callback',[... '[datafile,fid]=uigetfile(''*.mat'',''Elija el archivo de resultados que desea ver'');',... 'edit (datafile);'] ); men02=uimenu(men0,'Label','Guardar txt...','callback',[... 'if aceptar2==0,',... 'Hd_error3=warndlg(''Pulsar antes el botón ACEPTAR'',''Error'');',... 'else,',... '[datafile,fid]=uiputfile(''*.txt'',''Introduzca el nombre del archivo'');',... 'fid=fopen(datafile,''w'');',... 'fprintf(fid,''DATOS DE ENTRADA \n'');',... 'fprintf(fid,''\n'');',... 'fprintf(fid,''Cilindrada (cm3)= %1.0f\n'',C);',... 'fprintf(fid,''Radio cigueñal (cm)= %1.2f\n'',RR);',... 'fprintf(fid,''Longitud biela (cm)= %1.2f\n'',LL);',... 'fprintf(fid,''Diámetro del cilindro (cm)= %1.2f\n'',DD);',... 'fprintf(fid,''Número de cilindros= %1.0f\n'',Z);',... 'fprintf(fid,''Relación de compresión= %1.0f\n'',RC);',... 'fprintf(fid,''Temp. exterior (ºC)= %1.2f\n'',TEE);',... 'fprintf(fid,''Pres. exterior (bar)= %1.2f\n'',PEE);',... 'fprintf(fid,''Temp. refrigerante (ºC)= %1.2f\n'',TWW);',... 'fprintf(fid,''Humedad relativa = %1.0f\n'',HR);',... 'fprintf(fid,''Indice de cetano = %1.0f\n'',CN);',... 'fprintf(fid,''Agua en combustible = %1.0f\n'',Agua);',... 'fprintf(fid,''Poder calorífico (MJ/Kg)= %1.0f\n'',Hc/1000);',... 'fprintf(fid,''AAA (º)= %1.0f\n'',AAA*180/pi);',... 'fprintf(fid,''RCA (º)= %1.0f\n'',RCA*180/pi);',... 'fprintf(fid,''AAE (º)= %1.0f\n'',AAE*180/pi);',... 'fprintf(fid,''RCE (º)= %1.0f\n'',RCE*180/pi);',... 'fprintf(fid,''\n'');',... 'fprintf(fid,''Análisis de fugas\n'');',... 'fprintf(fid,''Número de segmentos = %1.2f'',Za);',... 'fprintf(fid,''\n'');',... 'fprintf(fid,''Edad (años) = %1.2f'',Edad);',... 'fprintf(fid,''\n'');',... 'fprintf(fid,''\n'');',... 'fprintf(fid,''Variables\n'');',... 'fprintf(fid,''Régimen de giro (rpm) = %1.0f\n'',RPM);',... 'fprintf(fid,''EGR = %1.0f\n'',EGR);',... 'fprintf(fid,''Carga = %1.0f\n'',Carga);',... 'datos=[IIE_iterativo3 ;Rend_vol_iterativo3;ang_retraso_iterativo3;potencia_efectiva_iterativo3;par_efectivo_iterativo3;temp_max_iterativo3;pres_max_iterativo3*10^-5];',... 'fprintf(fid,''\n'');',... 'fprintf(fid,'' Iny. RV Retraso Pot. efec. Par efec. Temp. max. Presión max.\n'');',... 'fprintf(fid,'' (º) (kw) (N·m) (K) (bar).\n'');',... 'fprintf(fid,''%1.0f %1.3f %1.2f %1.1f %1.0f %1.2f %1.2f\n'',datos);',... 'fclose(fid);',... 'end']); men03=uimenu(men0,'Label','Guardar bin...','callback',[... 'if aceptar2==0,',... 'Hd_error3=warndlg(''Pulsar antes el botón ACEPTAR'',''Error'');',... 'else,',... '[datafile,fid]=uiputfile(''*.mat'',''Introduzca el nombre del archivo'');',... 'datos=[IIE_iterativo3 ;Rend_vol_iterativo3;ang_retraso_iterativo3;potencia_efectiva_iterativo3;par_efectivo_iterativo3;temp_max_iterativo3;pres_max_iterativo3*10^-5];',... 'fid=fopen(datafile,''w'');',... 'fprintf(fid,''%f %f %f %f %f %f %f\n'',datos);',... 'fclose(fid);',... 'end']); men04=uimenu(men0,'Label','Especificar Impresora...','callback','print -dsetup'); men05=uimenu(men0,'Label','Imprimir','callback','print'); men06=uimenu(men0,'Label','Salir de MECDI','Callback',['clear all;','close all']); men1=uimenu('Label','Ayuda'); men11=uimenu(men1,'Label','Ayuda','callback','ayuda'); men12=uimenu(men1,'Label','Acerca de MECDI','callback','infor;'); ejes=axes( ... 'Units','normalized',... 'FontName','times','fontsize',8, 'Position',[.10 .47 .45 .45]); %=================================== top=0.35; left=0.04; right=0.75; bottom=0.05; labelHt=0.05; spacing=0.005; frmBorder=0.02; frmPos=[left-frmBorder bottom-frmBorder ... (right-left)+2*frmBorder (top-bottom)+2*frmBorder]; %Zona de mensajes mcwPos=[left bottom (right-left) .035]; textome=uicontrol( ... 'Style','text', ... 'Units','normalized', ... 'Max',10,'HorizontalAlignment','center', ... 'BackgroundColor',[1 1 1], ... 'Position',mcwPos, ... 'String','Seleccione un valor para las variables anteriores ...'); %Marco inferior uicontrol( ... 'Style','frame', ... 'Units','normalized', ... 'Position',frmPos, ... 'BackgroundColor',[.5 .5 .6]); %Título del marco inferior labelPos=[left top-.03 right-left .03]; uicontrol( ... 'Style','text', ... 'Units','normalized', ... 'Position',labelPos, ... 'BackgroundColor',[.4 .4 .6], ... 'ForegroundColor',[1 1 1], ... 'String','Variables'); %==================================== %Barra de deslizamiento y etiquetas para rpm btnPos=[.16 .13 .02 .15]; Hc_91=uicontrol( ... 'Style','Slider', ... 'Units','normalized', ... 'Position',btnPos,'value',ralenti,... 'sliderstep',[0.025 0.2],... 'Min',ralenti,'Max',rev_maxima,... 'callback',['set(texto9,''string'',num2str(get(Hc_91,''value'')))']); btnPos=[.10 .21 .04 .03]; uicontrol(... 'Style','text','HorizontalAlignment','center', ... 'Units','normalized','BackgroundColor',[.5 .5 .6],... 'Position',btnPos,'string','RPM:'); texto9=uicontrol(... 'Style','text','HorizontalAlignment','center', ... 'Units','normalized','BackgroundColor',[.5 .5 .6],... 'Position',[.09 .17 .05 .03],'string',num2str(get(Hc_91,'value'))); %==================================== %Barra de deslizamiento para EGR btnPos=[.30 .13 .02 .15]; Hc_92=uicontrol( ... 'Style','Slider', ... 'Units','normalized', ... 'Position',btnPos,'Value',0,... 'Min',0,'Max',20,... 'sliderstep',[0.05 0.1],... 'callback',['set(texto10,''string'',num2str(get(Hc_92,''value'')))']); btnPos=[.22 .21 .07 .03]; uicontrol(... 'Style','text','HorizontalAlignment','center', ... 'Units','normalized','BackgroundColor',[.5 .5 .6],... 'Position',btnPos,'string','EGR(%):'); texto10=uicontrol(... 'Style','text','HorizontalAlignment','center', ... 'Units','normalized','BackgroundColor',[.5 .5 .6],... 'Position',[.21 .17 .07 .03],'string',num2str(get(Hc_92,'value'))); %==================================== %Barra de deslizamiento para la Carga btnPos=[.44 .13 .02 .15]; Hc_93=uicontrol( ... 'Style','Slider', ... 'sliderstep',[0.05 0.1],... 'Units','normalized', ... 'Position',btnPos,'Value',80,... 'Min',80,'Max',100,... 'callback',['set(texto11,''string'',num2str(get(Hc_93,''value'')))']); btnPos=[.34 .21 .10 .03]; uicontrol(... 'Style','text','HorizontalAlignment','center', ... 'Units','normalized','BackgroundColor',[.5 .5 .6],... 'Position',btnPos,'string','Carga(%):'); texto11=uicontrol(... 'Style','text','HorizontalAlignment','center', ... 'Units','normalized','BackgroundColor',[.5 .5 .6],... 'Position',[.36 .17 .07 .03],'string',num2str(get(Hc_93,'value'))); %==================================== %Botón ACEPTAR btnPos=[left+.513 .21 .15 .08]; Hc_76=uicontrol( ... 'Style','pushbutton', ... 'Units','normalized', ... 'Position',btnPos, ... 'String','ACEPTAR'); %Tanto por ciento de programa ejecutado Hc_67=uicontrol(... 'style','text',... 'Units','normalized',... 'position',[.55 .14 .1 .03],... 'HorizontalAlignment','left', ... 'string','completado:'); completado=uicontrol(... 'style','text',... 'Units','normalized',... 'position',[.65 .14 .03 .03],... 'HorizontalAlignment','right', ... 'string','0'); Hc_68=uicontrol(... 'style','text',... 'Units','normalized',... 'position',[.68 .14 .02 .03],... 'HorizontalAlignment','left', ... 'string','%'); %==================================== %Información para todos los botones labelColor=[0.8 0.8 0.8]; top=0.97; btnWid=0.15; btnHt=0.08; spacing=0.02; frmBorder=0.02; bottom=.03; yPos=0.05-frmBorder; marc=.01; left=1-btnWid-2*frmBorder-marc; %==================================== %Marco inferior derecho frmPos=[left bottom btnWid+2*frmBorder 1-top+2*btnHt+spacing+.051-bottom]; uicontrol( ... 'Style','frame', ... 'Units','normalized', ... 'Position',frmPos, ... 'BackgroundColor',[0.5 0.5 0.6]); %Marco superior derecho yPos=1-top+2*btnHt+spacing+.053; frmPos=[left yPos btnWid+2*frmBorder 2*frmBorder+8*btnHt+7*spacing]; uicontrol( ... 'Style','frame', ... 'Units','normalized', ... 'Position',frmPos, ... 'BackgroundColor',[0.5 0.5 0.6]); %==================================== % Gráficos btnNumber=1; Hc_57=uicontrol( ... 'Style','text', ... 'Units','normalized', ... 'Position',[.82 .93 .15 .04], ... 'background',[.5 .5 .6],... 'String','GRÁFICOS'); %==================================== % Rend. volumétrico btnNumber=1; Hc_80=uicontrol( ... 'Style','pushbutton', ... 'Units','normalized', ... 'Position',[.82 .86 .15 .06], ... 'String','Rend. volumétrico'); %==================================== % áng. retraso btnNumber=3; Hc_81=uicontrol( ... 'Style','pushbutton', ... 'Units','normalized', ... 'Position',[.82 .79 .15 .06], ... 'String','Áng. retraso'); %==================================== % pot. efectiva btnNumber=2; Hc_82=uicontrol( ... 'Style','pushbutton', ... 'Units','normalized', ... 'Position',[.82 .72 .15 .06], ... 'String','Pot. efectiva'); %==================================== % par efectivo btnNumber=2; Hc_83=uicontrol( ... 'Style','pushbutton', ... 'Units','normalized', ... 'Position',[.82 .65 .15 .06], ... 'String','Par efectivo'); %==================================== % presión media efectiva btnNumber=4; Hc_84=uicontrol( ... 'Style','pushbutton', ... 'Units','normalized', ... 'Position',[.82 .58 .15 .06], ... 'String','pme'); %==================================== % rendimiento efectivo btnNumber=4; Hc_85=uicontrol( ... 'Style','pushbutton', ... 'Units','normalized', ... 'Position',[.82 .51 .15 .06], ... 'String','Rend. efectivo'); %==================================== % consumo especifico btnNumber=4; Hc_86=uicontrol( ... 'Style','pushbutton', ... 'Units','normalized', ... 'Position',[.82 .44 .15 .06], ... 'String','Consumo'); %==================================== % botón ANÁLISIS Hc_64a=uicontrol( ... 'Style','push', ... 'Units','normalized', ... 'Position',[.82 .18 .15 .06], ... 'String','ANÁLISIS'); %==================================== % botón NUEVO Hc_64=uicontrol( ... 'Style','push', ... 'Units','normalized', ... 'Position',[.82 .11 .15 .06], ... 'String','NUEVO'); %==================================== %Botón CERRAR Hc_65=uicontrol( ... 'Style','push', ... 'Units','normalized', ... 'Position',[.82 .04 .15 .06], ... 'String','CERRAR', ... 'Callback',['clear;',... 'clear global;',... 'close all']); %=================================== % Zoom Hc_66=uicontrol( ... 'Style','push', ... 'Units','normalized', ... 'Position',[.6 .8 .15 .1], ... 'String','ZOOM'); %=================================== % Párametros iniciales Hc_69=uicontrol( ... 'Style','push', ... 'Units','normalized', ... 'Position',[.6 .65 .15 .1], ... 'String','PARÁMETROS','callback','pantalla3;'); %=================================== %Botones de pantalla %Aceptar set(Hc_76,'callback',[... 'aceptar2=1;',... 'plot(0,0);',... 'RPM=get(Hc_91,''value'');',... 'EGR=get(Hc_92,''value'');',... 'Carga=get(Hc_93,''value'');',... 'set(textome,''string'',''Ejecutando ...'');',... 'contador=1;',... 'programa3;',... 'set(textome,''string'',''Elija la representación de resultados que desee visualizar'');',... ]); %Gráficos set(Hc_80,'callback',['zoom off;',... 'if aceptar2==0,',... 'Hd_error3=warndlg(''Pulsar antes el botón ACEPTAR'',''Error'');',... 'else,',... 'plot(IIE_iterativo3,Rend_vol_iterativo3,-20,0.4);'... 'title(''Rendimiento volumétrico'');'... 'grid;'... 'end']); set(Hc_81,'callback',['zoom off;',... 'if aceptar2==0,',... 'Hd_error3=warndlg(''Pulsar antes el botón ACEPTAR'',''Error'');',... 'else,',... 'plot(IIE_iterativo3,ang_retraso_iterativo3);'... 'title(''Ángulo de retraso (º)'');'... 'grid;'... 'end']); set(Hc_82,'callback',['zoom off;',... 'if aceptar2==0,',... 'Hd_error3=warndlg(''Pulsar antes el botón ACEPTAR'',''Error'');',... 'else,',... 'plot(IIE_iterativo3,potencia_efectiva_iterativo3);'... 'title(''potencia efectiva (kw)'');'... 'grid;'... 'end']); set(Hc_83,'callback',['zoom off;',... 'if aceptar2==0,',... 'Hd_error3=warndlg(''Pulsar antes el botón ACEPTAR'',''Error'');',... 'else,',... 'plot(IIE_iterativo3,par_efectivo_iterativo3);'... 'title(''Par efectivo (N·m)'');'... 'grid;'... 'end']); set(Hc_84,'callback',['zoom off;',... 'if aceptar2==0,',... 'Hd_error3=warndlg(''Pulsar antes el botón ACEPTAR'',''Error'');',... 'else,',... 'plot(IIE_iterativo3,pme3);'... 'title(''Presión media efectiva (bar)'');'... 'grid;'... 'end']); set(Hc_85,'callback',['zoom off;',... 'if aceptar2==0,',... 'Hd_error3=warndlg(''Pulsar antes el botón ACEPTAR'',''Error'');',... 'else,',... 'plot(IIE_iterativo3,Rend_efectivo3);'... 'title(''Rendimiento efectivo'');'... 'grid;'... 'end']); set(Hc_86,'callback',['zoom off;',... 'if aceptar2==0,',... 'Hd_error3=warndlg(''Pulsar antes el botón ACEPTAR'',''Error'');',... 'else,',... 'plot(IIE_iterativo3,consumo3);'... 'title(''Consumo específico (g/kw·h)'');'... 'grid;'... 'end']); %Zoom set(Hc_66,'callback','zoom on'); %Botón ANÁLISIS set(Hc_64a,'callback',[... 'close;'... 'pantalla1_1;']); %Botón NUEVO set(Hc_64,'callback',[... 'close;',... 'MECDI1;']);