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

📄 xianshi.asv

📁 大量遗传算法实现程序
💻 ASV
📖 第 1 页 / 共 3 页
字号:
function  init_FigureContent( h )
       
handles = guidata( h ) ;

% get the T_SimulationData .
T_SimulationData = getappdata( handles.xianshi, 'T_SimulationData' ) ;
if isempty( T_SimulationData )
    T_SimulationData = T_youhua( 'Get_DefaultT_SimulationData' ) ;    
    % save the data .
    setappdata( handles.xianshi, 'T_SimulationData', T_SimulationData ) ;
end
% get the T_SimulationData .
x1=T_SimulationData.Position_yh(1).x1;
x2=T_SimulationData.Position_yh(1).x2;
x3=T_SimulationData.Position_yh(1).x3;
x4=T_SimulationData.Position_yh(1).x4;
x5=T_SimulationData.Position_yh(1).x5;
x6=T_SimulationData.Position_yh(1).x6;
x7=T_SimulationData.Position_yh(1).x7;
x8=T_SimulationData.Position_yh(1).x8;
x9=T_SimulationData.Position_yh(1).x9;
x10=T_SimulationData.Position_yh(1).x10;
x11=T_SimulationData.Position_yh(1).x11;
x12=T_SimulationData.Position_yh(1).x12;
xb=T_SimulationData.Position_yh(1).xb;
yb=T_SimulationData.Position_yh(1).yb;
xc=T_SimulationData.Position_yh(1).xc;
yc=T_SimulationData.Position_yh(1).yc;
xm=T_SimulationData.Position_yh(1).xm;
ym=T_SimulationData.Position_yh(1).ym;
axes(handles.ax_plot);

ax=[x3 xb];ay=[x4 yb];
bx=[x5 xc];by=[x6 yc];
cx=[x1 xb xc x1];cy=[x2 yb yc x2];
plot(ax,ay,'LineWidth',3);hold on;
plot(bx,by,'LineWidth',3);hold on;
plot(cx,cy,'LineWidth',3);hold on;
plot(0,0,'LineWidth',3); hold on;
plot(x1,x2,'bo','color','r','MarkerSize',6);hold on;	
plot(xb,yb,'bo','color','r','MarkerSize',6);hold on;
plot(xc,yc,'bo','color','r','MarkerSize',6);hold on;
plot(xm,ym,'bo','color','r','MarkerSize',6);hold on;
text(x1-20,x2+20,'\fontsize{16} \fontname{隶书}A');	
text(xb,yb-15,'\fontsize{16} \fontname{隶书}B');	
text(xc,yc+30,'\fontsize{16} \fontname{隶书}C');	
text(xm-30,ym,'\fontsize{16} \fontname{隶书}M');	
plot(x3,x4,'r*','color','r','MarkerSize',8);hold on;
plot(0,0,'r*','color','r','MarkerSize',8);hold on;
plot(x5,x6,'r*','color','r','MarkerSize',8);hold on;
text(x3,x4,'\fontsize{16} \fontname{隶书}O1');	
text(x5,x6,'\fontsize{16} \fontname{隶书}O2');	
text(0,0,'\fontsize{16} \fontname{隶书}O');
grid on;hold off;
set(handles.ax_plot,'XDir','reverse','YAxisLocation','right','XLim',[-200 xb+500],'YLim',[x6-100 x2+200]);
xlabel('\fontsize{10} \bfx(毫米) \leftarrow')							
ylabel('\fontsize{10} \bfy(毫米) \rightarrow')		
title('\it T型自卸汽车示例图')						


% --------------------------------------------------------------------------
function  PreviousButton_Callback( h )
       
handles = guidata( h ) ;

% get the T_SimulationData .
T_SimulationData = getappdata( handles.xianshi, 'T_SimulationData' ) ;

% return the simulate figure .
yichuan( T_SimulationData ) ;


% close the current figure .
pause(0) ;
close( handles.xianshi ) ;



% --------------------------------------------------------------------------
function SaveResult_Callback(h)

handles = guidata( h ) ;


PromptString = '保存结果文件.' ;
MessageString = '保存结果文件成功。 ' ;

[ FileName , PathName ] = uiputfile( {'*.fig','结果文件(*.fig)'}, PromptString ) ;


if FileName == 0
    return ;    
else
    
    [TempPathName, FileName, FileTypeName, Version] = fileparts( FileName ) ;

    if ~strcmp( FileTypeName, '.fig' ) ;
        FileTypeName = '.fig' ;
    else
    end
    SaveFile = fullfile( PathName, [FileName, FileTypeName, Version] ) ;
end


% save the result  file .
hgsave( handles.ax_plot, SaveFile ) ;


msgbox( MessageString ) ;
%-----------------------------------------------------------


function  DataLoadResult_Callback( h )
       

handles = guidata( h ) ;


PromptString = '选择数据文件.' ;
WarningString1 = '文件格式出错。 ' ;
WarningString2 = '选择的文件不是正确的数据文件。 ' ;


[ FileName , PathName ] = uigetfile( {'*.mat','数据文件(*.mat)'}, PromptString ) ;


if FileName == 0
    return ;    
else
    
    [TempPathName, FileName, FileTypeName, Version] = fileparts( FileName ) ;

    if ~strcmp( FileTypeName, '.mat' ) ;
        warndlg( WarningString1, '警告', 'modal' ) ;
        return ;
    end
    SaveFile = fullfile( PathName, [FileName, FileTypeName, Version] ) ;
end

T_SimulationData = [] ;
try
    load( SaveFile, 'T_SimulationData' ) ;
catch
end

if isempty( T_SimulationData ) | ~isstruct( T_SimulationData );
 
    
    warndlg( WarningString1, '警告', 'modal' ) ;
    return ;
end


% save the data .
setappdata( handles.xianshi, 'T_SimulationData', T_SimulationData ) ;

% display the new data .
init_FigureContent( h ) ;

%-----------------------------------------------------------


function  DataSaveResult_Callback( h )
       

handles = guidata( h ) ;

% get the T_SimulationData .
T_SimulationData = getappdata( handles.xianshi, 'T_SimulationData' ) ;


PromptString = '保存数据文件.' ;
MessageString = '保存数据文件成功。 ' ;

[ FileName , PathName ] = uiputfile( {'*.mat','数据文件(*.mat)'}, PromptString ) ;


if FileName == 0
    return ;    
else
    
    [TempPathName, FileName, FileTypeName, Version] = fileparts( FileName ) ;

    if ~strcmp( FileTypeName, '.mat' ) ;
        FileTypeName = '.mat' ;
    else
    end
    SaveFile = fullfile( PathName, [FileName, FileTypeName, Version] ) ;
end


if strcmp( lower( FileName ), 'imagedata' ) ;
    warndlg( '不能覆盖系统文件:ImageData.mat。', '警告', 'modal' ) ;
    return ;    
end


% save the result  file .
save( SaveFile, 'T_SimulationData' ) ;


msgbox( MessageString ) ;




% --------------------------------------------------------------------------
function  NextButton_Callback( h )
       
handles = guidata( h ) ;
T_SimulationData = getappdata( handles.xianshi, 'T_SimulationData' ) ;

% open the next figure .
zuihou( T_SimulationData ) ;
% close the current figure .
pause(0) ;
close( handles.xianshi ) ;


%--------------------------------------------------------------------------
function  pushbotton1_Callback( h )
handles = guidata( h ) ;
 %get the T_SimulationData .
T_SimulationData = getappdata( handles.xianshi, 'T_SimulationData' ) ;
angel = T_SimulationData.Jiaodu;
Zhongliang = T_SimulationData.Zhongliang;
 for i=1:(angel+1);
     x(i)=Zhongliang*T_SimulationData.Position(i).fj ;
 end
 t=0:angel;
 axes(handles.ax_plot);
 plot(t,x);
 hold on;grid on;hold on;

%------------------------------------------------------
 for i=1:(angel+1);
     y(i)=Zhongliang*T_SimulationData.Position_yh(i).fj ;
 end
 plot(t,y,'color','r');
 hold on;grid on;hold on;
 [n,z]=max(x);
m=z-1;
ystr=['Fomax = ',sprintf('%1.4g',n)];
tstr=['t = ',sprintf('%1.4g',m)];
text(m,n,{ystr;tstr},'color','b')
plot((z-1),n,'ro','color','b','MarkerSize',6);hold on;
 [n,z]=max(y);
m=z-1;
ystr=['Fomax = ',sprintf('%1.4g',n)];
tstr=['t = ',sprintf('%1.4g',m)];
text(m,n-30000,{ystr;tstr},'color','r')
plot((z-1),n,'ro','color','r','MarkerSize',6);hold off;

xlabel('\fontsize{10} \bft(度) \rightarrow')							
ylabel('\fontsize{10} \bfFo(牛顿) \rightarrow')	
title('\it 举升机构举升力曲线')	
legend('优化前','优化后');
%--------------------------------------------------------------------------
function  pushbotton2_Callback( h )
handles = guidata( h ) ;
 %get the T_SimulationData .
T_SimulationData = getappdata( handles.xianshi, 'T_SimulationData' ) ;
angel = T_SimulationData.Jiaodu;
Zhongliang = T_SimulationData.Zhongliang;
 for i=1:(angel+1);
     x(i)=Zhongliang*T_SimulationData.Position(i).fa ;
 end
 t=0:angel;
 axes(handles.ax_plot);
 plot(t,x);
 hold on;grid on;hold on;

%------------------------------------------------------
 for i=1:(angel+1);
     y(i)=Zhongliang*T_SimulationData.Position_yh(i).fa ;
 end
 plot(t,y,'color','r');
 hold on;grid on;hold on;
 [n,z]=max(x);
m=z-1;
ystr=['Famax = ',sprintf('%1.4g',n)];
tstr=['t = ',sprintf('%1.4g',m)];
text(m,n,{ystr;tstr},'color','b')
plot((z-1),n,'ro','color','b','MarkerSize',6);hold on;
 [n,z]=max(y);
m=z-1;
ystr=['Famax = ',sprintf('%1.4g',n)];
tstr=['t = ',sprintf('%1.4g',m)];
text(m,n-30000,{ystr;tstr},'color','r')
plot((z-1),n,'ro','color','r','MarkerSize',6);hold off;

xlabel('\fontsize{10} \bft(度) \rightarrow')							
ylabel('\fontsize{10} \bfFa(牛顿) \rightarrow')	
title('\it 拉杆力受力曲线')	
legend('优化前','优化后');
%--------------------------------------------------------------------------
function  pushbotton3_Callback( h )
handles = guidata( h ) ;
 %get the T_SimulationData .
T_SimulationData = getappdata( handles.xianshi, 'T_SimulationData' ) ;
angel = T_SimulationData.Jiaodu;
Zhongliang = T_SimulationData.Zhongliang;
 for i=1:(angel+1);
     x(i)=Zhongliang*T_SimulationData.Position(i).fo ;
 end
 t=0:angel;
 axes(handles.ax_plot);
 plot(t,x);
 hold on;grid on;hold on;

%------------------------------------------------------
 for i=1:(angel+1);
     y(i)=Zhongliang*T_SimulationData.Position_yh(i).fo ;
 end
 plot(t,y,'color','r');
 hold on;grid on;hold on;
 [n,z]=max(x);
m=z-1;
ystr=['Fjmax = ',sprintf('%1.4g',n)];
tstr=['t = ',sprintf('%1.4g',m)];
text(m,n,{ystr;tstr},'color','b')
plot((z-1),n,'ro','color','b','MarkerSize',6);hold on;
 [n,z]=max(y);
m=z-1;
ystr=['Fjmax = ',sprintf('%1.4g',n)];
tstr=['t = ',sprintf('%1.4g',m)];
text(m,n-30000,{ystr;tstr},'color','r')
plot((z-1),n,'ro','color','r','MarkerSize',6);hold off;
xxx=0:50;
yyy=[xxx*Zhongliang*T_SimulationData.Position_yh(1).fo;
plot(,yyy);

xlabel('\fontsize{10} \bft(度) \rightarrow')							
ylabel('\fontsize{10} \bfFj(牛顿) \rightarrow')	
title('\it 液压缸受力曲线')	
legend('优化前','优化后');	
%--------------------------------------------------------------------------
function  pushbotton4_Callback( h )
handles = guidata( h ) ;
 %get the T_SimulationData .
T_SimulationData = getappdata( handles.xianshi, 'T_SimulationData' ) ;
angel = T_SimulationData.Jiaodu;
Zhongliang = T_SimulationData.Zhongliang;
 for i=1:(angel+1);
     x(i)=Zhongliang*T_SimulationData.Zhizuo(i).ffa;
 end

⌨️ 快捷键说明

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