| 编程中国 | 业界新闻 | 技术文章 | 视频教程 | 下载频道 | 程序源码 | 个人空间 | 编程论坛
全能ASP/PHP/ASP.NET主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付买域名,送MP3、MP4
高端软件开发 = 年薪十万不是梦赛孚耐:软件保护加密专家身份认证令牌USB KEY买空间,免费送域名(厦门中资源)
共有 5340 人关注过本帖
标题:[分享]MATLAB GUI编程中几个有用的程序段
收藏  订阅  推荐  打印 
Genial
Rank: 2
等级:注册会员
威望:6
帖子:175
积分:1950
注册:2006-3-31
[分享]MATLAB GUI编程中几个有用的程序段

昨天找其他资料看到的,尽管简单,觉得不错,分享给各位
不好意思没记下网址,对该内容总结者表示感谢

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

搜索更多相关主题的帖子: MATLAB  GUI  分享  
2006-3-31 20:31
abingchem
Rank: 12Rank: 12Rank: 12
等级:贵宾
威望:24
帖子:716
积分:7466
注册:2004-12-30

恩,好东西,收了:)

此人已消失
2006-4-1 23:28
hanghan6659
Rank: 1
等级:新手上路
帖子:1
积分:110
注册:2006-4-10

有没有好一点的程序实例呀
2006-4-10 10:38
renmeng
Rank: 1
等级:新手上路
帖子:13
积分:230
注册:2006-4-19

谢了

2006-4-30 23:40
chunxueaomei
Rank: 1
等级:新手上路
帖子:4
积分:140
注册:2006-5-10

谢谢!
2006-5-10 17:41
chunxueaomei
Rank: 1
等级:新手上路
帖子:4
积分:140
注册:2006-5-10

很有用的!
2006-5-10 17:42
chunxueaomei
Rank: 1
等级:新手上路
帖子:4
积分:140
注册:2006-5-10

我想知道gui进行函数回调时的相关语法!刚入门,一点思路都没有!
可否有高人帮助一下!
最好举个小例子说明!谢谢!
2006-5-10 17:51
chunxueaomei
Rank: 1
等级:新手上路
帖子:4
积分:140
注册:2006-5-10

能否提供一个数字识别的gui主窗体啊?太郁闷了!作了窗体,回调函数不知怎么写!谢谢帮忙!
2006-5-10 17:55
pcb
Rank: 1
等级:新手上路
帖子:15
积分:250
注册:2006-5-28

有没有关于从 装载数据,并用该数据在设计的GUI界面绘图的例子啊,谢谢
如果有的话,麻烦发我邮箱谢谢了
yqlwyqlw@yahoo.com.cn

2006-5-29 11:30
shanlog
Rank: 1
等级:新手上路
帖子:4
积分:140
注册:2006-7-5

谢谢,真棒!
2006-7-5 09:24
关于我们 | 广告合作 | 编程中国 | 清除Cookies | Archiver | WAP | TOP

编程中国 版权所有,并保留所有权利。鲁ICP备08000592号
Powered by Discuz, Processed in 0.056649 second(s), 9 queries.
Copyright©2004-2008, BCCN.NET, All Rights Reserved