基于matlab图形界面的应用
用户可以即时的输入和改变系统的参数,然后通过各种响应曲线来观察和分析系统在不同参数和输入信号的作用下,系统的快速性、稳定性、准确性都有什么变化。
基于此,人机界面应包括以下操作项:系统参数输入框,各种响应曲线选项(此系统主要是阶跃响应和脉冲响应),系统稳定性分析,附加零点或附加极点对二阶连续系统脉冲响应的影响,根轨迹曲线
如何使用MATLAB/SIMULINK中的Scope模块
Simulink是MATLAB最重要的组件之一,它提供一个动态系统建模、仿真和综合分析的集成环境。
在该环境中,无需大量书写程序,而只需要通过简单直观的鼠标操作,就可构造出复杂的系统。
Simulink具有适应面广、结构和流程清晰及仿真精细、贴近实际、效率高、灵活等优点,并基于以上优点Simulink已被广泛应用于控制理论和数字信号处理的复杂仿真和设计。
同时有大量的第三方软件和硬件可应用于或被要求应用于Simulink。
启用步骤:1、在MATLAB命令窗口中输入simulink结果是在桌面上出现一个称为Simulink Library Browser的窗口,在这个窗口中列出了按功能分类的各种模块的名称。
当然用户也可以通过MATLAB主窗口的快捷按钮来打开Simulink Library Browser窗口。
2、在MATLAB命令窗口中输入simulink3结果是在桌面上出现一个用图标形式显示的Library :simulink3的Simulink模块库窗口。
两种模块库窗口界面只是不同的显示形式,用户可以根据各人喜好进行选用,一般说来第二种窗口直观、形象,易于初学者,但使用时会打开太多的子窗口。
SIMULINK模块库按功能进行分类,包括以下8类子库:Continuous(连续模块)Discrete(离散模块)Function&Tables(函数和平台模块)Math(数学模块)Nonlinear(非线性模块)Signals&Systems(信号和系统模块)Sinks(接收器模块)Sources(输入源模块)连续模块(Continuous) continuous.mdlIntegrator:输入信号积分Derivative:输入信号微分State-Space:线性状态空间系统模型Transfer-Fcn:线性传递函数模型Zero-Pole:以零极点表示的传递函数模型Memory:存储上一时刻的状态值Transport Delay:输入信号延时一个固定时间再输出Variable Transport Delay:输入信号延时一个可变时间再输出离散模块(Discrete) discrete.mdlDiscrete-time Integrator:离散时间积分器Discrete Filter:IIR与FIR滤波器Discrete State-Space:离散状态空间系统模型Discrete Transfer-Fcn:离散传递函数模型Discrete Zero-Pole:以零极点表示的离散传递函数模型First-Order Hold:一阶采样和保持器Zero-Order Hold:零阶采样和保持器Unit Delay:一个采样周期的延时Function&Tables(函数和平台模块) function.mdlFcn:用用户自定义的函数(表达式)进行运算MATLAB Fcn:利用matlab的现有函数进行运算S-Function:调用自编的S函数的程序进行运算Look-Up Table:建立输入信号的查询表(线性峰值匹配)Look-Up Table(2-D):建立两个输入信号的查询表(线性峰值匹配)Math(数学模块) math.mdlSum:加减运算Product:乘运算Dot Product:点乘运算Gain:比例增益运算Math Function:包括指数函数、对数函数、求平方、开根号等常用数学函数Trigonometric Function:三角函数,包括正弦、余弦、正切等MinMax:最值运算Abs:取绝对值Sign:符号函数Logical Operator:逻辑运算Relational Operator:关系运算Complex to Magnitude-Angle:由复数输入转为幅值和相角输出Magnitude-Angle to Complex:由幅值和相角输入合成复数输出Complex to Real-Imag:由复数输入转为实部和虚部输出Real-Imag to Complex:由实部和虚部输入合成复数输出Nonlinear(非线性模块) nonlinear.mdlSaturation:饱和输出,让输出超过某一值时能够饱和。
Relay:滞环比较器,限制输出值在某一范围内变化。
Switch:开关选择,当第二个输入端大于临界值时,输出由第一个输入端而来,否则输出由第三个输入端而来。
Manual Switch:手动选择开关Signal&Systems(信号和系统模块) sigsys.mdlIn1:输入端。
Out1:输出端。
Mux:将多个单一输入转化为一个复合输出。
Demux:将一个复合输入转化为多个单一输出。
Ground:连接到没有连接到的输入端。
Terminator:连接到没有连接到的输出端。
SubSystem:建立新的封装(Mask)功能模块Sinks(接收器模块) sinks.mdlScope:示波器。
XY Graph:显示二维图形。
To Workspace:将输出写入MATLAB的工作空间。
To File(.mat):将输出写入数据文件。
Sources(输入源模块) sources.mdlConstant:常数信号。
Clock:时钟信号。
From Workspace:来自MATLAB的工作空间。
From File(.mat):来自数据文件。
Pulse Generator:脉冲发生器。
Repeating Sequence:重复信号。
Signal Generator:信号发生器,可以产生正弦、方波、锯齿波及随意波。
Sine Wave:正弦波信号。
Step:阶跃波信号。
Ramp: 斜坡信号。
如何用matlab来创建图形用户界面
创建一个完整的Matlab/GUI步骤:在MATLAB的命令窗口(Command Window)中运行guide命令,来打开GUIDE界面,如下:然后,选择空模板(Blang GUI),点击OK,即可打开GUIDE的设计界面,如下:点击工具栏上的菜单编辑器(Menu Editor),打开菜单编辑器,如下:在Menu Bar中新建一个菜单项,名字为“文件”,其他设置请看下图:在“文件”菜单下添加菜单项:“打开”,“保存”,“退出”。
见下图:如果需要在菜单项“退出”上面添加一个分割线的话,选中“Separator above thisitem”就行了。
保存我的界面为pjimage.fig. 保存完毕之后,会自动打开pjimage.m文件,而我们所有的程序都是要写在这个M 文件里面的。
在编程中,我们的每一个鼠标动作都对应一个Callback函数。
那么我们的菜单项也是如此的。
在界面上,单击鼠标右键选择“Property Inspector”,即可打开属性窗口。
当我们点击不同的控件时,其对应的属性都会在这里显示,我们可以进行修改。
最主要的属性莫过于Tag属性和String属性。
设置当前Figure窗口的Tag属性为:figure_pjimage,窗口的标题(Name属性)为:图像处理实例。
如下:然后,点击工具栏的保存按钮。
之后,点击工具栏的运行按钮(Run Figure)。
注意,工具栏的图标都会有提示的,像运行按钮的提示就是Run Figure. 我们会看到如下的界面:那说明,我们保存的.fig 文件的目录不是当前目录,但是没关系啊,我们只要点击“Change Directory”来改变当前目录。
当然,如果你想把当前目录添加到MATLAB路径也可以,那就点击“Add to Path”就OK了。
我在这里推荐点击“Change Directory”,因为没有什么太大必要把其添加到MATLAB路径中,一般是工具箱需要添加或者我们的函数或程序写完了,而在MATLAB的命令窗口找不到我们的函数的时候,我们可以将函数或程序所在的目录添加到MATLAB路径。
总之吧,点那个按钮,要看个人的爱好了。
不管点击两个按钮的那一个按钮,都会正确的运行程序的。
我们的程序运行时的样子,是这样的:文件下面的菜单项和快捷键我们都能看到,但是我们没有写程序,所以就算点也没有什么响应。
还有如果不想设置快捷键,可以在Menu Editor中设置,只要把其选择为Ctrl+none就行了,如下:这样的话,保存项就没有了快捷键了。
我们可以通过上面的按钮“View”来查看该菜单项的响应函数,也就是Callback 函数。
也可以在pjimage.m 中看,比如保存的Tag 属性是m_file_save,那么它对应的Callback函数的名字就是m_file_save_Callback。
依次类推了。
下面我们来写打开菜单项的函数,要打开一个图片,当然要用打开对话框了。
在界面编程中,打开对话框的函数是uigetfile. 关于它的详细的说明用help uigetfile命令查看。
下面是打开菜单的响应函数:[plain] view plain copy print?function m_file_open_Callback(hObject, eventdata, handles) [filename, pathname] = uigetfile( ... {'*.bmp;*.jpg;*.png;*.jpeg', 'Image Files (*.bmp, *.jpg, *.png, *.jpeg)'; ... '*.*', 'All Files (*.*)'}, ... 'Pick an image'); 保存.m文件,并运行程序。
点击“文件”下的“打开”,会打开如下的打开对话框:选择一个文件之后,程序中的filename就是你选择的文件的文件名,pathname就是该文件所在的目录的路径。
比如: filename =5.jpg , pathname =C:\Documents andSettings\Administrator\My Documents\。
那么获得路径之后,我们要怎么样才能读入和显示一个图片呢?读入图片可以用imread函数,而显示可以在一个坐标轴上。
那么我们需要在界面上画上一个坐标轴,为了对比,我们画两个坐标轴,一个显示处理前,一个显示处理后的。
并且将处理前的坐标轴的Tag属性改为axes_src,处理后的坐标轴的Tag属性为axes_dst。
更改之后,保存。
如下:然后在m_file_open_Callback程序原来的基础上,再添加如下的程序:[plain] view plain copy print?axes(handles.axes_src);%用axes命令设定当前操作的坐标轴是axes_src fpath=[pathname filename];%将文件名和目录名组合成一个完整的路径 imshow(imread(fpath));%用imread读入图片,并用imshow在axes_src上显示 运行程序,通过“打开”菜单项,打开一个图片。
效果如下:那么如何来保存一副图片?用imwrite命令。
但imwrite命令的第一个参数就是你读入的图片数据,也就是imread的返回值。
这样的话,我们就要将m_file_open_Callback中的程序做一点小小的改动。
将最后一句(imshow(imread(fpath))),更改为两句,如下:[plain] view plain copy print?img_src=imread(fpath);imshow(img_src); 不仅如此,我们的保存菜单的Callback函数,如何去获得打开菜单的Callback函数下的img_src变量呢?这里就要将img_src来作为一个共享的数据。
许多界面编程的朋友,喜欢用global声明。
我个人不喜欢这样用,因为有更好的方法。
那就是用setappdata和getappdata两个函数。
我们可以为界面上面的任何一个具有Tag属性的控件添加应用程序数据。
当然我比较喜欢将这些共享的应用程序数据统一添加到Figure窗口上,因为这样容易记,如果一个控件一个,感觉不容易记。
...
家长无忧软件有什么功能
软件介绍: ①最具人性化的程序设计,即使你是新手,你也可以快速掌握家长无忧大部分操作。
②最齐全的功能,最方便的快捷帮助,你随时都可以点击家长无忧左下脚帮助指南。
③最具稳定性、自我保护性、可自我恢复性的软件系统,即使进入安全模式,家长无忧也照样运行。
④最具高效率的过滤、监视、保护系统,长期测试结果:系统运行5小时,消耗CPU时间3.6~9.0分钟,占CPU百分比0.01~0.03% ★网络过滤,封杀黄、毒、赌、反动等不健康网站。
(别让你的孩子被它们毒害) ★控制聊天程序与游戏。
(别让你的孩子沉迷于聊天与游戏) ★控制电脑使用的时间。
(别让你的孩子忘了做作业) ★强大详细的日志记录。
(孩子,你究竟在做什么?) ★软件工作方式设置。
(注意隐蔽,悄悄地安装上家长无忧) ★保密私有文件、保护重要文件。
(大人的东西不要乱动)
转载请注明出处51数据库 » matlab state软件