MATLABS基础与编程入门 恒润科技 HIRAIN TECHNOLOGIES GUIDE 图形用户界面入门 HiRain Technologies
MATLAB® 基础与编程入门 GUIDE 图形用户界面入门
恒润科技 HiRain Technologies HIRAIN TECHNOLOGIES 课程概述 ■使用图像 ■句柄图形( Handle Graphics@入门 ■设计GU ■使用GUDE创建外观 ■设置属性 ■保存GU ■编写回调函数 ■激活并测试 www.hirain.com
2 课程概述 使用图像 句柄图形(Handle Graphics®)入门 设计 GUI 使用 GUIDE 创建外观 设置属性 保存 GUI 编写回调函数 激活并测试
恒润科技 HiRain Technologies HIRAIN TECHNOLOGIES 读取二进制的数据文件 > help loadnoaabin LOADNOAABIN Load a NOAA binary file [data, hdr]= loadnoaabin(fname) data is the matrix, hdr is the structure with information about the file ■在本章中使用的数据文件是成对匹配出现的,具有相同文 件名但是具有不同的扩展名(bin和hd)hd文件中保存 了读取bin文件必要的信息说明。在这里可以通过单一函 数完成读取数据的工作 www.hirain.com
3 读取二进制的数据文件 >> help loadnoaabin LOADNOAABIN Load a NOAA binary file [data,hdr] = loadnoaabin(fname) data is the matrix, hdr is the structure with information about the file. 在本章中使用的数据文件是成对匹配出现的,具有相同文 件名但是具有不同的扩展名(.bin和.hdr)。.hdr 文件中保存 了读取.bin文件必要的信息说明。在这里可以通过单一函 数完成读取数据的工作
恒润科技 HiRain Technologies HIRAIN TECHNOLOGIES 加载并显示.bin文件 ■加载 France.bin文件,并且显示该数据文件 > [data, hdr]= loadnoaabin(France. bin) images(data) >>1。 ad cape > colormap(map) > caxis( [hdrelev m min hdr elev m max]) 300 700 www.hirain.com
4 加载并显示 .bin 文件 加载 France.bin 文件,并且显示该数据文件 >> [data,hdr] = loadnoaabin('France.bin'); >> imagesc(data) >> load cape >> colormap(map) >> caxis(... [hdr.elev_m_min hdr.elev_m_max])
恒润科技 HiRain Technologies HIRAIN TECHNOLOGIES 句柄图形( Handle Graphics)入门 ■ MATLAB图形是由对象 objects)组成的 每个图形对象都有唯一一个句柄 handle和一套定义其外 观的属性( properties) ■对象按层次 hierarchy排布 Root(screen) Figure Axes UI Objects UibuttongroupicontrolUicontextmenUimenu Uipanel Uitoolbar Uipushtool Uitoggle Core Objects Plot objects Group objects Annotation Objects Image Light Line Patch Rectangle surface Text www.hirain.com
5 句柄图形(Handle Graphics)入门 MATLAB图形是由对象(objects)组成的 每个图形对象都有唯一一个句柄(handle)和一套定义其外 观的属性(properties) 对象按层次(hierarchy)排布 Root (screen) Figure Core Objects Plot Objects Group Objects Annotation Objects Image Light Line Patch Rectangle Surface Axes UI Objects UibuttongroupUicontrolUicontextmenuUimenuUipanel Uitoolbar Uipushtool Uitoggle Text
恒润科技 HiRain Technologies HIRAIN TECHNOLOGIES 图形对象的层次 Text My Computer Root object object -Gaogui Load bin Figure Peak 4469 object Uicontrol objects Image bject d star A MATLAB 思多 www.hirain.com
6 图形对象的层次 Root object Figure object Axes Uicontrol objects Image object Text object
恒润科技 HiRain Technologies HIRAIN TECHNOLOGIES 获得一个对象的句柄 1.创建句柄值 h line plot(x data, y data 2.实用函数 何谓当前对象? 根对象句柄 最近一次生成的对象 gcf-当前图句柄 或 gca-当前轴句柄 最近一个选中的对象 gco-当前对象句柄 3.F| NDOBJ和F| NDALL obj= findobj(h parent, 'Property','Value,..) h all findall(h parent, 默认值=0( root objec) www.hirain.com
7 1. 创建句柄值 2. 实用函数 0 - 根对象句柄 gcf - 当前图句柄 gca - 当前轴句柄 gco - 当前对象句柄 3. FINDOBJ 和 FINDALL 获得一个对象的句柄 h_obj = findobj(h_parent, 'Property', 'Value', ...) h_all = findall(h_parent, ...) h_line = plot(x_data, y_data, ...) 何谓当前对象? • 最近一次生成的对象 或 • 最近一个选中的对象 默认值 = 0 (root object)
恒润科技 HiRain Technologies HIRAIN TECHNOLOGIES 修改对象属性( Properties) ■获得当前属性清单: get(h object) get(gca) ■获得可设置的属性清单: set(h object) set(gcf) ■获得一个对象的属性: get(h object, 'PropertyName ' get(gcf, ' Color ' ■修改一个对象属性: set(h object, PropertyName', 'New value ') set(gca, 'Color,'Red ') 参考: Help Browser- Full Text search for“ Graphics object Hierarchy” www.hirain.com 8
8 set(h_object, 'PropertyName', 'New_Value') set(gca, 'Color', 'Red') 修改对象属性( Properties) 获得当前属性清单: 获得可设置的属性清单: 获得一个对象的属性: 修改一个对象属性: get(h_object) -- get(gca) set(h_object) -- set(gcf) get(h_object, 'PropertyName') get(gcf, 'Color') 参考: Help Browser - Full Text search for “Graphics Object Hierarchy
恒润科技 HiRain Technologies HIRAIN TECHNOLOGIES 使用缺省设置 ■大多数属性都具有预定义的”原厂设定”值。 (在属性值未指定时使用缺省值) ■用户可以定义自己用于生成新对象时的”缺省值”。 (把缺省设置放在“ startup. n”中使用使其在整个进程中都有效) 语法: set(ancestor, Default', ) 使用 root object(0)以作用于所有新创建的对象 www.hirain.com 9
9 使用缺省设置 大多数属性都具有预定义的”原厂设定”值。 (在属性值未指定时使用缺省值) 用户可以定义自己用于生成新对象时的”缺省值” 。 (把缺省设置放在“startup.m”中使用使其在整个进程中都有效) 语法: set(ancestor,'Default',) 使用 root object (0) 以作用于所有新创建的对象
恒润科技 HiRain Technologies HIRAIN TECHNOLOGIES 示例:使用缺省值 设定 Default Surface Edge Color为Bue并生成新的曲面 > set(o, 'DefaultsurfaceEdgecolor','b) > h=surf(peaks(15) Eile Edit Tools window Help L回设定 EdgeColor为Grn 回舀AAA/A月 > set(h, 'Edge Color!,g) 重置为 Default value > set(h, 'EdgeColor ', 'default' 指定 Default值 重置或删除值 > set(h , 'Edge Color ,'factory ' > set(h,'Edge Color', '') defaults www.hirain.com
10 示例:使用缺省值 >> defaults >> set(0, 'DefaultSurfaceEdgeColor', 'b') >> h=surf(peaks(15)); 设定 Default Surface EdgeColor 为 Blue 并生成 新的曲面. >> set(h, 'EdgeColor', 'g') 设定 EdgeColor 为Green >> set(h, 'EdgeColor', 'default') 指定Default 值 重置为 Default Value >> set(h, 'EdgeColor', 'factory') >> set(h, 'EdgeColor', 'remove') 重置或删除值