【優化求解】基於蟻群演算法柵格地圖路徑規劃matlab
路徑規劃是實現移動機器人自主導航的關鍵技術,是指在有障礙物的環境中,按照一定的評價標準(如距離、時間、能耗等),尋找到一條從起始點到目標點的無碰撞路徑,這裡選取最短距離路徑規劃的評價標準,即最短路徑規劃問題。
1.路徑規劃數學模型的建立
將移動機器人周圍環境用一組資料進行抽象表達,建立二維或三維的環境模型,得到移動機器人能夠理解分析的環境資料,是機器人路徑規劃的基本前提。我這裡用的是柵格法,其原理是將周圍環境看成一個二維平面,將平面分成一個個等面積大小的具有二值資訊的柵格,每個柵格中儲存著周圍環境資訊量,下圖我給出了一個柵格法地圖,方便大家更好的理解柵格地圖。這裡設計的柵格地圖為一個20×20的地形矩陣,黑色的地方表示有障礙,白色的地方表示沒有障礙。
圖1 柵格法地圖
在用柵格法建立環境模型時,為了將環境資訊轉換成移動機器人可以識別的資料,一般採用序號法標記環境地圖資訊,即將柵格地圖中一個個柵格從序號1依次累加直到標記到最後一個柵格。如圖2所示。
圖2 序號法示意圖
另外,對於一幅帶有座標的柵格圖來說,每個柵格點有唯一的座標,假設柵格規模為x行y列,第i個柵格對應的位置由式(1)所示。
式中a為每個小方格畫素的邊長,ceil(n)取大於等於數值n的最小整數,mod(i,y)求i除以y的餘數。
每條路徑(從起點走到終點)的長度可以由式(2)計算得出。
在解決環境建模之後,我們需要設計機器人移動的方法,這裡我採用如圖3所示的八叉樹搜尋策略,即機器人在搜尋過程中可以朝附近八個方向的相鄰柵格之間的自由移動。
圖3 八叉樹搜尋策略
那麼,怎麼判斷一個柵格點是否為另一個柵格點的相鄰柵格點呢,另外,又怎麼判斷是否為有障礙柵格呢。這就需建立矩陣D,記錄每個柵格點至其相鄰柵格點的代價值。本例中柵格地圖有20×20個柵格點,則D的大小為400×400,其中列是起點柵格,行是區域性終點柵格,各柵格點至其各相鄰無障礙柵格點的代價值非零,而有障礙柵格及非相鄰柵格設為0。
這裡需要說明的是,我的MATLAB程式來自於:
版權宣告:本文為CSDN博主「qq_40443076」的原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處連結及本宣告。
原文連結:https://blog.csdn.net/qq_40443076/article/details/88179836
這裡主要介紹基於蟻群演算法的機器人最短路徑規劃的思路,以及我在執行MALTLAB程式的時候,學到的內容。
2.機器人最短路徑規劃的實現步驟
為了方便大家更好地理解蟻群演算法的原理及實現過程,其流程圖如圖4所示。(流程圖較長,我截圖了兩段。)
圖4 基於蟻群演算法的機器人最小路徑規劃流程圖
圖中公式(3)(4)的具體表達在下邊的具體步驟裡。
**步驟1:**給出柵格地圖的地形矩陣;初始化資訊素矩陣 Tau(記錄每個柵格至其他柵格的資訊素量),最大迭代次數K,螞蟻個數M,表徵資訊素重要程度的引數 、表徵啟發式資訊重要程度的引數 ,資訊素蒸發係數 ,資訊素增加強度係數Q及啟發式資訊矩陣
**步驟2:**構建啟發式資訊矩陣。按式(1)和式(2)計算每個柵格至目標點的距離,啟發式資訊素取為至目標點距離的倒數,距離越短,啟發式因子越大,障礙物處的啟發式資訊為0。建立矩陣D,用以儲存每個柵格點至各自相鄰無障礙柵格點的代價值。
**步驟3:**對於每一隻螞蟻,初始化螞蟻爬行的路徑及路徑長度,將禁忌列表全部初始化為1;螞蟻從起始點出發開始搜尋路徑,找出當前柵格點的所有無障礙相鄰柵格點(即矩陣D中相應元素不為0的柵格點),再根據禁忌列表篩選出當前可選擇的柵格點。
**步驟4:**如果起始點是目標點,且可選柵格點個數大於等於1,則根據式(3)計算螞蟻從當前柵格點轉移到各相鄰柵格點的概率,
並根據輪盤賭的方法選擇下一個柵格點。
**步驟5:**更新螞蟻爬行的路徑、路徑長度、矩陣D及禁忌列表。
**步驟6:**重複步驟4和5直到起始點為目標點或可選柵格點小於1,本次迭代中當前螞蟻尋路完畢,記錄該螞蟻的行走路線。
**步驟7:**如果該螞蟻最後一步是目標點,則計算路徑長度並與當前已知的最短路徑長度作比較,若本次路徑長度小於當前已知的最短路徑長度,則更新當前最短路徑長度及最短路徑;如果該螞蟻最後一步不是目標的,則只將路徑長度記為0。
**步驟8:**重複步驟3至步驟7直到M只螞蟻完成一輪路徑搜尋,按照式(4)更新資訊素。
**步驟9:**判斷是否滿足終止條件K,是結束蟻群演算法尋優並繪製最優規劃路徑,否則轉到步驟3。
function varargout = main_GUI_xu(varargin)
% MAIN_GUI_XU MATLAB code for main_GUI_xu.fig
% MAIN_GUI_XU, by itself, creates a new MAIN_GUI_XU or raises the existing
% singleton*.
%
% H = MAIN_GUI_XU returns the handle to a new MAIN_GUI_XU or the handle to
% the existing singleton*.
%
% MAIN_GUI_XU('CALLBACK',hObject,eventData,handles,...) calls the local
% function named CALLBACK in MAIN_GUI_XU.M with the given input arguments.
%
% MAIN_GUI_XU('Property','Value',...) creates a new MAIN_GUI_XU or raises the
% existing singleton*. Starting from the left, property value pairs are
% applied to the GUI before main_GUI_xu_OpeningFcn gets called. An
% unrecognized property name or invalid value makes property application
% stop. All inputs are passed to main_GUI_xu_OpeningFcn via varargin.
%
% *See GUI Options on GUIDE's Tools menu. Choose "GUI allows only one
% instance to run (singleton)".
%
% See also: GUIDE, GUIDATA, GUIHANDLES
% Edit the above text to modify the response to help main_GUI_xu
% Last Modified by GUIDE v2.5 22-Mar-2017 15:58:57
% Begin initialization code - DO NOT EDIT
gui_Singleton = 1;
gui_State = struct('gui_Name', mfilename, ...
'gui_Singleton', gui_Singleton, ...
'gui_OpeningFcn', @main_GUI_xu_OpeningFcn, ...
'gui_OutputFcn', @main_GUI_xu_OutputFcn, ...
'gui_LayoutFcn', [] , ...
'gui_Callback', []);
if nargin && ischar(varargin{1})
gui_State.gui_Callback = str2func(varargin{1});
end
if nargout
[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
else
gui_mainfcn(gui_State, varargin{:});
end
% End initialization code - DO NOT EDIT
% --- Executes just before main_GUI_xu is made visible.
function main_GUI_xu_OpeningFcn(hObject, eventdata, handles, varargin)
% This function has no output args, see OutputFcn.
% hObject handle to figure
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% varargin command line arguments to main_GUI_xu (see VARARGIN)
% Choose default command line output for main_GUI_xu
handles.output = hObject;
% Update handles structure
guidata(hObject, handles);
% UIWAIT makes main_GUI_xu wait for user response (see UIRESUME)
% uiwait(handles.figure1);
init_all(handles)
set(handles.edit38,'string','先選擇實驗目的,預設選擇目的一,即執行一種演算法');
% --- Outputs from this function are returned to the command line.
function varargout = main_GUI_xu_OutputFcn(hObject, eventdata, handles)
% varargout cell array for returning output args (see VARARGOUT);
% hObject handle to figure
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Get default command line output from handles structure
varargout{1} = handles.output;
% --- Executes on selection change in listbox1.
function listbox1_Callback(hObject, eventdata, handles)
% hObject handle to listbox1 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hints: contents = cellstr(get(hObject,'String')) returns listbox1 contents as cell array
% contents{get(hObject,'Value')} returns selected item from listbox1
% --- Executes during object creation, after setting all properties.
function listbox1_CreateFcn(hObject, eventdata, handles)
% hObject handle to listbox1 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called
% Hint: listbox controls usually have a white background on Windows.
% See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
% --- Executes on button press in pushbutton1.
function pushbutton1_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton1 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% 繪製柵格線和呼叫figure的螢幕回撥函式
global barrier pushbutton1_userdata
pushbutton1_userdata = 1; % 控制設計障礙物按鈕是否能夠使用
set(handles.edit38,'string','障礙物設計完成後,請點選輸出障礙物按鈕,否則容易出錯');
axes(handles.axes1)
cla reset
n_barrier = str2double(get(handles.edit1,'string'));
barrier = zeros(n_barrier,n_barrier);
axes(handles.axes1);
s.hf = get(handles.axes1,'parent');
% 繪製柵格邊線
for i=0:1:n_barrier
plot([0,n_barrier],[i,i],'color','k');
hold on
axis([0,n_barrier,0,n_barrier])
for j=0:1:n_barrier
plot([i,i],[0,n_barrier],'color','k') ;
hold on
axis([0,n_barrier,0,n_barrier])
end
end
% 設定figure的WindowButtonDownFcn屬性
set(s.hf,'WindowButtonDownFcn',@figure1_windowbuttondownfcn)
% --- Executes on selection change in popupmenu1.
function popupmenu1_Callback(hObject, eventdata, handles)
% hObject handle to popupmenu1 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hints: contents = cellstr(get(hObject,'String')) returns popupmenu1 contents as cell array
% contents{get(hObject,'Value')} returns selected item from popupmenu1
global barrier_select start_select goal_select pushbutton1_userdata barrier start goal
barrier_value = get(handles.popupmenu1,'value');
cd('barrier')
if barrier_value==2
barrier_select = xlsread('e_barrier');
start_select = 20;
goal_select = 295;
pushbutton1_userdata = 0;
elseif barrier_value==3
barrier_select = xlsread('simple_e');
start_select = 20;
goal_select = 295;
pushbutton1_userdata = 0;
elseif barrier_value==4
barrier_select = xlsread('u_barrier');
start_select = 1;
goal_select = 400;
pushbutton1_userdata = 0;
elseif barrier_value==5
barrier_select = xlsread('light_u_barrier');
start_select = 1;
goal_select = 400;
pushbutton1_userdata = 0;
elseif barrier_value==6
barrier_select = xlsread('right_u_barrier');
start_select = 1;
goal_select = 400;
pushbutton1_userdata = 0;
elseif barrier_value==7
barrier_select = xlsread('z_barrier');
start_select = 49;
goal_select = 369;
pushbutton1_userdata = 0;
elseif barrier_value==8
barrier_select = xlsread('complex_z');
start_select = 47;
goal_select = 367;
pushbutton1_userdata = 0;
elseif barrier_value==9
barrier_select = xlsread('complex_1');
start_select = 1;
goal_select = 400;
pushbutton1_userdata = 0;
elseif barrier_value==10
barrier_select = xlsread('complex_2');
start_select = 1;
goal_select = 400;
pushbutton1_userdata = 0;
elseif barrier_value==11
barrier_select = xlsread('complex_30');
start_select = 1;
goal_select = 890;
pushbutton1_userdata = 0;
elseif barrier_value==12
barrier_select = xlsread('complex_50_1');
start_select = 1;
goal_select = 2500;
elseif barrier_value==13
barrier_select = xlsread('complex_50_2');
start_select = 1;
goal_select = 2500;
pushbutton1_userdata = 0;
elseif barrier_value==14
barrier_select = xlsread('complex_50_3');
start_select = 1;
goal_select = 2500;
pushbutton1_userdata = 0;
elseif barrier_value==15
barrier_select = xlsread('barrier_tmp');
set(handles.edit18,'string','請選擇起點和終點')
pushbutton1_userdata = 0;
start = 0;
goal = 0;
end
cd ..
X = size(barrier_select,1);
Y = size(barrier_select,2);
axes(handles.axes1);
barrier = barrier_select;
figure_barrier(barrier,handles);
start = start_select;
goal = goal_select;
set(handles.edit2,'string',num2str(start) );
set(handles.edit3,'string',num2str(goal) );
% 畫起點
x_goal_new = ( mod(start-1,X) +1-0.5);
y_goal_new = ( Y- ceil(start/Y) +1-0.5);
x_start_floor = floor(x_goal_new);
x_start_ceil = ceil(x_goal_new);
y_start_floor = floor(y_goal_new);
y_start_ceil = ceil(y_goal_new);
x_data = [x_start_floor,x_start_ceil,x_start_ceil,x_start_floor];
y_data = [y_start_floor,y_start_floor,y_start_ceil,y_start_ceil];
fill(x_data,y_data,[0,1,0]);
% 畫終點
x_goal_new = ( mod(goal-1,X) +1-0.5);
y_goal_new = ( Y- ceil(goal/Y) +1-0.5);
x_start_floor = floor(x_goal_new);
x_start_ceil = ceil(x_goal_new);
y_start_floor = floor(y_goal_new);
y_start_ceil = ceil(y_goal_new);
x_data = [x_start_floor,x_start_ceil,x_start_ceil,x_start_floor];
y_data = [y_start_floor,y_start_floor,y_start_ceil,y_start_ceil];
fill(x_data,y_data,[1,0,0]);
% 設定通用引數
num_ant = 2*X;
set(handles.edit9,'string',num_ant);
set(handles.edit10,'string',250);
set(handles.edit18,'string',10)
set(handles.axes2,'visible','on')
% --- Executes during object creation, after setting all properties.
function popupmenu1_CreateFcn(hObject, eventdata, handles)
% hObject handle to popupmenu1 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called
% Hint: popupmenu controls usually have a white background on Windows.
% See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
% --- Executes on button press in radiobutton1.
function radiobutton1_Callback(hObject, eventdata, handles)
% hObject handle to radiobutton1 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hint: get(hObject,'Value') returns toggle state of radiobutton1
set(handles.uipanel200,'visible','off')
set(handles.uipanel201,'visible','off')
set(handles.uipanel202,'visible','on')
set(handles.uipanel203,'visible','off')
set(handles.uipanel204,'visible','off')
% --- Executes on button press in radiobutton2.
function radiobutton2_Callback(hObject, eventdata, handles)
% hObject handle to radiobutton2 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hint: get(hObject,'Value') returns toggle state of radiobutton2
set(handles.uipanel200,'visible','off')
set(handles.uipanel201,'visible','on')
set(handles.uipanel202,'visible','off')
set(handles.uipanel203,'visible','off')
set(handles.uipanel204,'visible','off')
% --- Executes on button press in radiobutton3.
function radiobutton3_Callback(hObject, eventdata, handles)
% hObject handle to radiobutton3 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hint: get(hObject,'Value') returns toggle state of radiobutton3
function edit1_Callback(hObject, eventdata, handles)
% hObject handle to edit1 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of edit1 as text
% str2double(get(hObject,'String')) returns contents of edit1 as a double
% --- Executes during object creation, after setting all properties.
function edit1_CreateFcn(hObject, eventdata, handles)
% hObject handle to edit1 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called
% Hint: edit controls usually have a white background on Windows.
% See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
function edit2_Callback(hObject, eventdata, handles)
% hObject handle to edit2 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of edit2 as text
% str2double(get(hObject,'String')) returns contents of edit2 as a double
% --- Executes during object creation, after setting all properties.
function edit2_CreateFcn(hObject, eventdata, handles)
% hObject handle to edit2 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called
% Hint: edit controls usually have a white background on Windows.
% See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
function edit3_Callback(hObject, eventdata, handles)
% hObject handle to edit3 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of edit3 as text
% str2double(get(hObject,'String')) returns contents of edit3 as a double
% --- Executes during object creation, after setting all properties.
function edit3_CreateFcn(hObject, eventdata, handles)
% hObject handle to edit3 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called
% Hint: edit controls usually have a white background on Windows.
% See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
% --- Executes on button press in pushbutton2.
function pushbutton2_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton2 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% 滑鼠取起點
global permission_start
permission_start = 1;
set(handles.edit2,'string',[]);
set(handles.edit3,'string',[]);
axes(handles.axes1);
if permission_start==1
set(handles.edit38,'string','選擇起點結束後請點選結束按鈕,否則易出錯');
s.hf = get(handles.axes1,'parent');
set(s.hf,'WindowButtonDownFcn',@figure1_windowbuttondownfcn_point_start);
end
global start
figure_start(start)
function figure1_windowbuttondownfcn_point_start(hobj,event)
global barrier
X = size(barrier,1);
Y = size(barrier,2);
global permission_start
if permission_start==1
if strcmp(get(hobj,'SelectionType'),'normal')
p = get(gca,'currentpoint'); % 取滑鼠當前所在點的座標
x(1) = p(1);% 當前點的橫座標;
x_ceil = ceil(x(1));
y(1) = p(3);% 當前點的縱座標
y_ceil = ceil(y(1));
point_start = [x_ceil,y_ceil];
start_tmp = point_start(1) + ( Y-point_start(2) )*X;
figure_start(start_tmp);
end
end
% 畫出起點函式
function figure_start(start_new)
global barrier start
if start_new~=start
X = size(barrier,1);
Y = size(barrier,2);
% 清除以前的點的訊息
x_start = ( mod(start-1,X) +1-0.5);
y_start = ( Y- ceil(start/Y) +1-0.5);
x_start_floor = floor(x_start);
x_start_ceil = ceil(x_start);
y_start_floor = floor(y_start);
y_start_ceil = ceil(y_start);
x_data = [x_start_floor,x_start_ceil,x_start_ceil,x_start_floor];
y_data = [y_start_floor,y_start_floor,y_start_ceil,y_start_ceil];
fill(x_data,y_data,[1,1,1]);
%% 畫新的點
x_start_new = ( mod(start_new-1,X) +1-0.5);
y_start_new = ( Y- ceil(start_new/Y) +1-0.5);
x_start_floor = floor(x_start_new);
x_start_ceil = ceil(x_start_new);
y_start_floor = floor(y_start_new);
y_start_ceil = ceil(y_start_new);
x_data = [x_start_floor,x_start_ceil,x_start_ceil,x_start_floor];
y_data = [y_start_floor,y_start_floor,y_start_ceil,y_start_ceil];
fill(x_data,y_data,[0,1,0]);
start = start_new;
data = '起點是%4.0f\n';
fprintf(data,start)
% set(handles.edit2,'string',start)
end
% function test(hObject, eventdata, handles)
% global start start_new
% if start~=start_new
% set(hanles.edit2,'value',start_new)
% end
% 畫終點的函式
function figure_goal(goal_new)
global barrier goal
if goal_new~=goal
X = size(barrier,1);
Y = size(barrier,2);
% 清除以前的點的訊息
x_goal = ( mod(goal-1,X) +1-0.5);
y_goal = ( Y- ceil(goal/Y) +1-0.5);
x_start_floor = floor(x_goal);
x_start_ceil = ceil(x_goal);
y_start_floor = floor(y_goal);
y_start_ceil = ceil(y_goal);
x_data = [x_start_floor,x_start_ceil,x_start_ceil,x_start_floor];
y_data = [y_start_floor,y_start_floor,y_start_ceil,y_start_ceil];
fill(x_data,y_data,[1,1,1]);
%% 畫新的點
x_goal_new = ( mod(goal_new-1,X) +1-0.5);
y_goal_new = ( Y- ceil(goal_new/Y) +1-0.5);
x_start_floor = floor(x_goal_new);
x_start_ceil = ceil(x_goal_new);
y_start_floor = floor(y_goal_new);
y_start_ceil = ceil(y_goal_new);
x_data = [x_start_floor,x_start_ceil,x_start_ceil,x_start_floor];
y_data = [y_start_floor,y_start_floor,y_start_ceil,y_start_ceil];
fill(x_data,y_data,[1,0,0]);
goal = goal_new;
end
% --- Executes on button press in pushbutton3.
function pushbutton3_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton3 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% 畫終點
global permission_goal
permission_goal = 1;
set(handles.edit2,'string',[])
set(handles.edit3,'string',[])
axes(handles.axes1);
if permission_goal==1
set(handles.edit38,'string','選擇起點結束後請點選結束按鈕,否則易出錯');
s.hf = get(handles.axes1,'parent');
set(s.hf,'WindowButtonDownFcn',@figure1_windowbuttondownfcn_point_goal);
end
global goal
figure_goal(goal);
function figure1_windowbuttondownfcn_point_goal(hobj,event)
global barrier
X = size(barrier,1);
Y = size(barrier,2);
global permission_goal
if permission_goal==1
if strcmp(get(hobj,'SelectionType'),'normal')
p = get(gca,'currentpoint'); % 取滑鼠當前所在點的座標
x(1) = p(1);% 當前點的橫座標;
x_ceil = ceil(x(1));
y(1) = p(3);% 當前點的縱座標
y_ceil = ceil(y(1));
point_goal = [x_ceil,y_ceil];
goal = point_goal(1) + ( Y-point_goal(2) )*X;
figure_goal(goal);
data = '終點是%4.0f\n';
fprintf(data,goal)
end
end
function edit5_Callback(hObject, eventdata, handles)
% hObject handle to edit201 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of edit201 as text
% str2double(get(hObject,'String')) returns contents of edit201 as a double
% --- Executes during object creation, after setting all properties.
function edit5_CreateFcn(hObject, eventdata, handles)
% hObject handle to edit201 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called
% Hint: edit controls usually have a white background on Windows.
% See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
function edit6_Callback(hObject, eventdata, handles)
% hObject handle to edit202 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of edit202 as text
% str2double(get(hObject,'String')) returns contents of edit202 as a double
% --- Executes during object creation, after setting all properties.
function edit6_CreateFcn(hObject, eventdata, handles)
% hObject handle to edit202 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called
% Hint: edit controls usually have a white background on Windows.
% See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
function edit7_Callback(hObject, eventdata, handles)
% hObject handle to edit203 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of edit203 as text
% str2double(get(hObject,'String')) returns contents of edit203 as a double
% --- Executes during object creation, after setting all properties.
function edit7_CreateFcn(hObject, eventdata, handles)
% hObject handle to edit203 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called
% Hint: edit controls usually have a white background on Windows.
% See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
function edit8_Callback(hObject, eventdata, handles)
% hObject handle to edit204 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of edit204 as text
% str2double(get(hObject,'String')) returns contents of edit204 as a double
% --- Executes during object creation, after setting all properties.
function edit8_CreateFcn(hObject, eventdata, handles)
% hObject handle to edit204 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called
% Hint: edit controls usually have a white background on Windows.
% See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
function edit9_Callback(hObject, eventdata, handles)
% hObject handle to edit9 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of edit9 as text
% str2double(get(hObject,'String')) returns contents of edit9 as a double
% --- Executes during object creation, after setting all properties.
function edit9_CreateFcn(hObject, eventdata, handles)
% hObject handle to edit9 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called
% Hint: edit controls usually have a white background on Windows.
% See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
function edit10_Callback(hObject, eventdata, handles)
% hObject handle to edit10 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of edit10 as text
% str2double(get(hObject,'String')) returns contents of edit10 as a double
% --- Executes during object creation, after setting all properties.
function edit10_CreateFcn(hObject, eventdata, handles)
% hObject handle to edit10 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called
% Hint: edit controls usually have a white background on Windows.
% See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
% --- Executes on button press in radiobutton4.
function radiobutton4_Callback(hObject, eventdata, handles)
% hObject handle to radiobutton4 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hint: get(hObject,'Value') returns toggle state of radiobutton4
% --- Executes on button press in pushbutton4.
function pushbutton4_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton4 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
global reason start goal
global h_waitbar
set(handles.edit57,'string',1);set(handles.edit58,'string',1);set(handles.edit59,'string',1);
set(handles.edit60,'string',1);set(handles.edit61,'string',1);
set(handles.edit2,'string',start);
set(handles.edit3,'string',goal);
set(handles.edit38,'string','正在執行');
set(handles.text60,'visible','off')
tic;
h_waitbar = waitbar(0,'正在執行,請稍後...');
if reason == 1 % 如果是第一個目的,即選擇一種演算法進行分析,則選擇一種演算法執行
prime_only_one_algorithm(hObject, eventdata, handles)
elseif reason==2 % 如果是第二個目的,即選擇多種演算法進行分析
prime_multi_algorithm(hObject, eventdata, handles)
end
delete(h_waitbar);
time_algorithm = round(toc);
tip_time = ['執行結束,已執行',num2str(time_algorithm),'秒'];
set(handles.edit38,'string',tip_time);
function edit91_Callback(hObject, eventdata, handles)
% hObject handle to edit91 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of edit91 as text
% str2double(get(hObject,'String')) returns contents of edit91 as a double
% --- Executes during object creation, after setting all properties.
function edit91_CreateFcn(hObject, eventdata, handles)
% hObject handle to edit91 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called
% Hint: edit controls usually have a white background on Windows.
% See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
function edit12_Callback(hObject, eventdata, handles)
% hObject handle to edit12 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of edit12 as text
% str2double(get(hObject,'String')) returns contents of edit12 as a double
% --- Executes during object creation, after setting all properties.
function edit12_CreateFcn(hObject, eventdata, handles)
% hObject handle to edit12 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called
% Hint: edit controls usually have a white background on Windows.
% See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
function edit13_Callback(hObject, eventdata, handles)
% hObject handle to edit13 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of edit13 as text
% str2double(get(hObject,'String')) returns contents of edit13 as a double
% --- Executes during object creation, after setting all properties.
function edit13_CreateFcn(hObject, eventdata, handles)
% hObject handle to edit13 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called
% Hint: edit controls usually have a white background on Windows.
% See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
function edit14_Callback(hObject, eventdata, handles)
% hObject handle to edit14 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of edit14 as text
% str2double(get(hObject,'String')) returns contents of edit14 as a double
% --- Executes during object creation, after setting all properties.
function edit14_CreateFcn(hObject, eventdata, handles)
% hObject handle to edit14 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called
% Hint: edit controls usually have a white background on Windows.
% See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
function edit92_Callback(hObject, eventdata, handles)
% hObject handle to edit92 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of edit92 as text
% str2double(get(hObject,'String')) returns contents of edit92 as a double
% --- Executes during object creation, after setting all properties.
function edit92_CreateFcn(hObject, eventdata, handles)
% hObject handle to edit92 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called
% Hint: edit controls usually have a white background on Windows.
% See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
function edit16_Callback(hObject, eventdata, handles)
% hObject handle to edit16 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of edit16 as text
% str2double(get(hObject,'String')) returns contents of edit16 as a double
% --- Executes during object creation, after setting all properties.
function edit16_CreateFcn(hObject, eventdata, handles)
% hObject handle to edit16 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called
% Hint: edit controls usually have a white background on Windows.
% See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
function edit94_Callback(hObject, eventdata, handles)
% hObject handle to edit94 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of edit94 as text
% str2double(get(hObject,'String')) returns contents of edit94 as a double
% --- Executes during object creation, after setting all properties.
function edit94_CreateFcn(hObject, eventdata, handles)
% hObject handle to edit94 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called
% Hint: edit controls usually have a white background on Windows.
% See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
function edit18_Callback(hObject, eventdata, handles)
% hObject handle to edit18 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of edit18 as text
% str2double(get(hObject,'String')) returns contents of edit18 as a double
% --- Executes during object creation, after setting all properties.
function edit18_CreateFcn(hObject, eventdata, handles)
% hObject handle to edit18 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called
% Hint: edit controls usually have a white background on Windows.
% See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
% --- Executes on button press in radiobutton5.
function radiobutton5_Callback(hObject, eventdata, handles)
% hObject handle to radiobutton5 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hint: get(hObject,'Value') returns toggle state of radiobutton5
set(handles.uipanel200,'visible','on')
set(handles.uipanel201,'visible','off')
set(handles.uipanel202,'visible','off')
set(handles.uipanel203,'visible','off')
set(handles.uipanel204,'visible','off')
% --- Executes on button press in radiobutton6.
function radiobutton6_Callback(hObject, eventdata, handles)
% hObject handle to radiobutton6 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hint: get(hObject,'Value') returns toggle state of radiobutton6
set(handles.uipanel200,'visible','off')
set(handles.uipanel201,'visible','off')
set(handles.uipanel202,'visible','off')
set(handles.uipanel203,'visible','on')
set(handles.uipanel204,'visible','off')
% --- Executes on button press in radiobutton7.
function radiobutton7_Callback(hObject, eventdata, handles)
% hObject handle to radiobutton7 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hint: get(hObject,'Value') returns toggle state of radiobutton7
set(handles.uipanel200,'visible','off')
set(handles.uipanel201,'visible','off')
set(handles.uipanel202,'visible','off')
set(handles.uipanel203,'visible','off')
set(handles.uipanel204,'visible','on')
% --- Executes when figure1 is resized.
function figure1_ResizeFcn(hObject, eventdata, handles)
% hObject handle to figure1 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
function edit93_Callback(hObject, eventdata, handles)
% hObject handle to edit93 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of edit93 as text
% str2double(get(hObject,'String')) returns contents of edit93 as a double
% --- Executes during object creation, after setting all properties.
function edit93_CreateFcn(hObject, eventdata, handles)
% hObject handle to edit93 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called
% Hint: edit controls usually have a white background on Windows.
% See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
function edit24_Callback(hObject, eventdata, handles)
% hObject handle to edit24 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of edit24 as text
% str2double(get(hObject,'String')) returns contents of edit24 as a double
% --- Executes during object creation, after setting all properties.
function edit24_CreateFcn(hObject, eventdata, handles)
% hObject handle to edit24 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called
% Hint: edit controls usually have a white background on Windows.
% See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
function edit25_Callback(hObject, eventdata, handles)
% hObject handle to edit25 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of edit25 as text
% str2double(get(hObject,'String')) returns contents of edit25 as a double
% --- Executes during object creation, after setting all properties.
function edit25_CreateFcn(hObject, eventdata, handles)
% hObject handle to edit25 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called
% Hint: edit controls usually have a white background on Windows.
% See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
function edit26_Callback(hObject, eventdata, handles)
% hObject handle to edit26 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of edit26 as text
% str2double(get(hObject,'String')) returns contents of edit26 as a double
% --- Executes during object creation, after setting all properties.
function edit26_CreateFcn(hObject, eventdata, handles)
% hObject handle to edit26 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called
% Hint: edit controls usually have a white background on Windows.
% See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
function edit27_Callback(hObject, eventdata, handles)
% hObject handle to edit27 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of edit27 as text
% str2double(get(hObject,'String')) returns contents of edit27 as a double
% --- Executes during object creation, after setting all properties.
function edit27_CreateFcn(hObject, eventdata, handles)
% hObject handle to edit27 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called
% Hint: edit controls usually have a white background on Windows.
% See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
function edit28_Callback(hObject, eventdata, handles)
% hObject handle to edit28 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of edit28 as text
% str2double(get(hObject,'String')) returns contents of edit28 as a double
% --- Executes during object creation, after setting all properties.
function edit28_CreateFcn(hObject, eventdata, handles)
% hObject handle to edit28 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called
% Hint: edit controls usually have a white background on Windows.
% See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
function edit101_Callback(hObject, eventdata, handles)
% hObject handle to edit101 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of edit101 as text
% str2double(get(hObject,'String')) returns contents of edit101 as a double
% --- Executes during object creation, after setting all properties.
function edit101_CreateFcn(hObject, eventdata, handles)
% hObject handle to edit101 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called
% Hint: edit controls usually have a white background on Windows.
% See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
function edit102_Callback(hObject, eventdata, handles)
% hObject handle to edit102 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of edit102 as text
% str2double(get(hObject,'String')) returns contents of edit102 as a double
% --- Executes during object creation, after setting all properties.
function edit102_CreateFcn(hObject, eventdata, handles)
% hObject handle to edit102 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called
% Hint: edit controls usually have a white background on Windows.
% See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
function edit104_Callback(hObject, eventdata, handles)
% hObject handle to edit104 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of edit104 as text
% str2double(get(hObject,'String')) returns contents of edit104 as a double
% --- Executes during object creation, after setting all properties.
function edit104_CreateFcn(hObject, eventdata, handles)
% hObject handle to edit104 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called
% Hint: edit controls usually have a white background on Windows.
% See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
function edit105_Callback(hObject, eventdata, handles)
% hObject handle to edit105 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of edit105 as text
% str2double(get(hObject,'String')) returns contents of edit105 as a double
% --- Executes during object creation, after setting all properties.
function edit105_CreateFcn(hObject, eventdata, handles)
% hObject handle to edit105 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called
% Hint: edit controls usually have a white background on Windows.
% See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
function edit106_Callback(hObject, eventdata, handles)
% hObject handle to edit106 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of edit106 as text
% str2double(get(hObject,'String')) returns contents of edit106 as a double
% --- Executes during object creation, after setting all properties.
function edit106_CreateFcn(hObject, eventdata, handles)
% hObject handle to edit106 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called
% Hint: edit controls usually have a white background on Windows.
% See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
% --- Executes on button press in pushbutton5.
function pushbutton5_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton5 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% --- Executes on button press in pushbutton6.
function pushbutton6_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton6 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% --- Executes on button press in pushbutton7.
function pushbutton7_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton7 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% --- Executes on button press in pushbutton8.
function pushbutton8_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton8 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% --- Executes on button press in radiobutton9.
function radiobutton9_Callback(hObject, eventdata, handles)
% hObject handle to radiobutton9 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hint: get(hObject,'Value') returns toggle state of radiobutton9
% --- Executes on button press in radiobutton10.
function radiobutton10_Callback(hObject, eventdata, handles)
% hObject handle to radiobutton10 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hint: get(hObject,'Value') returns toggle state of radiobutton10
% --- Executes on button press in pushbutton9.
function pushbutton9_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton9 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% --- Executes on button press in pushbutton10.
function pushbutton10_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton10 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% --- Executes on button press in pushbutton11.
function pushbutton11_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton11 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
function edit34_Callback(hObject, eventdata, handles)
% hObject handle to edit34 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of edit34 as text
% str2double(get(hObject,'String')) returns contents of edit34 as a double
% --- Executes during object creation, after setting all properties.
function edit34_CreateFcn(hObject, eventdata, handles)
% hObject handle to edit34 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called
% Hint: edit controls usually have a white background on Windows.
% See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
function edit35_Callback(hObject, eventdata, handles)
% hObject handle to edit35 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of edit35 as text
% str2double(get(hObject,'String')) returns contents of edit35 as a double
% --- Executes during object creation, after setting all properties.
function edit35_CreateFcn(hObject, eventdata, handles)
% hObject handle to edit35 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called
% Hint: edit controls usually have a white background on Windows.
% See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
% --- Executes on button press in radiobutton11.
function radiobutton11_Callback(hObject, eventdata, handles)
% hObject handle to radiobutton11 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hint: get(hObject,'Value') returns toggle state of radiobutton11
% --- Executes on button press in radiobutton12.
function radiobutton12_Callback(hObject, eventdata, handles)
% hObject handle to radiobutton12 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hint: get(hObject,'Value') returns toggle state of radiobutton12
% --- Executes on button press in pushbutton12.
function pushbutton12_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton12 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% --------------------------------------------------------------------
function Untitled_1_Callback(hObject, eventdata, handles)
% hObject handle to Untitled_1 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
function figure1_windowbuttondownfcn(hobj,event)
% point_data 輸出,輸出當前的一個點
% 定義figure的回撥函式
global draw_enable x y data barrier pushbutton1_userdata
% if pushbutton1_userdata == 0
% set(handles.edit38,'string','如果需要設計障礙物圖形,請先點選設計障礙物按鈕');
% disp('如果需要設計障礙物圖形,請先點選設計障礙物按鈕')
if pushbutton1_userdata ==1
n_barrier = size(barrier,1);
% 若figure的selectiontype屬性值為normal,則表示單擊滑鼠左鍵
if strcmp(get(hobj,'SelectionType'),'normal')
draw_enable = 1;
p = get(gca,'currentpoint'); % 取滑鼠當前所在點的座標
x(1) = p(1);% 當前點的橫座標
x1_floor = floor(x(1));
x1_ceil = ceil(x(1));
y(1) = p(3);% 當前點的縱座標
y1_floor = floor(y(1));
y1_ceil = ceil(y(1));
data = [x1_floor,y1_floor;...
x1_ceil,y1_floor;...
x1_ceil,y1_ceil;...
x1_floor,y1_ceil]; % 依次取該點的周圍四個頂點
x_data = [x1_floor,x1_ceil,x1_ceil,x1_floor];
y_data = [y1_floor,y1_floor,y1_ceil,y1_ceil];
fill(x_data,y_data,[0,0,0]); % 填充這個方格為黑色
% 設定這個方格不可用,即設定barrier中對應方格為1(表示該方格是障礙)
y1_ceil_temp = n_barrier - y1_ceil + 1;
barrier(y1_ceil_temp,x1_ceil) = 1;
end
% 如果figure的selectiontype屬性值為alt,則表示雙擊滑鼠,使方格為白色,可以安全行走
if strcmp(get(hobj,'selectiontype'),'open')
draw_enable = 0;
p = get(gca,'currentpoint'); % 取滑鼠當前所在點的座標
x(1) = p(1);% 當前點的橫座標
x1_floor = floor(x(1));
x1_ceil = ceil(x(1));
y(1) = p(3);% 當前點的縱座標
y1_floor = floor(y(1));
y1_ceil = ceil(y(1));
data = [x1_floor,y1_floor;...
x1_ceil,y1_floor;...
x1_ceil,y1_ceil;...
x1_floor,y1_ceil]; % 依次取該點的周圍四個頂點
x_data = [x1_floor,x1_ceil,x1_ceil,x1_floor];
y_data = [y1_floor,y1_floor,y1_ceil,y1_ceil];
fill(x_data,y_data,[1,1,1]); % 填充這個方格為白色
% 設定這個方格可用,即設定barrier中對應方格為0(表示該方格是障礙)
y1_ceil_temp = n_barrier - y1_ceil + 1;
barrier(y1_ceil_temp,x1_ceil) = 0;
end
% % 如果是滑鼠右鍵,則輸出並儲存當前設定的障礙物資訊
% if strcmp(get(hobj,'selectiontype'),'alt')
% disp(barrier)
% end
end
% --- Executes on button press in pushbutton13.
function pushbutton13_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton13 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
global barrier pushbutton1_userdata
% disp(barrier);
cd('barrier')
delete barrier_tmp.xls
xlswrite('barrier_tmp.xls',barrier)
pushbutton1_userdata = 0;
cd ..
% --- Executes on button press in pushbutton14.
function pushbutton14_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton14 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
global reason
set(handles.edit38,'string','請選擇一種演算法分析,預設選擇ACO,並請繼續實驗設定');
init_reason1(handles);
reason = 1;% 實驗目標模式,用在後面判斷表格和圖形的設計,以及採用何種演算法設定框
function edit36_Callback(hObject, eventdata, handles)
% hObject handle to edit36 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of edit36 as text
% str2double(get(hObject,'String')) returns contents of edit36 as a double
% --- Executes during object creation, after setting all properties.
function edit36_CreateFcn(hObject, eventdata, handles)
% hObject handle to edit36 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called
% Hint: edit controls usually have a white background on Windows.
% See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
% --- Executes on button press in pushbutton15.
function pushbutton15_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton15 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
global reason
set(handles.edit38,'string','請選擇幾類演算法分析,預設選擇全部演算法進行比較');
init_reason2(handles);
reason = 2; % 實驗目標模式,用在後面判斷畫圖
function edit37_Callback(hObject, eventdata, handles)
% hObject handle to edit37 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of edit37 as text
% str2double(get(hObject,'String')) returns contents of edit37 as a double
% --- Executes during object creation, after setting all properties.
function edit37_CreateFcn(hObject, eventdata, handles)
% hObject handle to edit37 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called
% Hint: edit controls usually have a white background on Windows.
% See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
% --- Executes on button press in pushbutton16.
function pushbutton16_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton16 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
set(handles.uipanel1,'visible','on')
set(handles.uipanel6,'visible','off')
set(handles.uipanel7,'visible','off')
set(handles.uipanel5,'visible','off')
set(handles.uipanel15,'visible','off')
% --- Executes on button press in pushbutton17.
function pushbutton17_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton17 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
set(handles.uipanel1,'visible','off')
set(handles.uipanel6,'visible','on')
set(handles.uipanel7,'visible','off')
set(handles.uipanel5,'visible','off')
set(handles.uipanel15,'visible','off')
% --- Executes on button press in pushbutton18.
function pushbutton18_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton18 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
global reason
set(handles.uipanel1,'visible','off')
set(handles.uipanel6,'visible','off')
set(handles.uipanel7,'visible','off')
if reason == 1
set(handles.uipanel5,'visible','off')
set(handles.uipanel15,'visible','on')
end
if reason == 2
set(handles.uipanel5,'visible','on')
set(handles.uipanel15,'visible','off')
end
% --- Executes on button press in pushbutton19.
function pushbutton19_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton19 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
set(handles.uipanel1,'visible','off')
set(handles.uipanel6,'visible','off')
set(handles.uipanel7,'visible','on')
set(handles.uipanel5,'visible','off')
set(handles.uipanel15,'visible','off')
% --- Executes during object creation, after setting all properties.
function uipanel5_CreateFcn(hObject, eventdata, handles)
% hObject handle to uipanel5 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called
% --- Executes during object deletion, before destroying properties.
function text25_DeleteFcn(hObject, eventdata, handles)
% hObject handle to text25 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% --- Executes during object creation, after setting all properties.
function text25_CreateFcn(hObject, eventdata, handles)
% hObject handle to text25 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called
% --- Executes during object creation, after setting all properties.
function pushbutton14_CreateFcn(hObject, eventdata, handles)
% hObject handle to pushbutton14 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called
function edit38_Callback(hObject, eventdata, handles)
% hObject handle to edit38 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of edit38 as text
% str2double(get(hObject,'String')) returns contents of edit38 as a double
% --- Executes during object creation, after setting all properties.
function edit38_CreateFcn(hObject, eventdata, handles)
% hObject handle to edit38 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called
% Hint: edit controls usually have a white background on Windows.
% See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
% --- Executes during object creation, after setting all properties.
function slider1_CreateFcn(hObject, eventdata, handles)
% hObject handle to slider1 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called
% Hint: slider controls usually have a light gray background.
if isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor',[.9 .9 .9]);
end
function edit39_Callback(hObject, eventdata, handles)
% hObject handle to edit39 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of edit39 as text
% str2double(get(hObject,'String')) returns contents of edit39 as a double
% --- Executes during object creation, after setting all properties.
function edit39_CreateFcn(hObject, eventdata, handles)
% hObject handle to edit39 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called
% Hint: edit controls usually have a white background on Windows.
% See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
function edit201_Callback(hObject, eventdata, handles)
% hObject handle to edit201 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of edit201 as text
% str2double(get(hObject,'String')) returns contents of edit201 as a double
% --- Executes during object creation, after setting all properties.
function edit201_CreateFcn(hObject, eventdata, handles)
% hObject handle to edit201 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called
% Hint: edit controls usually have a white background on Windows.
% See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
function edit202_Callback(hObject, eventdata, handles)
% hObject handle to edit202 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of edit202 as text
% str2double(get(hObject,'String')) returns contents of edit202 as a double
% --- Executes during object creation, after setting all properties.
function edit202_CreateFcn(hObject, eventdata, handles)
% hObject handle to edit202 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called
% Hint: edit controls usually have a white background on Windows.
% See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
function edit84_Callback(hObject, eventdata, handles)
% hObject handle to edit84 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of edit84 as text
% str2double(get(hObject,'String')) returns contents of edit84 as a double
% --- Executes during object creation, after setting all properties.
function edit84_CreateFcn(hObject, eventdata, handles)
% hObject handle to edit84 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called
% Hint: edit controls usually have a white background on Windows.
% See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
function edit203_Callback(hObject, eventdata, handles)
% hObject handle to edit203 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of edit203 as text
% str2double(get(hObject,'String')) returns contents of edit203 as a double
% --- Executes during object creation, after setting all properties.
function edit203_CreateFcn(hObject, eventdata, handles)
% hObject handle to edit203 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called
% Hint: edit controls usually have a white background on Windows.
% See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
function edit111_Callback(hObject, eventdata, handles)
% hObject handle to edit111 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of edit111 as text
% str2double(get(hObject,'String')) returns contents of edit111 as a double
% --- Executes during object creation, after setting all properties.
function edit111_CreateFcn(hObject, eventdata, handles)
% hObject handle to edit111 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called
% Hint: edit controls usually have a white background on Windows.
% See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
function edit112_Callback(hObject, eventdata, handles)
% hObject handle to edit112 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of edit112 as text
% str2double(get(hObject,'String')) returns contents of edit112 as a double
% --- Executes during object creation, after setting all properties.
function edit112_CreateFcn(hObject, eventdata, handles)
% hObject handle to edit112 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called
% Hint: edit controls usually have a white background on Windows.
% See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
function edit114_Callback(hObject, eventdata, handles)
% hObject handle to edit114 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of edit114 as text
% str2double(get(hObject,'String')) returns contents of edit114 as a double
% --- Executes during object creation, after setting all properties.
function edit114_CreateFcn(hObject, eventdata, handles)
% hObject handle to edit114 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called
% Hint: edit controls usually have a white background on Windows.
% See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
function edit113_Callback(hObject, eventdata, handles)
% hObject handle to edit113 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of edit113 as text
% str2double(get(hObject,'String')) returns contents of edit113 as a double
% --- Executes during object creation, after setting all properties.
function edit113_CreateFcn(hObject, eventdata, handles)
% hObject handle to edit113 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called
% Hint: edit controls usually have a white background on Windows.
% See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
function edit115_Callback(hObject, eventdata, handles)
% hObject handle to edit115 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of edit115 as text
% str2double(get(hObject,'String')) returns contents of edit115 as a double
% --- Executes during object creation, after setting all properties.
function edit115_CreateFcn(hObject, eventdata, handles)
% hObject handle to edit115 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called
% Hint: edit controls usually have a white background on Windows.
% See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
function edit204_Callback(hObject, eventdata, handles)
% hObject handle to edit204 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of edit204 as text
% str2double(get(hObject,'String')) returns contents of edit204 as a double
% --- Executes during object creation, after setting all properties.
function edit204_CreateFcn(hObject, eventdata, handles)
% hObject handle to edit204 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called
% Hint: edit controls usually have a white background on Windows.
% See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
function edit103_Callback(hObject, eventdata, handles)
% hObject handle to edit103 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of edit103 as text
% str2double(get(hObject,'String')) returns contents of edit103 as a double
% --- Executes during object creation, after setting all properties.
function edit103_CreateFcn(hObject, eventdata, handles)
% hObject handle to edit103 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called
% Hint: edit controls usually have a white background on Windows.
% See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
% --- Executes on button press in radiobutton16.
function radiobutton16_Callback(hObject, eventdata, handles)
% hObject handle to radiobutton16 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hint: get(hObject,'Value') returns toggle state of radiobutton16
set(handles.uipanel200,'visible','on')
set(handles.uipanel201,'visible','off')
set(handles.uipanel202,'visible','off')
set(handles.uipanel203,'visible','off')
set(handles.uipanel204,'visible','off')
% --- Executes on button press in radiobutton15.
function radiobutton15_Callback(hObject, eventdata, handles)
% hObject handle to radiobutton15 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hint: get(hObject,'Value') returns toggle state of radiobutton15
set(handles.uipanel200,'visible','off')
set(handles.uipanel201,'visible','on')
set(handles.uipanel202,'visible','off')
set(handles.uipanel203,'visible','off')
set(handles.uipanel204,'visible','off')
% --- Executes on button press in radiobutton14.
function radiobutton14_Callback(hObject, eventdata, handles)
% hObject handle to radiobutton14 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hint: get(hObject,'Value') returns toggle state of radiobutton14
set(handles.uipanel200,'visible','off')
set(handles.uipanel201,'visible','off')
set(handles.uipanel202,'visible','on')
set(handles.uipanel203,'visible','off')
set(handles.uipanel204,'visible','off')
% --- Executes on button press in radiobutton17.
function radiobutton17_Callback(hObject, eventdata, handles)
% hObject handle to radiobutton17 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hint: get(hObject,'Value') returns toggle state of radiobutton17
set(handles.uipanel200,'visible','off')
set(handles.uipanel201,'visible','off')
set(handles.uipanel202,'visible','off')
set(handles.uipanel203,'visible','on')
set(handles.uipanel204,'visible','off')
% --- Executes on button press in radiobutton18.
function radiobutton18_Callback(hObject, eventdata, handles)
% hObject handle to radiobutton18 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hint: get(hObject,'Value') returns toggle state of radiobutton18
set(handles.uipanel200,'visible','off')
set(handles.uipanel201,'visible','off')
set(handles.uipanel202,'visible','off')
set(handles.uipanel203,'visible','off')
set(handles.uipanel204,'visible','on')
function edit51_Callback(hObject, eventdata, handles)
% hObject handle to edit51 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of edit51 as text
% str2double(get(hObject,'String')) returns contents of edit51 as a double
% --- Executes during object creation, after setting all properties.
function edit51_CreateFcn(hObject, eventdata, handles)
% hObject handle to edit51 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called
% Hint: edit controls usually have a white background on Windows.
% See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
% --- Executes during object creation, after setting all properties.
function edit85_CreateFcn(hObject, eventdata, handles)
% hObject handle to edit85 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called
% Hint: edit controls usually have a white background on Windows.
% See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
% --- Executes during object creation, after setting all properties.
function edit83_CreateFcn(hObject, eventdata, handles)
% hObject handle to edit83 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called
% Hint: edit controls usually have a white background on Windows.
% See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
% --- Executes during object creation, after setting all properties.
function edit82_CreateFcn(hObject, eventdata, handles)
% hObject handle to edit82 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called
% Hint: edit controls usually have a white background on Windows.
% See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
% --- Executes during object creation, after setting all properties.
function edit81_CreateFcn(hObject, eventdata, handles)
% hObject handle to edit81 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called
% Hint: edit controls usually have a white background on Windows.
% See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
% --- Executes on button press in pushbutton20.
function pushbutton20_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton20 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
global path_node diversity_line convergence_curve_global convergence_curve_iter
display_exercise = str2double( get(handles.edit39,'string') );
exercise_num = str2double( get(handles.edit18,'string') );
if display_exercise>exercise_num
% disp()
set(handles.edit38,'string','您設定的顯示次數已超過最大值');
else
set(handles.edit38,'string','馬上顯示');
end
routes = path_node{1,display_exercise};
diversity = diversity_line{display_exercise,1};
convergence_global = convergence_curve_global{display_exercise,1};
convergence_iter = convergence_curve_iter{display_exercise,1};
[marker_algorithm] = marker_algorithm_function(hObject, eventdata, handles);
figure_path(routes,marker_algorithm,hObject, eventdata, handles);
figure_diversity_line(diversity,handles);
figure_convergence (convergence_global,convergence_iter,handles)
set(handles.radiobutton310,'value',1);
% --- Executes when selected object is changed in uipanel18.
function uipanel18_SelectionChangeFcn(hObject, eventdata, handles)
% hObject handle to the selected object in uipanel18
% eventdata structure with the following fields (see UIBUTTONGROUP)
% EventName: string 'SelectionChanged' (read only)
% OldValue: handle of the previously selected object or empty if none was selected
% NewValue: handle of the currently selected object
% handles structure with handles and user data (see GUIDATA)
global convergence_curve_global convergence_curve_iter
times_displace = str2double( get(handles.edit39,'string') );
convergence_global = convergence_curve_global{times_displace,1};
convergence_iter = convergence_curve_iter{times_displace,1};
switch get(handles.uipanel18,'SelectedObject')
case handles.radiobutton11
figure_convergence_iter (convergence_iter,handles)
case handles.radiobutton12
figure_convergence_global (convergence_global,handles)
case handles.radiobutton310
figure_convergence (convergence_global,convergence_iter,handles)
end
function edit52_Callback(hObject, eventdata, handles)
% hObject handle to edit52 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of edit52 as text
% str2double(get(hObject,'String')) returns contents of edit52 as a double
% --- Executes during object creation, after setting all properties.
function edit52_CreateFcn(hObject, eventdata, handles)
% hObject handle to edit52 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called
% Hint: edit controls usually have a white background on Windows.
% See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
% --- Executes on button press in radiobutton21.
function radiobutton21_Callback(hObject, eventdata, handles)
% hObject handle to radiobutton21 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hint: get(hObject,'Value') returns toggle state of radiobutton21
function edit53_Callback(hObject, eventdata, handles)
% hObject handle to edit53 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of edit53 as text
% str2double(get(hObject,'String')) returns contents of edit53 as a double
% --- Executes during object creation, after setting all properties.
function edit53_CreateFcn(hObject, eventdata, handles)
% hObject handle to edit53 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called
% Hint: edit controls usually have a white background on Windows.
% See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
% --- Executes on button press in radiobutton22.
function radiobutton22_Callback(hObject, eventdata, handles)
% hObject handle to radiobutton22 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hint: get(hObject,'Value') returns toggle state of radiobutton22
function edit54_Callback(hObject, eventdata, handles)
% hObject handle to edit54 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of edit54 as text
% str2double(get(hObject,'String')) returns contents of edit54 as a double
% --- Executes during object creation, after setting all properties.
function edit54_CreateFcn(hObject, eventdata, handles)
% hObject handle to edit54 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called
% Hint: edit controls usually have a white background on Windows.
% See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
% --- Executes on button press in radiobutton23.
function radiobutton23_Callback(hObject, eventdata, handles)
% hObject handle to radiobutton23 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hint: get(hObject,'Value') returns toggle state of radiobutton23
function edit55_Callback(hObject, eventdata, handles)
% hObject handle to edit55 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of edit55 as text
% str2double(get(hObject,'String')) returns contents of edit55 as a double
% --- Executes during object creation, after setting all properties.
function edit55_CreateFcn(hObject, eventdata, handles)
% hObject handle to edit55 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called
% Hint: edit controls usually have a white background on Windows.
% See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
% --- Executes on button press in radiobutton24.
function radiobutton24_Callback(hObject, eventdata, handles)
% hObject handle to radiobutton24 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hint: get(hObject,'Value') returns toggle state of radiobutton24
function edit56_Callback(hObject, eventdata, handles)
% hObject handle to edit56 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of edit56 as text
% str2double(get(hObject,'String')) returns contents of edit56 as a double
% --- Executes during object creation, after setting all properties.
function edit56_CreateFcn(hObject, eventdata, handles)
% hObject handle to edit56 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called
% Hint: edit controls usually have a white background on Windows.
% See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
% --- Executes on button press in radiobutton25.
function radiobutton25_Callback(hObject, eventdata, handles)
% hObject handle to radiobutton25 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hint: get(hObject,'Value') returns toggle state of radiobutton25
% --- Executes on button press in pushbutton22.
function pushbutton22_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton22 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
function edit57_Callback(hObject, eventdata, handles)
% hObject handle to edit57 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of edit57 as text
% str2double(get(hObject,'String')) returns contents of edit57 as a double
% --- Executes during object creation, after setting all properties.
function edit57_CreateFcn(hObject, eventdata, handles)
% hObject handle to edit57 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called
% Hint: edit controls usually have a white background on Windows.
% See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
% --- Executes on button press in radiobutton26.
function radiobutton26_Callback(hObject, eventdata, handles)
% hObject handle to radiobutton26 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hint: get(hObject,'Value') returns toggle state of radiobutton26
function edit58_Callback(hObject, eventdata, handles)
% hObject handle to edit58 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of edit58 as text
% str2double(get(hObject,'String')) returns contents of edit58 as a double
% --- Executes during object creation, after setting all properties.
function edit58_CreateFcn(hObject, eventdata, handles)
% hObject handle to edit58 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called
% Hint: edit controls usually have a white background on Windows.
% See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
% --- Executes on button press in radiobutton27.
function radiobutton27_Callback(hObject, eventdata, handles)
% hObject handle to radiobutton27 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hint: get(hObject,'Value') returns toggle state of radiobutton27
function edit59_Callback(hObject, eventdata, handles)
% hObject handle to edit59 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of edit59 as text
% str2double(get(hObject,'String')) returns contents of edit59 as a double
% --- Executes during object creation, after setting all properties.
function edit59_CreateFcn(hObject, eventdata, handles)
% hObject handle to edit59 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called
% Hint: edit controls usually have a white background on Windows.
% See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
% --- Executes on button press in radiobutton28.
function radiobutton28_Callback(hObject, eventdata, handles)
% hObject handle to radiobutton28 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hint: get(hObject,'Value') returns toggle state of radiobutton28
function edit60_Callback(hObject, eventdata, handles)
% hObject handle to edit60 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of edit60 as text
% str2double(get(hObject,'String')) returns contents of edit60 as a double
% --- Executes during object creation, after setting all properties.
function edit60_CreateFcn(hObject, eventdata, handles)
% hObject handle to edit60 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called
% Hint: edit controls usually have a white background on Windows.
% See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
% --- Executes on button press in radiobutton29.
function radiobutton29_Callback(hObject, eventdata, handles)
% hObject handle to radiobutton29 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hint: get(hObject,'Value') returns toggle state of radiobutton29
function edit61_Callback(hObject, eventdata, handles)
% hObject handle to edit61 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of edit61 as text
% str2double(get(hObject,'String')) returns contents of edit61 as a double
% --- Executes during object creation, after setting all properties.
function edit61_CreateFcn(hObject, eventdata, handles)
% hObject handle to edit61 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called
% Hint: edit controls usually have a white background on Windows.
% See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
% --- Executes on button press in radiobutton30.
function radiobutton30_Callback(hObject, eventdata, handles)
% hObject handle to radiobutton30 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hint: get(hObject,'Value') returns toggle state of radiobutton30
% --- Executes on button press in pushbutton23.
function pushbutton23_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton23 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% 判斷需要進行哪幾種演算法
axes(handles.axes2)
cla reset
set(handles.axes2,'visible','off')
reason2_ACO = get(handles.radiobutton5,'value'); % ACS
if reason2_ACO==0
set(handles.edit57,'string',0)
end
reason2_AS = get(handles.radiobutton2,'value'); % AS
if reason2_AS==0
set(handles.edit58,'string',0)
end
reason2_ACS = get(handles.radiobutton1,'value'); % ACO
if reason2_ACS==0
set(handles.edit59,'string',0)
end
reason2_RAS = get(handles.radiobutton6,'value'); % RAS
if reason2_RAS==0
set(handles.edit60,'string',0)
end
reason2_EAS = get(handles.radiobutton7,'value'); % EAS
if reason2_EAS==0
set(handles.edit61,'string',0)
end
figure_multi_algorithm(hObject, eventdata, handles)
% --- Executes on button press in pushbutton24.
function pushbutton24_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton24 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
init_all(handles);
% --- Executes on button press in pushbutton27.
function pushbutton27_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton27 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% [f,p]=uiputfile({'*.jpg'},'儲存檔案');
% str=strcat(p,f);
% axes(handles.axes1);
% pix=getframe(handles.axes1);
% save file1 pix
% saveas(pix,'路徑規劃圖','emf')
% imwrite(pix.cdata,'路徑規劃圖','jpg')
% set(gcf,'CurrentAxes',handles.axes1);
% pix=getimage(gcf);
% imwrite(pix,'路徑規劃圖')
wait_me = waitbar(0,'正在儲存');
for i=1:100
pause(0.0001);
waitbar(i/110,wait_me);
end
name = '路徑規劃圖';
if exist(name)==0
mkdir(name);
end
cd('路徑規劃圖')
new_f_handle=figure('visible','off');
new_axes=copyobj(handles.axes1,new_f_handle);
pix=getframe(gcf);
set(new_axes,'units','default','position','default');
myfile_time = datestr(now,30);
saveas(gca,['路徑規劃圖',char(myfile_time)],'fig')
saveas(gca,['路徑規劃圖',char(myfile_time)],'emf')
close(gcf)
cd ..
waitbar(0.99,wait_me);
delete(wait_me);
% delete(new_axes)
% imwrite(pix.cdata,'路徑規劃圖','fig')
% [filename,pathname fileindex]=uiputfile({'*.jpg';'*.bmp'},'save picture as');
% --- Executes on button press in pushbutton28.
function pushbutton28_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton28 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
set(handles.edit38,'string','正在儲存,請稍後');
wait_me = waitbar(0,'正在儲存');
for i=1:100
pause(0.0001);
waitbar(i/110,wait_me);
end
global legend_end
name = '迭代曲線圖';
if exist(name)==0
mkdir(name);
end
cd('迭代曲線圖')
new_f_handle = figure('visible','off');
set(gcf, 'PaperPositionMode', 'auto');
new_axes = copyobj(handles.axes3,new_f_handle);
legend(legend_end);
pix = getframe(gcf);
set(new_axes,'units','default','position','default');
myfile_time = datestr(now,30);
saveas(gca,['迭代曲線圖',char(myfile_time)],'fig')
saveas(gca,['迭代曲線圖',char(myfile_time)],'emf')
close(gcf)
cd ..
set(handles.edit38,'string','儲存成功');
waitbar(0.99,wait_me);
delete(wait_me);
% --- Executes on button press in pushbutton29.
function pushbutton29_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton29 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
set(handles.edit38,'string','正在儲存,請稍後');
wait_me = waitbar(0,'正在儲存');
for i=1:100
pause(0.001);
waitbar(i/110,wait_me);
end
global reason
if reason==1
name = '同一演算法的統計結果';
if exist(name)==0
mkdir(name);
end
cd('同一演算法的統計結果')
handles_tmp = handles.uitable1;
data = get(handles_tmp,'data');
column_name = get(handles_tmp,'columnname');
row_name = get(handles_tmp,'rowname');
myfile_time = datestr(now,30);
filename = ['同一演算法的統計結果',char(myfile_time)];
xlswrite(filename,column_name','sheet1','B1:D1');
xlswrite(filename,row_name,'sheet1','A2');
xlswrite(filename,data,'sheet1','B2');
cd ..
end
if reason==2
name = '不同演算法的比較';
if exist(name)==0
mkdir(name);
end
cd('不同演算法的比較')
handles_tmp = handles.uitable2;
data = get(handles_tmp,'data');
column_name = get(handles_tmp,'columnname');
row_name = get(handles_tmp,'rowname');
myfile_time = datestr(now,30);
filename = ['不同演算法的統計結果',char(myfile_time)];
xlswrite(filename,column_name','sheet1','B1:F1');
xlswrite(filename,row_name,'sheet1','A2');
xlswrite(filename,data,'sheet1','B2');
cd ..
cd('不同演算法的比較')
handles_tmp = handles.uitable3;
data = get(handles_tmp,'data');
column_name = get(handles_tmp,'columnname');
row_name = get(handles_tmp,'rowname');
myfile_time = datestr(now,30);
filename = ['不同演算法的收斂值',char(myfile_time)];
xlswrite(filename,column_name','sheet1','B1:F1');
xlswrite(filename,row_name,'sheet1','A2');
xlswrite(filename,data,'sheet1','B2');
cd ..
cd('不同演算法的比較')
handles_tmp = handles.uitable4;
data = get(handles_tmp,'data');
column_name = get(handles_tmp,'columnname');
row_name = get(handles_tmp,'rowname');
myfile_time = datestr(now,30);
filename = ['不同演算法的收斂次數',char(myfile_time)];
xlswrite(filename,column_name','sheet1','B1:F1');
xlswrite(filename,row_name,'sheet1','A2');
xlswrite(filename,data,'sheet1','B2');
cd ..
end
set(handles.edit38,'string','儲存成功');
waitbar(0.99,wait_me);
delete(wait_me);
% --- Executes on button press in pushbutton30.
function pushbutton30_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton30 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
set(handles.edit38,'string','正在儲存,請稍後');
wait_me = waitbar(0,'正在儲存');
for i=1:100
pause(0.0001);
waitbar(i/110,wait_me);
end
name = '多樣性曲線圖';
if exist(name)==0
mkdir(name);
end
cd('多樣性曲線圖')
new_f_handle=figure('visible','off');
new_axes=copyobj(handles.axes2,new_f_handle);
pix=getframe(gcf);
set(new_axes,'units','default','position','default');
myfile_time = datestr(now,30);
saveas(gca,['多樣性曲線圖',char(myfile_time)],'fig')
saveas(gca,['多樣性曲線圖',char(myfile_time)],'emf')
close(gcf)
cd ..
set(handles.edit38,'string','儲存成功');
waitbar(0.99,wait_me);
delete(wait_me);
% --- Executes on button press in pushbutton31.
function pushbutton31_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton31 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
global permission_goal permission_start
permission_goal = 0;
permission_start = 0;
完整程式碼新增QQ1575304183
相關文章
- 基於ACO蟻群最佳化的UAV最優巡檢路線規劃演算法matlab模擬演算法Matlab
- 【路徑規劃】基於蟻群的多無人機攻擊排程無人機
- 基於ACO蟻群最佳化的VRPSD問題求解matlab模擬,輸出規劃路徑結果和滿載率VRMatlab
- 演算法問題基於蟻群演算法求解求解TSP問題(JAVA)演算法Java
- 基於禁忌搜尋演算法的TSP路徑規劃matlab模擬演算法Matlab
- 基於ACO蟻群最佳化演算法的WSN網路路由最佳化matlab模擬演算法路由Matlab
- 高德地圖導航和路徑規劃地圖
- 路徑規劃: 淺談路徑規劃演算法演算法
- 蟻群演算法java實現以及TSP問題蟻群演算法求解演算法Java
- 路徑規劃演算法 - 求解最短路徑 - Dijkstra(迪傑斯特拉)演算法演算法
- matlab求解非線性規劃Matlab
- matlab求解線性規劃問題Matlab
- 路徑規劃之A*演算法演算法
- RRT路徑規劃演算法演算法
- PRM路徑規劃演算法演算法
- 運籌優化(十)--整數規劃求解優化
- 蟻群演算法原理及Matlab實現演算法Matlab
- 基礎路徑規劃演算法(Dijikstra、A*、D*)總結演算法
- 2.基於取樣的路徑規劃:RRT
- 攬貨最短路徑解決方案演算法 - C# 蟻群優化演算法實現演算法C#優化
- 動態規劃求解矩陣累計和最大的路徑動態規劃矩陣
- 「分散式技術專題」基於代價解析的最優路徑規劃分散式
- 機器人路徑規劃 A*與D*機器人路徑規劃演算法詳述機器人演算法
- 如何用HMS Core位置和地圖服務實現附近地點路徑規劃功能地圖
- 【蟻群演算法】演算法
- 基於免疫演算法的TSP問題求解matlab模擬演算法Matlab
- 蟻群演算法(ACO)演算法
- 基於多路徑路由的全域性感知網路流量分配最佳化演算法matlab模擬路由演算法Matlab
- 基於動態規劃的強化學習演算法動態規劃強化學習演算法
- 基於魚群演算法的散熱片形狀最佳化matlab模擬演算法Matlab
- 關於 線性規劃 非線性規劃 與 凸優化優化
- 蟻群演算法 matlab程式詳細解答-菜鳥也能看懂演算法Matlab
- 遊戲AI研究(三):路徑規劃遊戲AI
- Excel中的規劃求解。Excel
- 網頁設計柵格就是你對頁面版式的規劃網頁
- PostgreSQLraster(柵格資料)st_value優化舉例SQLAST優化
- 微信小程式 + 騰訊地圖SDK 實現路線規劃微信小程式地圖
- 基於數值優化的自動駕駛實時運動規劃優化自動駕駛