matlab设计GUI

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了matlab设计GUI相关的知识,希望对你有一定的参考价值。

本人毕业设计的题目是用matlab仿真光学实验,前期的仿真编程已经做完,最后一步其实很简单,就是用GUI可以做一个菜单,在菜单中包含不同光学现象分类的按键,点击按键可以调出已有的图像。我是用matlab新建(file—new)中的GUI新建一个界面 在其中设计两个按键,需要在点击按键的时候可以调出相应的图片 应该怎样做。小弟没有用过这个,马上要毕业答辩 非常着急,希望看到的高手大哥 姐姐们伸出援手啊!!!感激不尽。

参考技术A 建个m文件,输入以下代码,试试看,调整一下大小,调整以下文件,运行就可以了,不需要用新建gui的过程。。
clf reset % <1>
set(gcf,'unit','normalized','position',[0.1,0.4,0.85,0.35]);
set(gcf,'defaultuicontrolunits','normalized');
set(gcf,'defaultuicontrolfontsize',11);
set(gcf,'defaultuicontrolfontname','隶书');
set(gcf,'defaultuicontrolhorizontal','left');
set(gcf,'menubar','none');
str='调出指定图片';
set(gcf,'name',str,'numbertitle','off');
h_axes=axes('position',[0.05,0.15,0.45,0.70],'visible','off');
hpush=uicontrol(gcf,'Style','push',...
'position',[0.1,0.05,0.05,0.15],'string','图片1');
set(hpush,'callback','axes(h_axes);B=imread(''f:\1.jpg'');imshow(B)');
h_axes2=axes('position',[0.55,0.15,0.4,0.70],'visible','off');
hpush2=uicontrol(gcf,'Style','push',...
'position',[0.8,0.05,0.05,0.15],'string','图片2');
set(hpush2,'callback','axes(h_axes2);A=imread(''f:\2.jpg'');imshow(A)');本回答被提问者采纳
参考技术B 添加axes控件用于显示,添加push button用于按键,在M文件里编写回调函数,显示函数格式为inshow(**) 参考技术C 请问你还有当年的毕业设计吗?我做的课题跟你是一样的,前期的仿真编程也做完了,就差最后一步不会,需要帮忙啊,不胜感激

MATLAB 使用GUI设计简单的计算器

1.准备工作

本文使用的版本是Matlab2018b。
了解GUI:图形用户界面(Graphical User Interface,简称 GUI,又称图形用户接口)是指采用图形方式显示的计算机操作用户界面。
该GUI实现了计算器的一些基本功能,如加减乘除等。

2.使用GUI功能创建计算器界面

2.1 打开GUI设计界面

首先在命令行输入guide命令,将出现以下界面:

选择第一个点击确定将生成一个新的GUI编辑界面:

2.2 编辑运行框

此时先点击左侧生成“可编辑文本”,在空白界面生成,这就是运算框了。

右键进入属性检查器进行各项的设置。分别是在设置:
①BackgroundColor,这个可以改变文本框的背景颜色
②FontSize显示字体的大小默认是8.0,可以改成16.0
③String,可以进行修改,变成空文本
④Tag(标签):表示的是这个可编辑文本框的系统中的名字
如笔者将颜色与字体大小进行了设置:
讲到这里,相信大家的可编辑文本框已经弄好了。

2.3 设置按钮

点击按钮,在编辑界面设置。

和可编辑文本框一样,右键进入属性检查器进行设置。如笔者设置了不同的颜色与文本大小。记住每建立一个按钮都可以修改按钮的名字,防止各个按钮搞混。

3.为每个按钮设定函数功能

此时我们将为每个函数编写一段代码来实现功能。此时我们将用到回调的功能。

选择第一个Calback,查看按钮1的函数,将出现以下代码:

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

将其进行修改,在最后加上补充的代码:

% --- 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)
textString = get(handles.edit1,'String');
textString = strcat(textString,'1');
set(handles.edit1,'String',textString);

此时我们发现可以输入1了:

此时就可以知道2~0都可以进行类似的修改,包括+,-,*,.,/。只需要改变textString中的字符即可。
接下来对几个特殊功能的代码进行演示。
“=”

textString = get(handles.edit1,'String');
ans = eval(textString);
set(handles.edit1,'String',ans);

“back”,即回退

textString = get(handles.edit1,'String');
str = char(textString);
value = length(str);
textString = str(1:value-1);
set(handles.edit1,'String',textString);

“C”,即清零

set(handles.edit1,'String','');

4.结果演示


按下等于键后:

5.总结与反思

注意

  • 需要插入的是按钮,不要再次插入可编辑文本框。
  • 进行GUI界面设计可以充分发挥灵感,需要界面美观

以上是关于matlab设计GUI的主要内容,如果未能解决你的问题,请参考以下文章

用matlab设计低通滤波器

利用matlab的设计

基于matlab的通信仿真系统设计

用matlab设计一个滤波器

matlab 低通滤波器设计

急急急!!!matlab gui界面设计