昨天找其他資料看到的,盡管簡(jiǎn)單,覺得不錯(cuò),分享給各位
不好意思沒記下網(wǎng)址,對(duì)該內(nèi)容總結(jié)者表示感謝
MATLAB GUI編程中幾個(gè)有用的程序段
1、 啟動(dòng)
% 獲取當(dāng)前文件所在路徑
currPath = fileparts(mfilename('fullpath'));
% 切換工作路徑到當(dāng)前位置
cd(currPath);
% 判斷所用操作系統(tǒng)
if computer == 'PCWIN'
% MATLAB版本號(hào)
v = version;
if v(1)~='7'
warndlg ('Only run in matlab 7.x(R14.x)');
return
else
% 添加當(dāng)前路徑下的所有子目錄
addpath(genpath(pwd));
addpath(genpath(currPath));
end
end
2、 在GUI中使用Axes控件
% 1.刪除所有畫線及對(duì)應(yīng)圖例
% 查找Axes控件中的畫線
sameLines = findobj('type','line');
% 逐一刪除這些畫線
for i = 1 :length(sameLines)
delete(sameLines(i))
end
% 獲取Axes控件中的圖例(由于畫線全部被刪除,因此為空)
lgStr = get(legend(handles.ResultsAxes), 'String');
% 重新設(shè)置圖例(為空)
legend(handles.ResultsAxes,lgStr);
% 2.添加畫線
% 獲取原來(lái)的圖例
lgStr = get(handles.hLegend, 'String');
% 設(shè)置下一個(gè)畫線為添加方式
set(handles.ResultsAxes, 'Nextplot', 'add');
% 指定要畫線的Axes
axes(handles.ResultsAxes);
% 畫線
plot(distance_target, '-r')
% 添加圖例
handles.hLegend = legend(handles.ResultsAxes, lgStr,'目標(biāo)距離');
% 3.刪除某一畫線
% 所刪除畫線對(duì)應(yīng)的數(shù)據(jù)為distance_target,獲取它的句柄
sameLines = findobj('type','line','YData', distance_target);
% 刪除畫線
if ~isempty(sameLines)
delete(sameLines);
end
% 獲取原有的圖例
lgStr = get(legend(handles.ResultsAxes), 'String');
% 從原有圖例中刪除對(duì)應(yīng)圖例
legend(handles.ResultsAxes, setdiff(lgStr, {'目標(biāo)距離'}));
3、 在GUI中使用Excel表格(Activex控件Microsoft Office Spreedsheet)
% 獲取現(xiàn)在使用的spreedsheet的句柄
ActiveSheet = get(handles.activex1,'ActiveSheet');
% 現(xiàn)在使用的spreedsheet的現(xiàn)在使用工作薄
ActiveWorkbook = get(handles.activex1,'ActiveWorkbook');
% 現(xiàn)在使用的表
eSheets = handles.activex1.ActiveWorkbook.Sheets;
% 使用表的第一個(gè)子表
eSheet1 = eSheets.get('Item', 1);
% 激活該表
eSheet1.Activate;
% 獲取當(dāng)前單元格的句柄
ActiveCell = get(handles.activex1, 'ActiveCell');
% 選擇坐標(biāo)為A1的單元格
Select(Range(ActiveSheet,'A1'));
% 獲取當(dāng)前單元格的句柄
ActiveCell = get(handles.activex1, 'ActiveCell');
% 設(shè)置當(dāng)前單元格中的內(nèi)容
set(ActiveCell, 'Value', '仿真結(jié)果報(bào)告');
4、 為Axes控件設(shè)置圖片
% 所有設(shè)置的Axes控件
axes(handles.MyLog);
% 讀取圖片數(shù)據(jù)
Image_tip1=imread('Setting/mylog.jpg');
% 顯示圖片
image(Image_tip1);
聯(lián)系客服