MATLAB GUI编程中几个有用的程序段
1、??啟動
% 獲取當前文件所在路徑
currPath = fileparts(mfilename('fullpath'));
% 切換工作路徑到當前位置
?
cd(currPath);
?
% 判斷所用操作系統
if computer == 'PCWIN'
????% MATLAB版本號
????v = version;
????if v(1)~='7'????????
????????warndlg ('Only run in matlab 7.x(R14.x)');
????????return
else
????????% 添加當前路徑下的所有子目錄
????????addpath(genpath(pwd));
????????addpath(genpath(currPath));
????end
end
?
?
2、??在GUI中使用Axes控件
?
% 1.刪除所有畫線及對應圖例
% 查找Axes控件中的畫線
sameLines = findobj('type','line');
% 逐一刪除這些畫線
????for i = 1 :length(sameLines)
????????delete(sameLines(i))
end
% 獲取Axes控件中的圖例(由于畫線全部被刪除,因此為空)
lgStr = get(legend(handles.ResultsAxes), 'String');
% 重新設置圖例(為空)
????legend(handles.ResultsAxes,lgStr);
?
% 2.添加畫線
% 獲取原來的圖例
lgStr = get(handles.hLegend, 'String');
% 設置下一個畫線為添加方式
set(handles.ResultsAxes, 'Nextplot', 'add');
% 指定要畫線的Axes
axes(handles.ResultsAxes);
% 畫線
plot(distance_target, '-r')
% 添加圖例
handles.hLegend = legend(handles.ResultsAxes, lgStr,'目標距離');
?
% 3.刪除某一畫線
% 所刪除畫線對應的數據為distance_target,獲取它的句柄
sameLines = findobj('type','line','YData', distance_target);
% 刪除畫線
????if ~isempty(sameLines)
????????delete(sameLines);
end
% 獲取原有的圖例
lgStr = get(legend(handles.ResultsAxes), 'String');????????????????????
% 從原有圖例中刪除對應圖例
????legend(handles.ResultsAxes, setdiff(lgStr, {'目標距離'}));
?
3、??在GUI中使用Excel表格(Activex控件Microsoft Office Spreedsheet)
% 獲取現在使用的spreedsheet的句柄
ActiveSheet = get(handles.activex1,'ActiveSheet');
?? % 現在使用的spreedsheet的現在使用工作薄
?? ActiveWorkbook = get(handles.activex1,'ActiveWorkbook');????????????
?? % 現在使用的表
eSheets = handles.activex1.ActiveWorkbook.Sheets;
?? % 使用表的第一個子表
?? eSheet1 = eSheets.get('Item', 1);
?? % 激活該表
?? eSheet1.Activate;
% 獲取當前單元格的句柄
ActiveCell = get(handles.activex1, 'ActiveCell');
% 選擇坐標為A1的單元格
Select(Range(ActiveSheet,'A1'));
% 獲取當前單元格的句柄
ActiveCell = get(handles.activex1, 'ActiveCell');
% 設置當前單元格中的內容
????set(ActiveCell, 'Value', '仿真結果報告');??
?
4、??為Axes控件設置圖片
% 所有設置的Axes控件
axes(handles.MyLog);
% 讀取圖片數據
Image_tip1=imread('Setting/mylog.jpg');
% 顯示圖片
image(Image_tip1);
轉自:http://www.blogjava.net/dongwq/archive/2009/08/29/125683.html#293090
總結
以上是生活随笔為你收集整理的MATLAB GUI编程中几个有用的程序段的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 批处理精华教程
- 下一篇: 清华校长送给毕业生的五句话,值得一看!