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

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值