⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pablo.m

📁 一个可以生成标准翼型坐标
💻 M
📖 第 1 页 / 共 3 页
字号:
       'HorizontalAlignment','left',...       'FontWeight','bold', ...       'SelectionHighlight','off', ...       'String',' Lin. Vortex', ...       'callback','pablo(''vselected'')', ...       'Interruptible','off');   %====================================   % The Hold on  button   yPos=yPos - 2*btnHt/3;   btnPos=[xPos yPos 1.32*btnWid btnHt/3];   holdonHndl = uicontrol( ...       'Style','checkbox', ...       'Units','normalized', ...       'Position',btnPos, ...       'BackgroundColor',back, ...       'ForegroundColor','k', ...       'FontUnits','normalized', ...       'Fontsize',[.4], ...       'HorizontalAlignment','left',...       'SelectionHighlight','off', ...       'String','  Hold on (Cp)', ...       'Interruptible','off');   %====================================   % The plot bl parameters  button   yPos=yPos - btnHt/3;   btnPos=[xPos yPos 1.32*btnWid btnHt/3];   plotblHndl = uicontrol( ...       'Style','checkbox', ...       'Units','normalized', ...       'Position',btnPos, ...       'BackgroundColor',back, ...       'ForegroundColor','k', ...       'FontUnits','normalized', ...       'Fontsize',[.4], ...       'HorizontalAlignment','left',...       'SelectionHighlight','off', ...       'String','  Plot BL parameters', ...       'Interruptible','off');   %====================================   % The SHAPE  button   btnWid=0.19;   spacing=0.05;   btnHt2 = 0.6*btnHt;   shapebtn=uicontrol( ...        'Style','push', ...        'Units','normalized', ...        'Position',[left bottom btnWid btnHt2], ...        'FontUnits','normalized', ...        'Fontsize',[.33], ...        'String','Shape', ...        'Interruptible','on', ...        'Callback','pablo(''shape'')');    %====================================   % The Cp source  button   cpbtn=uicontrol( ...        'Style','push', ...        'Units','normalized', ...        'Position',[left+btnWid+spacing bottom btnWid btnHt2], ...        'FontUnits','normalized', ...        'Fontsize',[.33], ...        'String','Flow solution', ...        'Interruptible','on', ...        'Callback','pablo(''cp'')');   %====================================   % The INFO button   infoHndl = uicontrol( ...	'Style','push', ...        'Units','normalized', ...        'Position',[left+2*btnWid+2*spacing bottom btnWid btnHt2], ...        'FontUnits','normalized', ...        'Fontsize',[.33], ...        'String','Info', ...        'Callback','pablo(''info'')');   %====================================   % The CLOSE button   closeHndl = uicontrol( ...	'Style','push', ...        'Units','normalized', ...        'Position',[0.77 bottom 0.198 btnHt2], ...        'FontUnits','normalized', ...        'Fontsize',[.33], ...        'String','Exit', ...        'Callback','close all');   % Now uncover the figure   set(figNumber,'Visible','on');   hndlList=[nbpanelsHndl alfaHndl nacaHndl libHndl ...              naca1Hndl naca2Hndl naca34Hndl libpush ...             sHndl dHndl vHndl shapebtn cpbtn infoHndl ...             closeHndl currentA ellipseHndl ellipseratio holdonHndl ...             viscousHndl reynoldsHndl plotblHndl];%    Just to remember : %%    nbpanelsHndl   = hndlList(1);%    alfaHndl       = hndlList(2);%    nacaHndl       = hndlList(3);%    libHndl        = hndlList(4);%    naca1Hndl      = hndlList(5);%    naca2Hndl      = hndlList(6);%    naca34Hndl     = hndlList(7);%    libpush        = hndlList(8);%    sHndl          = hndlList(9);%    dHndl          = hndlList(10);%    vHdnl          = hndlList(11);%    shapebtn       = hndlList(12);%    cpbtn          = hndlList(13);%    infoHndl       = hndlList(14);%    closeHndl      = hndlList(15);%    currentA       = hndlList(16);%    ellipseHndl    = hndlList(17);%    ellipseratio   = hndlList(18);%    holdonHndl     = hndlList(19);%    viscousHndl    = hndlList(20);%    reynoldsHndl   = hndlList(21);%    plotblHndl     = hndlList(22);   set(figNumber,'Visible','on', 'UserData',hndlList);    elseif strcmp(action,'nbpanels'),    v = get(gco,'UserData');    s = get(gco,'String');    vv = eval(s,num2str(v));    if vv>999, vv=v; end;     if vv<0, vv = v; end;    if rem(vv,2) ~= 0, vv = vv-1; end;    vv = round(vv);    set(gco,'Userdata',vv,'String',num2str(vv));elseif strcmp(action,'alfa'),    global firstcp;    firstcp = 0;    v = get(gco,'UserData');    s = get(gco,'String');    vv = eval(s,num2str(v));    set(gco,'Userdata',vv,'String',num2str(vv));elseif strcmp(action,'reynolds'),    mes = 0;    v = get(gco,'UserData');    s = get(gco,'String');    vv = eval(s,num2str(v));    if vv>40e6, vv=v; mes = 1; end;     if vv<1e5, vv = v; mes = 1; end;    if mes== 1,         cla;        title('Transition model only valid for Reynolds Number between 1e5 and 40e6 !', ...          'Fontsize',[14],'Color','k');    end;    set(gco,'Userdata',vv,'String',num2str(vv));elseif strcmp(action,'nacaselected'),    global firstcp;    firstcp = 0;    hndlList=get(gcf,'UserData');    nacaHndl = hndlList(3);    libHndl = hndlList(4);    ellipseHndl = hndlList(17);    if get(nacaHndl,'value')==0       set(nacaHndl,'value',1);    else       set(ellipseHndl,'value',0);       set(libHndl,'value',0);    end; elseif strcmp(action,'libselected'),    global firstcp;    firstcp = 0;    hndlList=get(gcf,'UserData');    nacaHndl = hndlList(3);    libHndl = hndlList(4);    ellipseHndl = hndlList(17);    if get(libHndl,'value')==0       set(libHndl,'value',1);    else       set(nacaHndl,'value',0);       set(ellipseHndl,'value',0);    end; elseif strcmp(action,'ellipseselected'),     global firstcp;    firstcp = 0;    hndlList=get(gcf,'UserData');    nacaHndl = hndlList(3);    libHndl = hndlList(4);    ellipseHndl = hndlList(17);    if get(ellipseHndl,'value')==0       set(ellipseHndl,'value',1);    else       set(nacaHndl,'value',0);       set(libHndl,'value',0);    end; elseif strcmp(action,'sselected'),    hndlList=get(gcf,'UserData');    sHndl = hndlList(9);    dHndl = hndlList(10);    vHndl = hndlList(11);    if get(sHndl,'value')==0       set(sHndl,'value',1);    else       set(dHndl,'value',0);        set(vHndl,'value',0);     endelseif strcmp(action,'dselected'),    hndlList=get(gcf,'UserData');    sHndl = hndlList(9);    dHndl = hndlList(10);    vHndl = hndlList(11);    if get(dHndl,'value')==0       set(dHndl,'value',1);    else       set(sHndl,'value',0);        set(vHndl,'value',0);     endelseif strcmp(action,'vselected'),    hndlList=get(gcf,'UserData');    sHndl = hndlList(9);    dHndl = hndlList(10);    vHndl = hndlList(11);    if get(vHndl,'value')==0       set(vHndl,'value',1);    else       set(dHndl,'value',0);        set(sHndl,'value',0);     endelseif strcmp(action,'selectinlib');    global firstcp;    firstcp = 0;    hndlList=get(gcf,'UserData');    libHndl = hndlList(4);    if get(libHndl,'value')==1      filename = uigetfile('*.DAT','Airfoil Library');      if filename~=0         select = filename(1,1:size(filename,2)-4);         currentA = hndlList(16);         set(currentA,'String',['Current : ',select]);      end;    end;elseif strcmp(action,'NACA1'),    global firstcp;    firstcp = 0;    hndlList=get(gcf,'UserData');    holdonHndl     = hndlList(19);    set(holdonHndl,'value',0);    v = get(gco,'UserData');    s = get(gco,'String');    vv = eval(s,num2str(v));    if vv<0, vv = v; end;    if vv>9, vv = v; end;    vv = round(vv);    set(gco,'Userdata',vv,'String',num2str(vv));elseif strcmp(action,'NACA2'),    global firstcp;    firstcp = 0;    hndlList=get(gcf,'UserData');    v = get(gco,'UserData');    s = get(gco,'String');    vv = eval(s,num2str(v));    if vv<0, vv = v; end;    if vv>9, vv = v; end;    vv = round(vv);    set(gco,'Userdata',vv,'String',num2str(vv));elseif strcmp(action,'NACA34'),    global firstcp;    firstcp = 0;    hndlList=get(gcf,'UserData');    holdonHndl     = hndlList(19);    set(holdonHndl,'value',0);    v = get(gco,'UserData');    s = get(gco,'String');    vv = eval(s,num2str(v));    if vv<1, vv = v; end;    if vv>99, vv = 12; end;    vv = round(vv);    set(gco,'Userdata',vv,'String',num2str(vv));elseif strcmp(action,'ratio'),    global firstcp;    firstcp = 0;    hndlList=get(gcf,'UserData');    v = get(gco,'UserData');    s = get(gco,'String');    vv = eval(s,num2str(v));    if vv<0, vv = v; end;    if vv>999, vv = v; end;    set(gco,'Userdata',vv,'String',num2str(vv));elseif strcmp(action,'shape'),    back = [0.34 0.67 0.6];    fore = [0.3 0.3 0.3];    figNumber=watchon;    hndlList=get(gcf,'UserData');    global firstcp;    firstcp = 0;    btnPos=[.04 0.11 .95 .11];    coeffHndl=uicontrol( ...       'Style','text', ...       'BackgroundColor',back, ...             'ForegroundColor',[0. 0. 0.], ...       'FontUnits','normalized', ...       'Fontsize',[.5], ...        'Units','normalized', ...       'Position',btnPos, ...       'String','');    btnPos=[.8 0.21 .198 .06];      coeffHndl=uicontrol( ...       'Style','text', ...       'BackgroundColor',back, ...             'ForegroundColor',[0. 0. 0.], ...       'FontUnits','normalized', ...       'Fontsize',[.5], ...        'Units','normalized', ...       'Position',btnPos, ...       'String','');    nbpanelsHndl   = hndlList(1);    nacaHndl       = hndlList(3);    libHndl        = hndlList(4);    naca1Hndl      = hndlList(5);    naca2Hndl      = hndlList(6);    naca34Hndl     = hndlList(7);    currentA       = hndlList(16);    ellipseratio   = hndlList(18);    holdonHndl     = hndlList(19);    nbp=get(nbpanelsHndl,'UserData');    if get(nacaHndl,'value') == 1      eps = get(naca1Hndl,'UserData');        p   = get(naca2Hndl,'UserData');        to  = get(naca34Hndl,'UserData');       z  = naca4([eps;p;to],[nbp/2,1]);      plot (z(:,1),z(:,2),'k');      grid; axis equal; hold off;      if to>9        title(['NACA ',num2str(eps),num2str(p),num2str(to)], ...          'Fontsize',[14],'Color','k');      else        title(['NACA ',num2str(eps),num2str(p),'0',num2str(to)], ...          'Fontsize',[14],'Color','k');

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -