网站首页  |  业界新闻  |  技术文章  |  视频教程  |  下载频道  |  程序源码  |  个人空间  |  编程论坛
 
学习型 ASP/PHP/ASP.NET 主机 30元/年 全能 ASP/PHP/ASP.NET 主机,支持月付 专业 MSSQL 数据库空间,支持月付 专业 MySQL 数据库空间,支持月付
 18 12
发新话题
打印

[分享]MATLAB GUI编程中几个有用的程序段

[分享]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);

TOP

恩,好东西,收了:)
此人已消失

TOP

有没有好一点的程序实例呀

TOP

谢了

TOP

谢谢![em25][em30]

TOP

很有用的![em30]

TOP

我想知道gui进行函数回调时的相关语法!刚入门,一点思路都没有!
可否有高人帮助一下!
最好举个小例子说明!谢谢!

TOP

能否提供一个数字识别的gui主窗体啊?太郁闷了!作了窗体,回调函数不知怎么写!谢谢帮忙![em25][em30]

TOP

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

TOP

谢谢,真棒!

TOP

 18 12
发新话题