GUI绘图界面设计

本文介绍matlab中简单的gui绘图界面设计
设计内容:
1、设计GUI界面:
2、通过下拉菜单选择绘制正弦、正切函数;
3、通过编辑框输入命令,根据命令绘制图形;
4、通过按钮在图形中输出标注(标题、各轴名称);
设计步骤:
1、GUI界面的设计在matlab的书籍中有介绍,这里不过多的赘述,在这里只显示响应函数的编写。
% --- Executes just before aaa is made visible. function aaa_OpeningFcn(hObject, eventdata, handles, varargin) %打开GUI设计界面后的显示 % This function has no output args, see OutputFcn. % hObject handle to figure% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % varargin command line arguments to aaa (see VARARGIN) handles.membrane=membrane; %建立membrane结构体 [x,y]=meshgrid(-8:5:8); %网格采样点函数r=sqrt(x.^2+y.^2); %计算半径sina=sin(r); handles.sina=sina;cosa=cos(r); handles.cosa=cosa;tana=tan(r); handles.tana=tana; %设置sina,cosa,tana结构体 handles.current_data=handles.membrane; surf(handles.current_data) %默认打开时,输出membrane函数的三维曲线图 title('三维曲线图'); xlabel('x轴'); ylabel('y轴'); zlabel('z轴'); % Choose default command line output for aaahandles.output = hObject; % Update handles structureguidata(hObject, handles); % UIWAIT makes aaa wait for user response (see UIRESUME) % uiwait(handles.figure1);
这里aaa是我的m文件名
2、部分程序

% --- Executes on selection change in popupmenu1.
function popupmenu1_Callback(hObject, eventdata, handles)
% hObject    handle to popupmenu1 (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA) 
% Hints: contents = cellstr(get(hObject,'String')) returns popupmenu1 contents as cell array
%        contents{get(hObject,'Value')} returns selected item from popupmenu1
var=get(handles.popupmenu1,'value');
x=0:0.01:2*pi;axes(handles.axes1)
switch var    
case 1        z=sin(x);        plot(x,z)        handles.current_data=handles.sina;        guidata(hObject, handles);        title('sin(x)');        xlabel('x轴');        ylabel('y轴');         
case 2        z=tan(x);        plot(x,z)        handles.current_data=handles.tana;        guidata(hObject, handles);        title('tan(x)');        xlabel('x轴');        ylabel('y轴');        end

popupmenu1是下拉菜单属性
3、部分程序
这是文本框的程序

function edit1_Callback(hObject, eventdata, handles)
% hObject    handle to edit1 (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA) 
% Hints: get(hObject,'String') returns contents of edit1 as text
%        str2double(get(hObject,'String')) returns contents of edit1 as a double var=get(handles.popupmenu1,'value');
x=0:0.01:2*pi;
switch var    
case 1        y=sin(x);        plot(x,y)        handles.current_data=handles.sina;        guidata(hObject, handles);     case 2        y=tan(x);        plot(x,y)        handles.current_data=handles.tana;        guidata(hObject, handles);
endset(gca,'XTick',0:pi/2:2*pi);set(gca,'XTickLabel',['0','pi/2','pi','3*pi/2','2*pi']);

这是显示按钮程序

function pushbutton3_Callback(hObject, eventdata, handles)
% hObject    handle to pushbutton2 (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
str=get(handles.edit1,'string');
switch str       
case 'surf'        surf(handles.current_data);        title('');        
case 'mesh'        mesh(handles.current_data);        title('');        
case 'contour'        contour(handles.current_data);        title('');
end

4、程序

% --- Executes on button press in pushbutton1.
function pushbutton1_Callback(hObject, eventdata, handles)
% hObject    handle to pushbutton1 (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
var=get(handles.popupmenu1,'value');
switch var    case 1        
%title('sin(x)');         
str=get(handles.edit1,'string');            
switch str                     
case 'surf'                         title({'sin(x)';'三维曲面图'});                     
case 'mesh'                         title({'sin(x)';'三维网格图'}');                    
case 'contour'                          title({'sin(x)';'短阵等高图'});            end    
case 2          %title('tan(x)');        
str=get(handles.edit1,'string');           
switch str                     
case 'surf'                         title({'tan(x)';'三维曲面图'});                    
case 'mesh'                         title({'tan(x)';'三维网格图'});                     
case 'contour'                          title({'tan(x)';'短阵等高图'});            end
end
(取消标注按钮)
% --- Executes on button press in pushbutton2.
function pushbutton2_Callback(hObject, eventdata, handles)
% hObject    handle to pushbutton2 (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)title('');

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/50174.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

前端ui设计稿

每个设计师都有「像素级还原」的设计追求,我总结了工作几年还原设计稿的几点经验。全文10059字,阅读时长约21分钟。 前言 UI设计师作为展示产品形态的执行层。产品上线前走查视觉与交互还原是必经环节,设计师可能都遇到过一个问题&#xff0…

【UI】关于如何画设计稿(基础篇)

文章目录 前言精炼对齐重复 详尽设计的四个基础原则简介亲密性原则对齐原则重复原则对比原则 前言 设计是自己的一个爱好,平时看了许多相关的内容,做了许多功课,到现在也有了一些成果。介于自己的并非专业人员,我没有将自己这些年…

chatgpt赋能python:Python字幕滚动:如何让你的视频内容更吸引人

Python字幕滚动:如何让你的视频内容更吸引人 如果你是一位视频创作者,你可能知道如何通过字幕来增加你的视频的吸引力。Python提供了一种简单且高效的方法来制作字幕滚动。字幕滚动是指将文字逐个显示在视频下方,以帮助观众跟上视频的进展。…

修复网站从万年PHP7.2更新到PHP8.0后的出现的bug

写在前面 2021年5月20日23:30左右,因为看到了WordPress仪表盘疯狂提示“为了网站的安全和效能,推荐使用PHP版本7.4以上”,然后我终于做出了一个令我后悔至今的决定——把万年没更新的PHP7.2直接更新到PHP8.0。在更新完成的那一刻&#xff0c…

Linux 删除 颜色转义字符 乱码 \x1b

目录 Linux颜色控制 方式一:添加sed正则命令 方式二:将输出写入文件再读取 Git颜色控制 使用Python paramiko ssh 获取 git 输出时,出现乱码,实际上是终端输出的ANSI颜色转义字符,用于控制终端颜色展示:…

pl/sql developer oracle生僻字显示问题

一、问题由来 随着国标GB18030的推行,各行各业都在如火如荼的落实改造。自己在工作中也发现很多问题,查阅了很多资料都未解决自己的问题。经过慢慢摸索,对生僻字经常出现的问题进行总结,现分享如下。 二、问题描述 1. or…

解决Sublime Text打开C++文件出现中文乱码

按CtrlShiftP打开命令行,输入Install Package,回车,然后继续输入ConvertToUTF8,回车。 等安装好了以后,应该问题就解决了

vant官网访问被拒绝

点击下方前往“站长工具”查询对应网址youzan.github.io的DNS 站长工具 找到TTL值最小的ip地址 和需要的网址对应关系,配置到hosts文件中 win10 hosts文件默认路径:C:\Windows\System32\drivers\etc 以管理员身份打开powershell 执行命令后会打开hosts…

java路径为什么拒绝访问_为什么拒绝访问路径?

回答(26) 2 years ago 我也遇到了问题,因此我在这篇文章上磕磕绊绊 . 我在复制/删除之前和之后添加了以下代码行 . Delete File.SetAttributes(file, FileAttributes.Normal); File.Delete(file); Copy File.Copy(file, dest, true); File.SetAttributes(dest, FileAttributes…

vnc访问被拒绝怎么办,vnc访问被拒绝怎么办,为什么会被拒绝?

vnc远程控制连接被拒绝的原因,服务器作为网站建设的常用设备,在服务器运行过程中起到举足轻重的作用。用户在选择服务器是常用的方式有服务器租用、虚拟主机租用以及服务器托管,通过进行文件以及数据的下载、上传等实现网站的更新,但无论选择哪一种方式都会遇到无法连接服务…

如何拒绝国外IP/屏蔽国外IP访问服务器?

如何拒绝国外IP/屏蔽国外IP访问服务器? 背景介绍公网上的服务器更容易受到攻击 解决方案大多国内公司的服务器都是面向国内用户 实现步骤整理IP地址段到Ipset1、下载IP地址段文件2、将IP地址段转换为Ipset指令3、Ipset写入地址段数据 在Iptables中调用Ipset的 china…

N的阶乘末尾0的个数 (python)

分析 对N的阶乘进行质因子分解,N! (),由于,所以0的个数只与X和Z有关,每一对2和5相乘可以得到一个10,于是有0的个数等于min(X,Z),不难看出X大于Z。所以0的个数只与Z有关。 解法 1 要计算Z,最…

2022-2028全球与中国虚拟数字人市场现状及未来发展趋势

辰宇信息咨询市场调研公司最近发布-《2022-2028全球与中国虚拟数字人市场调研报告》 内容摘要 本文重点分析在全球及中国有重要角色的企业,分析这些企业虚拟数字人产品的市场规模、市场份额、市场定位、产品类型以及发展规划等。主要企业包括: 微软 歌力思 克理…

虚拟数字人市场现状研究分析-

辰宇信息咨询市场调研公司最近发布-《2022-2028中国虚拟数字人市场现状研究分析与发展前景预测报告》 内容摘要 本文研究中国市场虚拟数字人现状及未来发展趋势,侧重分析在中国市场扮演重要角色的企业,重点呈现这些企业在中国市场的虚拟数字人收入、市场份额、市场定位、…

2018中国方案商500强榜单

https://mp.weixin.qq.com/s/qOXO9AScoK8M8ez-AxrLCQ 2018中国方案商500强榜单 中国IT生态大会 特大号 7月30日 中国方案商500强(VAR500),是由商业伙伴咨询机构推出的每年一度的大型调查评选活动。2018年中国方案商500强,由方案…

虚拟数字人市场现状研究分析报告 -

辰宇信息咨询市场调研公司最近发布-《2022-2028中国虚拟数字人市场现状研究分析与发展前景预测报告 》 内容摘要 本文研究中国市场虚拟数字人现状及未来发展趋势,侧重分析在中国市场扮演重要角色的企业,重点呈现这些企业在中国市场的虚拟数字人收入、市场份额、市场定位、…

需不需要给数字人装上ChatGPT ?多家公司是这样回应的

近年来,随着人工智能的快速发展,数字人与ChatGPT这样的语言模型的结合引起了广泛的关注和讨论。ChatGPT是一种强大的对话生成模型,能够模拟自然语言交流,并在各种领域提供个性化的服务。然而,关于给数字人装上ChatGPT是…

荣耀猎人是鸿蒙,荣耀猎人游戏本发布 | 荣耀推出全场景游戏品牌 “Hunter”

据官网消息,荣耀猎人V700配备了一块 16.1 英寸 1920x1080 分辨率 144Hz 刷新率 100% 的 sRGB 色域的电竞屏,其屏幕对比度高达 1000:1,并拥有 300 尼特亮度。 荣耀猎人 V700 搭载 Intel 十代酷睿 H 系列处理器,可选四核心 i5-10300…

腾讯花18亿获捷成独家授权!影视版权格局再变动

今年年初,国内影视版权大户捷成股份对外宣布,旗下公司与腾讯签订影视授权合同,以18亿的价格将公司总数量不少于6332部影视节目授权于腾讯,授权期达到6年。 此次授权为独家授权,腾讯享有独家分销权。交易之后&#xff0…

因民间借贷财产被冻结,捷成股份巨额债务危机坐实?

对曾经的“广电第一股”北京捷成世纪科技股份有限公司(下称捷成股份,股票代码300182.SZ)来说,最近可谓祸不单行。 一、从“债务危机”曝光到巨额财产被封,捷成股份成“老赖”? 4月23日,一封来…