实验8MATLAB图形用户界面设计实验报告

合集下载

MATLAB实验参考2018

MATLAB实验参考2018

MATLAB 运算基础
2.掌握 MATLAB 各种表达式的书写规则以及常用函数的使用。
二、 实验设备与仪器
1.计算机 2.matlab 集成软件
三、实验原理
1.矩阵的建立方法 (1)直接输入法:将矩阵的元素用方括号括起来,按矩阵行的顺序输入各元素,同一行 的各元素之间用空格或逗号分隔,不同行的元素之间用分号分隔。 (2) 利用 M 文件建立矩阵,对于比较大且比较复杂的矩阵, 可以为它专门建立一个 M 文件。 (3)利用 MATLAB 函数(特殊矩阵函数)建立矩阵。 2. 常用数学函数 sin :正弦函数 cos :余弦函数 sqrt :平方根函数 exp :自然指数函数 abs :绝对值函数 rem :求余数或模运算 mod :模除求余 fix :向零方向取整 floor:大于自变量的最大整数 round:四舍五入到最邻近的整数
x 2 y 2 2 y
(1 x y)dxdy
程序: clear;syms x y z; iy=int(1+x+y,y,(-sqrt(1-x^2))+1,(sqrt(1-x^2))+1); z=int(iy,x,-1,1) 结果: z = 2*pi 5. (广义积分)计算广义积分
1 sin x 1 tan( x ) exp( x 2 ) dx 1 x 4 dx , 0 x , 0 1 x 2 dx
(二) 、操作实现下列建模过程
1 2 3 1、简单矩阵 A 4 5 6 的输入步骤。 ,3 4,5,6 7,8,9] 3、指令的续行输入 S=1-1/2+1/3-1/4+ ... 1/5-1/6+1/7-1/8
2
4、画出 z
0 1 3 d 0 1 4 。 0 1 5

matlab实验报告

matlab实验报告

目录一、基础题 (2)二、绘图题 (3)三、句柄图形和图形用户界面制作 (9)四、Simulink仿真题 (13)五、专题实验总结 (17)六、参考文献 (17)一.基础题实验目的:1、掌握数组的创建和寻访;2、掌握MA TLAB 数组的运算;3、熟悉MA TLAB 关系操作和逻辑操作;4、掌握函数的调用。

实验要求:1、熟练掌握数组运算;2、熟悉MA TLAB 的各种数据类型及函数调用;3、初步了解M 文件及其编写、调试与运行。

实验内容:某公司投资2000万元建成一条生产线。

投产后,在时刻t 的追加成本和追加收益分别为G(t)= (百万元/年), H(t)= (百万元/年)。

试确定该生产线在合适何时停产可获最大利润?最大利润是多少?解:构造函数f(t)=H(t)-G(t)=13-t-3t 2/3=0 ;令t 1/3=x,则f(t)=-t 3-3t 2+13 可得矩阵P=[-1,-3,0,13]求最佳生产时间的源程序如下:p=[-1,-3,0,13]; x=roots(p); t=x.^3运行结果如下: t =3.6768 +21.4316i 3.6768 -21.4316i4.6465考虑到实际情况,显然两个虚数根应该舍掉。

所以将t=4.6425带入,求积分。

代码:t=4.6465; x=0:0.01:t;y=13-x-3*x.^(2/3); trapz(x,y)运行结果: ans =26.32083/225tt ++3/218t-结论:比较以上三组数据,可知最佳生产时间t=4.6465年,可获得的最大收益为 26.3208(百万元/年)。

减去20(百万元)投资,可得最终利润为6.3208(百万元)。

二.作图题实验目的:1、进一步熟悉M 文件调试过程;2、熟练掌握MA TLAB 二维、三维图形的绘制;3、掌握图形的修饰; 实验要求:1、进一步熟悉和掌握MA TLAB 的编程及调试;2、掌握二维、三维图形的绘制;3、掌握图形交互指令的使用;实验内容:1、二维绘图: (1)函数)sin(2x ey x-=,求:a. 绘制[0 ,8]区间内的图形,加注x,y 轴及图形名称;b. 最大值和最小值;c. 零值;求解:a、命令:ezplot('2*exp(-x)*sin(x)',[0,8]) %绘图title(f) , xlabel('x') ,ylabel('y') %加轴名及图名图像:b、先求最小值:从图像上可以看出,在[3,4]之间有最小值,所以命令:[xmin,fmin]=fminbnd(f,3,4)Hold onPlot(xmin,fmin)运行结果:xmin =3.9270 fmin =-0.0279增加一句标注: text(xmin,fmin,'(3.9270,-0.0279)')求最小值求最大值分析:要求最大值,即为求y=-f(x)的最小值,从图像上可以看出,在[0,2]之间有最大值命令:f=inline('-2*exp(-x)*sin(x)') ezplot(f,[0,8][xmin,fmin]=fminbnd(f,0,2) hold onplot(xmin,fmin,'*') Hold onPlot(xmin,fmin)运行结果: xmin = 0.7854 fmin = -0.6448增加标注:text(xmin,fmin,'(0.7854,-0.6448)')(如上图)综上可知:fmax= 0.6448 fmin= -0.0279c 、为了便于观察,首先增加一条直线y=0 命令:hold onezplot('0',[0,8])图像:0123456780.10.20.30.40.50.60.7x2 exp(-x) sin(x)由图像可以看出,在x=0,x=3,x=6附近有零点,所以命令及运行结果如下:fzero(f,0) %求在x=0附近的零点 ans = 0fzero(f,3) %求在x=3附近的零点 ans =3.1416fzero(f,6) %求在x=6附近的零点 ans =6.2832所以零点有三个分别为:x 1=0 x 2=3.1416 x 3=6.2832(2)在同一个画面上建立几个坐标系, 用subplot(m,n,p)命令;把一个画面分成m×n 个图形区域, p 代表当前的区域号,在每个区域中分别画一个图(函数为:;cos sin 2;cos ;sin x x u x z x y ===xxv cos sin =); 命令:>> subplot(2,2,1)>> ezplot('sin(x)',[-2*pi,2*pi]) >> subplot(2,2,2)>> ezplot('cos(x)',[-2*pi,2*pi]) >> subplot(2,2,3)>> ezplot('2*sin(x)*cos(x)',[-2*pi,2*pi]) >> subplot(2,2,4)>> ezplot('sin(x)/cos(x)',[-2*pi,2*pi])图像:2、三维绘图:(1)绘制[-8 8]区间内函数2222)sin(),(yx y x y x f ++=的三维网格曲面图,给该图加上标题;(2)绘制[-8 8]区间内单叶双曲面 125169222=-+z y x 的三维网格曲面图,给该图加上标题;(3) 求函数 f(x,y) = 3x 2+10y 2+3xy-3x +2y 在原点附近的一个极小值点和极小值;作函数 f(x,y)在|x|<2, |y|<1内的图;解:(1)命令:ezsurf('sin(sqrt(x^2+y^2))/sqrt(x^2+y^2)',[-8,8])title('f=sin(sqrt(x^2+y^2))/sqrt(x^2+y^2)')图像:(2)命令:xa=-8:0.2:8; ya=xa;[x,y]=meshgrid(xa,ya); a=3;b=4;c=5;z1=sqrt(c.^2*(x.^2/(a.^2)+y.^2/(b.^2)-1)); z2=-sqrt(c.^2*(x.^2/(a.^2)+y.^2/(b.^2)-1)); surf(x,y,real(z1)) hold on ;surf(x,y,real(z2)) shading interp图像:(3)求极值点命令:>> f=inline('3*x(1)^2+10*x(2)^2+3*x(1)*x(2)-3*x(1)+2*x(2)')f =Inline function:f(x) = 3*x(1)^2+10*x(2)^2+3*x(1)*x(2)-3*x(1)+2*x(2)>> [x,fval]=fminsearch(f,[0,0])运行结果:x = 0.5946 -0.1892fval = -1.0811所以原点附近的极小值点为(0.5946,-0.1892),极小值为:-1.0811 绘图命令:>> x=-2:0.1:2;>> y=-1:0.1:1;>> [xx,yy]=meshgrid(x,y);>> zz=3.*xx.^2+10.*yy.^2+3.*xx.*yy-3.*xx+2.*yy>> surf(xx,yy,zz)图像:三、句柄图形和图形用户界面制作实验目的:1、熟悉句柄图形体系的对象树结构;2、熟练掌握句柄图形体系的对象属性的创建、设置、查询;3、熟练掌握句柄的获取;4、熟练掌握图形用户界面(GUI)的制作;实验要求:1、会获取和显示图形对象的句柄;2、会设置菜单和子菜单;3、会设置用户控件;实验内容:利用底层绘图指令绘制一条余弦曲线。

用MATLAB制作图形用户界面

用MATLAB制作图形用户界面

用MATLAB制作图形用户界面MATLAB是一种流行的科学计算软件,它不仅在数值计算和数据分析领域有着广泛的应用,还提供了一种高效的界面设计工具,使得用户可以自定义和制作自己的图形用户界面(GUI)。

通过创建自定义的GUI,用户可以简化复杂操作,提高工作效率,下面就让我们来学习如何用MATLAB制作图形用户界面。

MATLAB的图形用户界面主要由以下几部分组成:窗口:窗口是GUI的基本元素,它提供了一个空间,用户可以在其中添加和组织各种控件(如按钮、文本框等)。

控件:控件是GUI中的基本元素,它们可以接收用户的输入,并在窗口中显示出来。

例如,按钮、文本框、滑动条等都是常见的控件。

菜单:菜单是GUI中的一种导航工具,它们可以链接到其他窗口或者函数,方便用户进行操作。

工具栏:工具栏是GUI中的一种快速执行工具,它们提供了一键执行常见操作的快捷方式。

下面就让我们通过一个简单的例子来学习如何用MATLAB制作一个简单的图形用户界面:打开MATLAB,在命令窗口输入“guide”,并按Enter键。

这将打开GUI设计工具。

在打开的GUI设计工具中,选择“Blank GUI”并点击“OK”,进入GUI编辑器。

在GUI编辑器中,你可以看到一个空白的窗口和一些控件。

你可以通过拖拽的方式将这些控件添加到窗口中。

选中你添加的控件,在右侧的“Properties”面板中,你可以修改控件的属性,如颜色、字体、大小等。

在设计完成后,点击“Save”按钮,保存你的GUI。

此时,MATLAB会生成一个.fig文件和一个.m文件。

其中.fig文件是GUI的图形文件,而.m文件包含了GUI的代码。

在生成的.m文件中,你可以编写控件的事件处理函数。

例如,当用户点击按钮时,应该执行什么样的操作。

在编写完事件处理函数后,你就可以运行你的GUI了。

在命令窗口输入“edit(gcf)”,然后按Enter键,就可以打开你的GUI并进行测试了。

MatlabGUI实验报告

MatlabGUI实验报告

实验名称: Matlab GUI设计一、实验题目:自行设计一个GUI界面,在界面中描绘函数的图像。

基本要求:1)可以通过按钮,动态让该图像旋转起来2)可以通过输入文本框,控制该图像旋转的时间二、实验内容描绘函数:x=-10:0.1:10;y=-10:0.1:10;[xx,yy]=meshgrid(x,y);zz=sin(sqrt(xx.*xx.*xx+yy.*yy)).\sqrt(xx.*xx.*xx+yy.*yy); plot3(xx,yy,zz);旋转函数(1):axis vis3dshading facetedfor i=1:36camorbit(10,0,'camera')M=getframe(gcf);End旋转函数(2):for i=1:36camorbit(10,0)drawnowend控制时间函数:a=get(handles.txt,'String');t=2.*str2double(a);按钮修饰函数:I=imread('1.jpg');set(handles.pushbutton1,'cdata',I);I=imread('1.jpg');set(handles.pushbutton2,'cdata',I);附加功能(输出gif文件,可用于ppt)nn=frame2im(M);[nn,cm]=rgb2ind(nn,256);if i==1imwrite(nn,cm,'out.gif','gif','LoopCount',inf,'DelayTime',0.1);elseimwrite(nn,cm,‘out.gif’,‘gif’,‘WriteMode’,‘append’,‘DelayTime’,0.1); endGUI设计界面:三、实验分工:负责旋转函数,描绘函数,输出gif文件函数及GUI界面的设计执行,编写整理实验报告。

基于matlab的gui设计报告

基于matlab的gui设计报告

基于matlab的gui设计报告当然,我很乐意帮助你完成这篇文章。

以下是按照你提供的格式完成的《基于Matlab的GUI设计报告》。

一、介绍1. 引言本报告将探讨基于Matlab的GUI设计,其中包括设计背景、目的和重要性。

2. Matlab简介在开始讨论GUI设计之前,先简要介绍一下Matlab。

Matlab是一种高级的计算机语言和环境,常用于数学计算、数据分析和可视化。

3. GUI设计概述介绍GUI(图形用户界面)设计的概念和重要性。

GUI设计可以提供用户友好的界面,使用户能够通过图形或图标与程序交互。

二、Matlab的GUI设计工具1. Guide工具Guide是Matlab的一个可视化工具,用于创建图形用户界面。

本节将介绍Guide 的基本功能和使用方法。

2. App Designer工具App Designer是Matlab新引入的GUI设计工具,相比Guide具有更强大的功能和更好的用户体验。

本节将介绍App Designer的特点和使用技巧。

3. Matlab的其他GUI工具除了Guide和App Designer,Matlab还提供了其他GUI设计工具,如uifigure 和uitab。

本节将概述这些工具的功能和用途。

三、GUI设计原则1. 界面布局和设计介绍如何合理安排界面布局,包括按钮、文本框、下拉菜单等组件的摆放位置和大小。

2. 用户交互探讨合理的用户交互方式,包括按钮点击、鼠标悬停等,以提供更好的用户体验和减少误操作。

3. 数据可视化介绍如何将计算结果以图表、图像等形式展示给用户,提高数据分析和可视化的效率。

四、案例分析1. GUI设计案例1:温度转换器以一个简单的温度转换器为例,展示如何使用Matlab的GUI设计工具创建一个实用的应用程序。

2. GUI设计案例2:图像处理工具以图像处理为应用场景,展示如何使用Matlab的GUI工具进行图像处理和显示。

3. GUI设计案例3:数据分析工具以数据分析为应用场景,展示如何使用Matlab的GUI工具进行数据可视化和分析。

利用MATLAB的图形用户界面设计交互式演示实验

利用MATLAB的图形用户界面设计交互式演示实验

( 启动 M TA , 1 ) A L B 点击 文件(l) i f 菜单 , 中 e 选
G I 项, U选 打开 布局 编 辑器两个 互 相垂 直 的谐 振 动分量 为 :
基 金 项 目 : 峰 学 院 科 学 研究 收金 资助 ( R 2 0 0 ) 赤 Z YB 0 6 8
实际上 ,利萨如图形的形状应取决于两个分振动
的振 幅 、 率 和初相 . 点在 教材 川 频 这一 中亦 没 有 明确 表述.
下 面 通 过 公 式 推 导 和 MA L B的 G I 能 TA U 功
改 变 两个 分 振 动 的振 幅 、 率 、 位 相 , 看 利 萨 频 初 观 如 图形 的形 状 , 证实 上述 结 论 .
用 程 序 ,图形用 户 界 面 开发 环境 根 据 用户 设 计 的
cos
()c 音 一 o 詈s ( -
( 3 )
() 4
当 n- 2 ln 时有 : -

GI U 布局 , 自动生成一个 M文件的框架 , 用户使用
这 一框 架 编制 自己的应 用 程 序 ,在 自动生 成 的 M 文 件 中采用 了有 效 的方 法 管 理对 象 句柄 执 行 调用 函数等 工作 , 同时为 调 用 函数 自动添 加 子 函数 , 以 利 于扩 大应 用范 围[ 2 ] .
2 实 验设计
cos
( )CS1 ) _ O- (
代入 公 式 :
~ ~
c — s : s[+ x(y ] o x o Y 。 V( ‘ 一 ) s c c x 1 ) ‘J o y 1 【 一
c。s x— s
L () 5
可得 :
2 2

matlab程序设计实验报告

matlab程序设计实验报告《MATLAB程序设计实验报告》摘要:本实验报告旨在介绍MATLAB程序设计的基本原理和实践操作,通过实验演示和分析,展示了MATLAB在工程领域的应用和重要性。

本报告详细介绍了MATLAB程序设计的基本语法和常用函数,以及如何利用MATLAB进行数据处理、图像处理、信号处理等工程应用。

通过本报告的学习,读者将能够掌握MATLAB程序设计的基本技能,为工程实践提供有力的支持。

1. 引言MATLAB是一种用于算法开发、数据可视化、数据分析和数值计算的高级技术计算语言和交互式环境。

它具有强大的数学计算功能和丰富的绘图工具,广泛应用于工程、科学和金融等领域。

本实验报告将介绍MATLAB程序设计的基本原理和实践操作,帮助读者快速掌握MATLAB的基本技能。

2. 实验目的本实验的主要目的是让读者了解MATLAB程序设计的基本语法和常用函数,掌握MATLAB在工程领域的应用和重要性。

通过实验演示和分析,展示MATLAB 在数据处理、图像处理、信号处理等方面的应用。

3. 实验内容(1)MATLAB程序设计的基本语法和常用函数(2)利用MATLAB进行数据处理的实验演示(3)利用MATLAB进行图像处理的实验演示(4)利用MATLAB进行信号处理的实验演示4. 实验步骤(1)学习MATLAB程序设计的基本语法和常用函数(2)编写MATLAB程序,实现数据处理、图像处理、信号处理等功能(3)进行实验演示和分析,展示MATLAB在工程领域的应用和重要性5. 实验结果与分析通过本实验的学习,读者将能够掌握MATLAB程序设计的基本技能,包括数据处理、图像处理、信号处理等方面的应用。

通过实验演示和分析,读者将了解MATLAB在工程领域的重要性,为工程实践提供有力的支持。

6. 结论MATLAB程序设计是一种强大的工程工具,具有广泛的应用前景。

通过本实验报告的学习,读者将能够掌握MATLAB程序设计的基本技能,为工程实践提供有力的支持。

利用Matlab的图形用户界面(GUI)功能,设计与实现实验.

(1 利用Matlab 的图形用户界面(GUI )功能,设计与实现实验主界面;(2 实现在“数值计算”图形用户界面中的各项数值计算,如实现Matlab 的线性方程组的求解、数据统计与分析、数值插值、曲线拟合、常微分方程的数值求解等数值计算;(3 利用Matlab 的二维、三维绘图功能,实现图形用户界面(GUI )中的数值计算的可视化,即给出数值计算实例的同时实现该实例的图形化描述。

如下图给出了一个简单的GUI 界面,学生可以参考如下图设计出自己的GUI 界面。

figure('Color' ,[1,1,1],'Position' ,[100,100,700,600],...'Name' , '' , ...'NumberTitle' , 'off' , 'MenuBar' , 'none' ;uicontrol('Style' , 'Frame' , 'Position' ,[0,0.08,0.45,1],...'Units' , 'normalized' , 'Back' ,[0,1,1];XIANQIU=['a=str2num(get(xishu,''String'';', ...'b=str2num(get(changshu,''String'';', ...'b=b'';x=a\b;', ...'set(jieguo,''string'',x;'];uicontrol('Style' , 'Push' , 'Position' ,[0.02,0.92,0.20,0.06],...'String' , 'ÏßÐÔ·½³Ì×éÇó½â', 'Units' , 'normalized' , 'Call' ,XIANQIU;uicontrol('Style' , 'Text' , 'Position' ,[0.01,0.83,0.1,0.05],... 'Units' , 'normalized' , 'Horizontal' , 'center' , ...'String' , 'ϵÊý¾ØÕó', 'Back' ,[0,1,1];xishu=uicontrol('Style' , 'Edit' , 'Position' ,[0.16,0.83,0.25,0.06],... 'Units' ,'normalized' , 'Back' ,[0,1,0];uicontrol('Style' , 'Text' , 'Position' ,[0.01,0.72,0.1,0.05],... 'Units' , 'normalized' , 'Horizontal' , 'center' , ...'String' , '³£ÊýÏî¾ØÕó', 'Back' ,[0,1,1];changshu=uicontrol('Style' , 'Edit' , 'Position' ,[0.16,0.72,0.25,0.06],.. .'Units' , 'normalized' , 'Back' ,[0,1,0];uicontrol('Style' , 'Push' , 'Position' ,[0.02,0.63,0.20,0.06],... 'String' ,'Êýֵͳ¼ÆÓë·ÖÎö';uicontrol('Style' , 'Text' , 'Position' ,[0.23,0.63,0.2,0.05],... 'Units' , 'normalized' , 'Horizontal' , 'center' , ...'String' , 'ÔÚϵÊý¾ØÕóÊäÈë¿òÖÐÊäÈëÒª·ÖÎöµÄ¾ØÕó', 'Back' ,[0,1,1];uicontrol('Style' , 'Push' , 'Position' ,[0.06,0.55,0.1,0.05],... 'String' , 'ÊýÖµ²åÖµ';uicontrol('Style' , 'Push' , 'Position' ,[0.22,0.55,0.1,0.05],... 'String' , 'ÇúÏßÄâºÏ';uicontrol('Style' , 'Text' , 'Position' ,[0.005,0.45,0.05,0.05],... 'Units' , 'normalized' , 'Horizontal' , 'center' , ...'String' , 'X' , 'Back' ,[0,1,1];chazhi=uicontrol('Style' , 'Edit' , 'Position' ,[0.05,0.45,0.15,0.06],... 'Units' ,'normalized' , 'Back' ,[0,1,0];uicontrol('Style' , 'Text' , 'Position' ,[0.2,0.45,0.05,0.05],... 'Units' , 'normalized' , 'Horizontal' , 'center' , ...'String' , 'Y' , 'Back' ,[0,1,1];nihe=uicontrol('Style' , 'Edit' , 'Position' ,[0.25,0.45,0.15,0.06],... 'Units' ,'normalized' , 'Back' ,[0,1,0];XIANXING=['s=(get(changwei,''String'';', ...'c=(get(tiaojian,''String'';', ...'c_f=dsolve(''s'',''b'',''x'';', ...'set(jieguo,''string'',char(c_f;'];uicontrol('Style' , 'Push' , 'Position' ,[0.02,0.35,0.25,0.06],...'String' , '³£Î¢·Ö·½³ÌÊýÖµÇó½â', 'Units' , 'normalized' , 'Call' ,XIANXING;chengwei=uicontrol('Style' , 'Edit' , 'Position' ,[0.16,0.25,0.25,0.06],.. .'Units' , 'normalized' , 'Back' ,[0,1,0];uicontrol('Style' , 'Text' , 'Position' ,[0.01,0.25,0.1,0.05],... 'Units' , 'normalized' ,'Horizontal' , 'center' , ...'String' , '΢·Ö·½³Ì', 'Back' ,[0,1,1];tiaojian=uicontrol('Style' , 'Edit' , 'Position' ,[0.16,0.15,0.25,0.06],.. .'Units' , 'normalized' , 'Back' ,[0,1,0];uicontrol('Style' , 'Text' , 'Position' ,[0.01,0.15,0.1,0.05],... 'Units' , 'normalized' ,'Horizontal' , 'center' , ...'String' , '³õÖµÌõ¼þ', 'Back' ,[0,1,1];h_axes=axes('position' ,[0.5,0.15,0.4,0.4];jieguo=uicontrol('Style' , 'text' , 'Position' ,[0.5,0.6,0.45,0.25],... 'Units' , 'normalized' , 'Back' ,[0,1,0];uicontrol('Style' , 'Text' , 'Position' ,[0.6,0.85,0.3,0.1],... 'Units' , 'normalized' ,'Horizontal' , 'center' , ...'String' , '½á¹û', 'Back' ,[1,1,1],'FontSize' ,35;uicontrol('Style' , 'Push' , 'Position' ,[0.018,0.02,0.08,0.05],... 'String' , 'Í˳ö', 'Units' , 'normalized' , 'Call' , 'close' ;uicontrol('Style' , 'Push' , 'Position' ,[0.65,0.025,0.08,0.05],...'String' , '°¡Êµ´òʵ', 'Units' , 'normalized' , 'Call' , '»æÍ¼º¯Êý°´Å¥';。

Matlab实验报告

实验结果及分析实验1:程序如下x=1:10y=2*x;plot(x,y)仿真结果:实验结果分析:仿真结果是条很规则的直线,X轴和Y轴一一对应,清楚明了,而序又特别简单。

所以用Maltab 软件很方便地画出规则的直线,方便研究。

实验结果及分析1、A=2、A=1A=实验结果及分析实验三 Matlab在信号与系统中的应用实验名称实验1、掌握信号与系统课程中基本知识的Matlab编程、仿真方法目的实验原理实验1程序:b=[1];a=[1 1];p=;t=0:p:5;x=exp(-3*t);subplot(1,2,1);impulse(b,a,0:p:5);title('冲激响应');subplot(1,2,2);step(b,a,0:p:5);title('阶跃响应');实验内容<设计性实验>1、用MATLAB在时域中编程求解y′(t)+y(t)=f(t), f(t)= exp(-3t)ε(t)的冲激响应、阶跃响应。

在simulink仿真环境下,设计系统框图,分析系统的冲激响应、阶跃响应。

<设计性实验>(选做)2、用MATLAB在时域中编程求解y′(t)+y(t)=f(t), f(t)=(1+exp(-3t))ε(t)的冲激响应、阶跃响应,要求用conv编程实现系统响应。

在simulink仿真环境下,设计系统框图,分析系统的冲激响应、阶跃响应。

实验结果及分析实验1仿真结果:simulink仿真环境下冲激响应阶跃响应实验名称实验四 Matlab在数字信号处理中的应用实验结果及分析实验1仿真结果:6khz12kHZ。

经典MATLAB图形用户界面设计


使用场景
按钮适用于需要用户进行选择或确认的操作, 例如开始、停止、重置等。
属性设置
可以设置按钮的文本、大小、位置、样式等 属性。
事件处理
当用户点击按钮时,会触发相应的事件,可 以通过编写回调函数来处理该事件文本信息。
属性设置
可以设置文本框的长度、宽度、字体、颜色等属性。
事件处理
当用户滑动滑块时,会触发相应的事件,可以通过编写回调函数来处理该事件。
下拉菜单
功能描述
下拉菜单用于显示多个选项供用户选择。
属性设置
可以设置下拉菜单的选项、默认选项 等属性。
使用场景
适用于需要提供多个选项供用户选择 的场景,如文件打开、保存等。
事件处理
当用户选择下拉菜单中的某个选项时, 会触发相应的事件,可以通过编写回 调函数来处理该事件。
添加事件处理函数
为每个按钮添加事件处 理函数,实现点击按钮 后执行相应的计算操作。
显示结果
在GUI界面上添加一个文 本框,用于显示计算结 果。
保存和运行
保存GUI文件,并运行程 序,测试计算器功能是 否正常。
设计一个数据可视化GUI
加载和预处理数据
使用Matlab的函数加载数据, 并进行必要的预处理。
表格
功能描述
表格用于显示和编辑二维数 据表格。
使用场景
适用于需要展示和编辑大量 数据的场景,如数据统计、 数据分析等。
属性设置
事件处理
可以设置表格的行数、列数、 单元格内容、样式等属性。
当用户编辑表格中的数据时, 会触发相应的事件,可以通 过编写回调函数来处理该事 件。
04
高级GUI设计技巧
使用布局管理器
化的界面设计和代码生成功 能。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验8 MATLAB图形用户界面设计实验报告实验报告课程名称:MATLAB应用成绩: 实验项目名称:MATLAB图形用户界面设计实验时间:11.6 指导教师(签名): 班级:XXXXX 姓名:XXXXX 学号:XXX 实验目的:1. 熟悉MATLAB的菜单设计方法2. 熟悉MATLAB的主要控件使用方法3. 熟悉MATLAB的GUI设计流程实验环境:MATLAB 7.1实验内容及过程:简单计算器的设计:在MATLAB GUI的实验环境中,通过MATLAB图形用户界面设计的方法,设计一个简单的计算器,以实现简单数据的退出、清屏、删除、四则运算等基本功能。

实验过程、结果及分析:计算器代码:function varargout = jsq(varargin)gui_Singleton = 1;gui_State = struct('gui_Name', mfilename, ...'gui_Singleton', gui_Singleton, ...第 1 页共 6 页'gui_OpeningFcn', @jsq_OpeningFcn, ...'gui_OutputFcn', @jsq_OutputFcn, ...'gui_LayoutFcn', [] , ...'gui_Callback', []);if nargin && ischar(varargin{1})gui_State.gui_Callback = str2func(varargin{1}); endif nargout[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:}); elsegui_mainfcn(gui_State, varargin{:});endfunction jsq_OpeningFcn(hObject, eventdata, handles, varargin)guidata(hObject, handles);function varargout = jsq_OutputFcn(hObject, eventdata, handles) varargout{1} = handles.output;function edit1_Callback(hObject, eventdata, handles) functionedit1_CreateFcn(hObject, eventdata, handles) if ispc &&isequal(get(hObject,'BackgroundColor'),get(0,'defaultUicontrolBackgroundColor'))set(hObject,'BackgroundColor','white');endfunction pushbutton19_Callback(hObject, eventdata, handles)close(gcf);function pushbutton17_Callback(hObject, eventdata, handles)set(handles.edit1,'String','0');function pushbutton18_Callback(hObject, eventdata, handles) global a;a=get(handles.edit1,'String');switch acase ' 'b='0';case '0'b=a;otherwiseb=a(1:length(a)-1);endset(handles.edit1,'String',b);guidata(hObject, handles);% --- Executes on button press in pushbutton4.function pushbutton16_Callback(hObject, eventdata, handles) global a;global b;b=strcat(b,strcat(a,'+'));set(handles.edit1,'String','0');function pushbutton15_Callback(hObject, eventdata, handles) global a;第 2 页共 6 页global b;b=strcat(b,strcat(a,'-')); set(handles.edit1,'String','0'); function pushbutton14_Callback(hObject, eventdata, handles)global a;a=get(handles.edit1,'String'); if a=='0';a='9';elsea=strcat(a,'9');%字符串连接endset(handles.edit1,'String',a); guidata(hObject, handles); function pushbutton13_Callback(hObject, eventdata, handles)global a;a=get(handles.edit1,'String'); if a=='0';a='8';elsea=strcat(a,'8');%字符串连接endset(handles.edit1,'String',a); guidata(hObject, handles); function pushbutton12_Callback(hObject, eventdata, handles) global a;a=get(handles.edit1,'String'); if a=='0';a='7';elsea=strcat(a,'7');%字符串连接endset(handles.edit1,'String',a); guidata(hObject, handles); function pushbutton11_Callback(hObject, eventdata, handles) global a;a=get(handles.edit1,'String'); if a=='0';a='4';elsea=strcat(a,'4');%字符串连接endset(handles.edit1,'String',a); guidata(hObject, handles); 第 3 页共 6 页function pushbutton10_Callback(hObject, eventdata, handles) global a;a=get(handles.edit1,'String'); if a=='0';a='5';elsea=strcat(a,'5');%字符串连接endset(handles.edit1,'String',a); guidata(hObject, handles);function pushbutton9_Callback(hObject, eventdata, handles)global a;a=get(handles.edit1,'String'); if a=='0';a='6';elsea=strcat(a,'6');%字符串连接endset(handles.edit1,'String',a); guidata(hObject, handles);function pushbutton8_Callback(hObject, eventdata, handles)global a;global b;b=strcat(b,strcat(a,'*')); set(handles.edit1,'String','0');function pushbutton7_Callback(hObject, eventdata, handles)global a;global b;b=strcat(b,strcat(a,'/')); set(handles.edit1,'String','0'); function pushbutton6_Callback(hObject, eventdata, handles)global a;a=get(handles.edit1,'String'); if a=='0';a='3';elsea=strcat(a,'3');%字符串连接endset(handles.edit1,'String',a); guidata(hObject, handles); function pushbutton5_Callback(hObject, eventdata, handles)global a;第 4 页共 6 页a=get(handles.edit1,'String'); if a=='0';a='2';elsea=strcat(a,'2');%字符串连接endset(handles.edit1,'String',a); guidata(hObject, handles); function pushbutton4_Callback(hObject, eventdata, handles)global a;a=get(handles.edit1,'String'); if a=='0';a='1';elsea=strcat(a,'1');%字符串连接endset(handles.edit1,'String',a); guidata(hObject, handles); function pushbutton3_Callback(hObject, eventdata, handles)global a;a=get(handles.edit1,'String'); if a=='0';a='0';elsea=strcat(a,'0');%字符串连接endset(handles.edit1,'String',a); guidata(hObject, handles); function pushbutton2_Callback(hObject, eventdata, handles)global a;a=get(handles.edit1,'String'); b=strfind(a,'.');if numel(b)==0a=strcat(a,'.');elseset(handles.edit1,'String',a);endset(handles.edit1,'String',a); guidata(hObject, handles); function pushbutton1_Callback(hObject, eventdata, handles)global a;global b;c=get(handles.edit1,'String'); d=strcat(b,c);a=eval(d);b='0'; %避免出现累加问题第 5 页共 6 页set(handles.edit1,'String',a); a=num2str(a);guidata(hObject, handles); 第 6 页共 6 页。

相关文档
最新文档