| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 12163 人关注过本帖, 1 人收藏
标题:[分享]MATLAB GUI编程中几个有用的程序段
只看楼主 加入收藏
Genial
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:175
专家分:0
注 册:2006-3-31
收藏(1)
 问题点数:0 回复次数:22 
[分享]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-03-31 20:31
abingchem
Rank: 6Rank: 6
等 级:贵宾
威 望:24
帖 子:716
专家分:0
注 册:2004-12-30
收藏
得分:0 
恩,好东西,收了:)

此人已消失
2006-04-01 23:28
hanghan6659
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2006-4-10
收藏
得分:0 
有没有好一点的程序实例呀
2006-04-10 10:38
renmeng
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2006-4-19
收藏
得分:0 

谢了

2006-04-30 23:40
chunxueaomei
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2006-5-10
收藏
得分:0 
谢谢!
2006-05-10 17:41
chunxueaomei
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2006-5-10
收藏
得分:0 
很有用的!
2006-05-10 17:42
chunxueaomei
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2006-5-10
收藏
得分:0 
我想知道gui进行函数回调时的相关语法!刚入门,一点思路都没有!
可否有高人帮助一下!
最好举个小例子说明!谢谢!
2006-05-10 17:51
chunxueaomei
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2006-5-10
收藏
得分:0 
能否提供一个数字识别的gui主窗体啊?太郁闷了!作了窗体,回调函数不知怎么写!谢谢帮忙!
2006-05-10 17:55
pcb
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2006-5-28
收藏
得分:0 

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

2006-05-29 11:30
shanlog
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2006-7-5
收藏
得分:0 
谢谢,真棒!
2006-07-05 09:24
快速回复:[分享]MATLAB GUI编程中几个有用的程序段
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017969 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved