24小时热门版块排行榜    

查看: 967  |  回复: 8
【奖励】 本帖被评价6次,作者ning903增加金币 4.5
当前主题已经存档。

ning903

木虫 (职业作家)


[资源] 【交流】MATLAB GUI编程中几个有用的程序段(搜索无重复)

MATLAB GUI编程中几个有用的程序段
,对该内容总结者表示感谢转自http://bbs.bccn.net/thread-54231-1-1.html


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

[ Last edited by sunxiao on 2009-3-8 at 12:51 ]
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

ning903

木虫 (职业作家)


为什么没有看的呢
2楼2008-11-28 10:22:56
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

dnp

荣誉版主 (知名作家)


★★★ 三星级,支持鼓励

呵呵,现在GUI非常简单,只要会用C或者其他的如Java进行界面编程的人都应该会用,直接在命令窗口输入:

guide;

就会得到新的GUI界面,然后按照操作一个一个来,想要什么,就拉什么进来,鼠标操作非常方便了现在~~

很想知道Matlab 2008编出来的GUI会是什么样呢?
3楼2008-12-03 16:49:09
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

fspdlh

金虫 (正式写手)


★★★★★ 五星级,优秀推荐

很实用,谢谢
4楼2009-03-03 12:14:07
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

melody6689

银虫 (小有名气)


★★★ 三星级,支持鼓励

不错,学习下
5楼2009-03-04 10:23:12
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 ning903 的主题更新
☆ 无星级 ★ 一星级 ★★★ 三星级 ★★★★★ 五星级
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 帮忙看看fileCode +4 wwncly 2026-08-10 8/400 2026-08-10 22:07 by demonstreets
[基金申请] FileCode能看出啥? +7 要乐观耀哥 2026-08-10 15/750 2026-08-10 19:29 by 要乐观耀哥
[基金申请] filecode +8 documentary 2026-08-10 8/400 2026-08-10 19:20 by loufangrui
[基金申请] 确定了,国自然21号放榜 +6 布布和一二 2026-08-10 7/350 2026-08-10 19:15 by 2000zf36392
[基金申请] 静等基金结果 +5 gjjjzhong 2026-08-10 16/800 2026-08-10 17:19 by Tide man
[基金申请] 我的国基提前知道中了,可是同事的操作让我实在接受不了,怎么会有这样的人 +8 家与远方 2026-08-10 11/550 2026-08-10 17:09 by 六两废铜
[基金申请] 好奇怪的filecode +4 布布和一二 2026-08-08 5/250 2026-08-10 14:20 by 冰心玉壶晴
[基金申请] 据悉今年马上要出结果了 +7 瞬息宇宙 2026-08-10 8/400 2026-08-10 12:42 by Vivilian
[基金申请] 这样的filecode谁见过 +11 布布和一二 2026-08-08 22/1100 2026-08-10 11:10 by wmfsnow
[基金申请] filecode与中标关系的预测 +5 布布和一二 2026-08-07 5/250 2026-08-09 16:15 by 袁向阳007
[基金申请] fileCode有新解读? +10 Tide man 2026-08-08 18/900 2026-08-09 12:55 by 仁砚薪传
[基金申请] 基金中了 +14 laoda193707 2026-08-06 14/700 2026-08-08 00:23 by 实验小白ha
[基金申请] 化学口download_prp&fileCode的固定段好像这几天一直没变,有变的大神么? +3 Tide man 2026-08-07 4/200 2026-08-07 22:39 by Tide man
[基金申请] 固定端突然变了,今天 +6 archvillain 2026-08-06 10/500 2026-08-07 16:03 by 医学老男孩
[基金申请] 大家散了吧,后缀研究没有意义,别浪费时间了,过好目前的每一天,不要焦虑 +5 Tide man 2026-08-06 7/350 2026-08-07 13:11 by 医学老男孩
[基金申请] filecode +14 等待解的谜 2026-08-06 19/950 2026-08-07 12:20 by wlwhappy
[基金申请] filecode +8 布布和一二 2026-08-06 11/550 2026-08-06 20:41 by tangpu318
[基金申请] 好消息?这个有何含义??? +8 Tide man 2026-08-05 10/500 2026-08-05 16:14 by xmuxiaoyu
[基金申请] 有没有H口的?有收到消息的吗? +3 超级海虾 2026-08-04 3/150 2026-08-04 17:26 by 学教育滴
[基金申请] 纯娱乐,不喜欢勿喷 +7 Tide man 2026-08-04 10/500 2026-08-04 15:10 by loufangrui
信息提示
请填处理意见