日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

MATLAB GUI编程中几个有用的程序段

發(fā)布時(shí)間:2025/3/15 编程问答 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MATLAB GUI编程中几个有用的程序段 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(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);

轉(zhuǎn)自:http://www.blogjava.net/dongwq/archive/2009/08/29/125683.html#293090

總結(jié)

以上是生活随笔為你收集整理的MATLAB GUI编程中几个有用的程序段的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。