【Matlab】手把手教你用Matlab GUIDE画李萨如图形(完整教程)

李萨如图形( Lissajous-figure)

在振动学中,相互垂直的两简谐振动合成时,如果两简谐振动的频率相同,则可形成稳定的椭圆曲线,极端条件为圆和直线;而当两相互垂直的简谐振动频率不同时,合成运动比较复杂,其运动轨迹一般不闭合,但当两分振动频率成简单的整数比时,其合成运动的轨迹则为封闭曲线,因由法国物理学家朱尔·利萨茹在1857年作更详细研究而得名,故称为李萨如图形( Lissajous-figure)。而相互垂直的两任意振动的合成运动轨迹图形,则称为广义李萨如图形
在这里插入图片描述

在这里插入图片描述
图片来自维基百科

使用Matlab GUI写APP

参考官网教程:使用 GUIDE 创建简单的 App

  1. 通过在 MATLAB 提示符后键入 guide 来启动 GUIDE,或者新建APP中启动
    在这里插入图片描述

  2. 在“GUIDE 快速入门”对话框中,选择 Blank GUI (Default) 模板,然后点击确定。已有的GUI在箭头处打开。
    在这里插入图片描述

  3. 点击选择文件 > 预设 > GUIDE。在组件选项板中显示组件的名称前打勾,点击确定。
    在这里插入图片描述

UI 布局
  1. 从布局编辑器左侧的组件选项板中选择工具,并将其拖到布局区域内,即可创建。
    在这里插入图片描述
  2. 双击组建可以修改属性,修改string、backgroundcolor属性、fontsize等。
李萨如图形,是一种美妙的数学图形,可以用MATLAB的GUI实现。下面是一个简单的MATLAB GUI程序,可以绘制出李萨如图形。 ```matlab function lisajous_gui % 创建一个GUI窗口 hfig = figure('Name','Lissajous Curve','NumberTitle','off',... 'MenuBar','none','ToolBar','none','Units','normalized',... 'Position',[0.3,0.3,0.4,0.4],'Color',[1,1,1]); % 创建一个绘图区域 hax = axes('Parent',hfig,'Units','normalized','Position',[0.1,0.2,0.8,0.7]); % 创建两个滑动条控件 hslider1 = uicontrol('Parent',hfig,'Style','slider','Units','normalized',... 'Position',[0.1,0.1,0.4,0.05],'Min',0,'Max',10,'Value',1,... 'SliderStep',[0.01,0.1],'Callback',@slider_callback); hslider2 = uicontrol('Parent',hfig,'Style','slider','Units','normalized',... 'Position',[0.5,0.1,0.4,0.05],'Min',0,'Max',10,'Value',1.5,... 'SliderStep',[0.01,0.1],'Callback',@slider_callback); % 创建文本标签 htext1 = uicontrol('Parent',hfig,'Style','text','Units','normalized',... 'Position',[0.1,0.15,0.4,0.05],'String','Frequency X'); htext2 = uicontrol('Parent',hfig,'Style','text','Units','normalized',... 'Position',[0.5,0.15,0.4,0.05],'String','Frequency Y'); % 绘制李萨如图形 x = 0:0.01:2*pi; while true freq_x = get(hslider1,'Value'); freq_y = get(hslider2,'Value'); y = sin(freq_x*x); z = cos(freq_y*x); plot(hax,y,z,'LineWidth',2); axis(hax,[-1,1,-1,1]); pause(0.01); end % 滑动条回调函数 function slider_callback(~,~) drawnow; end end ``` 运行上述程序,会弹出一个GUI窗口,包含两个滑动条控件和一个绘图区域。通过调整滑动条的值,可以改变李萨如图形的频率。
评论 15
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值