posts - 195, comments - 34, trackbacks - 0, articles - 1

          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);



          Feedback

          # re: MATLAB GUI編程中幾個(gè)有用的程序段[未登錄](méi)  回復(fù)  更多評(píng)論   

          2007-09-06 09:45 by zz
          Nice!

          # re: MATLAB GUI編程中幾個(gè)有用的程序段  回復(fù)  更多評(píng)論   

          2009-08-29 15:23 by ncepuyuyu
          Fine
          主站蜘蛛池模板: 屏边| 民县| 南宁市| 平南县| 湖南省| 英山县| 盐津县| 静乐县| 乃东县| 永安市| 德州市| 沿河| 蓬安县| 望城县| 昌吉市| 上犹县| 昌宁县| 临潭县| 上饶市| 海兴县| 南阳市| 治县。| 农安县| 电白县| 那坡县| 尼木县| 稻城县| 永济市| 双城市| 安丘市| 罗源县| 陆丰市| 曲阜市| 临武县| 昌邑市| 榆树市| 台湾省| 板桥市| 平江县| 海林市| 聂荣县|