Simulink小问题集锦
Simulink问题集锦

第一部分:------------------------------------------------- 命令行如何运行simulink外部模式build和start?用sim()函数,该函数的调用格式为:[t,x,y]=sim(f1,tspan,options,ut)其中f1为SIMULINK的模型名,tspan为仿真时间控制变量;参数options为模型控制参数;ut为外部输入向量。
-------------------------------------------------请问matlab中的仿真模块,可以看到起源程序吗?那些基本模块是看不了源代码的,有很多模块是用subsystem组成的,你可以用look under mask(鼠标右键)看到里面是怎样用子模块搭接的,还有很多是由s函数写成的simulink的模块,这些直接edit sfunname(s函数的名字)就可以看到源代码-------------------------------------------------请问:在simulink参数中设置的步长是50e-6,在系统中有一个simout模块向MATLAB中传递数据,但是希望以1e-3的步长获取数据,因该如何设计?在simout模块中直接设定仿真步长是不能运行的。
需要插入一个"zero order hold"模块,将该模块的采样时间设置为1e-03就可以了。
-------------------------------------------------simulink中IGBT等电力元件都有个m极,是什么作用的?用于测量流过IGBT电流及其电压-------------------------------------------------用simlink画的图,在示波器中显示,如何复制到word 中?告诉你一个办法,在加上示波器的地方加上to workspace 改为array在主窗口中plot直接抓过去也行吧。
simulink命令集、小问题集锦

simulink命令集、小问题集锦仿真命令:sim ---仿真运行一个simulink模块sldebug ---调试一个simulink模块simset ---设置仿真参数simget ---获取仿真参数线性化和整理命令:linmod ---从连续时间系统中获取线性模型(状态方程) linmod2 ---也是获取线性模型,采用高级方法dinmod ---从离散时间系统中获取线性模型trim ---为一个仿真系统寻找稳定的状态参数构建模型命令:open_system --打开已有的模型close_system --关闭打开的模型或模块new_system --创建一个新的空模型窗口load_system --加载已有的模型并使模型不可见save_system --保存一个打开的模型add_block --添加一个新的模块add_line --添加一条线(两个模块之间的连线)delete_block --删除一个模块delete_line --删除一根线find_system --查找一个模块hilite_system --使一个模块醒目显示replace_block --用一个新模块代替已有的模块set_param --为模型或模块设置参数get_param --获取模块或模型的参数add_param --为一个模型添加用户自定义的字符串参数delete_param --从一个模型中删除一个用户自定义的参数bdclose --关闭一个simulink窗口bdroot --根层次下的模块名字gcb --获取当前模块的名字gcbh --获取当前模块的句柄gcs --获取当前系统的名字getfullname --获取一个模块的完全路径名slupdate --将1.x的模块升级为3.x的模块addterms --为未连接的端口添加terminators模块boolean --将数值数组转化为布尔值slhelp --simulink的用户向导或者模块帮助封装命令:hasmask --检查已有模块是否封装hasmaskdlg --检查已有模块是否有封装的对话框hasmaskicon --检查已有模块是否有封装的图标iconedit --使用ginput函数来设计模块图标maskpopups --返回并改变封装模块的弹出菜单项movemask --重建内置封装模块为封装的子模块诊断命令:sllastdiagnostic --上一次诊断信息sllasterror --上一次错误信息sllastwarning --上一次警告信息sldiagnostics --为一个模型获取模块的数目和编译状态硬拷贝和打印命令:frameedit --编辑打印画面print --将simulink系统打印成图片,或将图片保存为m文件printopt --打印机默认设置orient --设置纸张的方向命令行如何运行simulink外部模式build和start用sim()函数该函数的调用格式为:[t,x,y]=sim(f1,tspan,options,ut)其中f1为SIMULINK的模型名,tspan为仿真时间控制变量;参数options为模型控制参数;ut为外部输入向量。
Simulink中的常见问题

仿真命令:sim ---仿真运行一个simulink模块sldebug ---调试一个simulink模块simset ---设置仿真参数simget ---获取仿真参数线性化和整理命令:linmod ---从连续时间系统中获取线性模型(状态方程)linmod2 ---也是获取线性模型,采用高级方法dinmod ---从离散时间系统中获取线性模型trim ---为一个仿真系统寻找稳定的状态参数构建模型命令:open_system --打开已有的模型close_system --关闭打开的模型或模块new_system --创建一个新的空模型窗口load_system --加载已有的模型并使模型不可见save_system --保存一个打开的模型add_block --添加一个新的模块add_line --添加一条线(两个模块之间的连线)delete_block --删除一个模块delete_line --删除一根线find_system --查找一个模块hilite_system --使一个模块醒目显示replace_block --用一个新模块代替已有的模块set_param --为模型或模块设置参数get_param --获取模块或模型的参数add_param --为一个模型添加用户自定义的字符串参数delete_param --从一个模型中删除一个用户自定义的参数bdclose --关闭一个simulink窗口bdroot --根层次下的模块名字gcb --获取当前模块的名字gcbh --获取当前模块的句柄gcs --获取当前系统的名字getfullname --获取一个模块的完全路径名slupdate --将1.x的模块升级为3.x的模块addterms --为未连接的端口添加terminators模块boolean --将数值数组转化为布尔值slhelp --simulink的用户向导或者模块帮助封装命令:hasmask --检查已有模块是否封装hasmaskdlg --检查已有模块是否有封装的对话框hasmaskicon --检查已有模块是否有封装的图标iconedit --使用ginput函数来设计模块图标maskpopups --返回并改变封装模块的弹出菜单项movemask --重建内置封装模块为封装的子模块诊断命令:sllastdiagnostic --上一次诊断信息sldiagnostics --为一个模型获取模块的数目和编译状态用sim()函数该函数的调用格式为:[t,x,y]=sim(f1,tspan,options,ut)其中f1为SIMULINK的模型名,tspan为仿真时间控制变量;参数options为模型控制参数;ut为外部输入向量。
MATLAB语言:Simulink系统仿真习题与答案

一、单选题1、将模块连接好之后,如果要分出一根连线,操作方法是()。
A.把鼠标指针移到分支点的位置,按住鼠标左键拖曳到目标模块的输入端B.双击分支点的位置,按住鼠标左键拖曳到目标模块的输入端C.把鼠标指针移到分支点的位置,按下Ctrl键并按住鼠标拖曳到目标模块的输入端D.把鼠标指针移到分支点的位置,按下Shift键并按住鼠标拖曳到目标模块的输入端正确答案:C2、在一个模型窗口上按住一个模块并同时按Shift键移动到另一个模型窗口,则()。
A.在两个模型窗口都有这个模块B.在后一个窗口有这个模块C.在前一个窗口有这个模块D.在两个窗口都有模块并添加连线正确答案:A3、为子系统定制参数设置对话框和图标,使子系统本身有一个独立的操作界面,这种操作称为子系统的()。
A.包装B.封装C.集成D.组合正确答案:B4、使用S函数时,要在模型编辑窗口添加()。
A.Sine Wave模块B.S-Program模块C.Subsystem模块D.S-Function模块正确答案:D二、多选题1、启动Simulink的方法有()。
A.在命令行窗口中输入simulink命令B.在“主页”选项卡中单击SIMULINK命令组中的“Simulink”命令按钮C.在“主页”选项卡中单击“文件”命令组中的“新建”命令按钮D.在“主页”选项卡中单击“文件”命令组中的“新建脚本”命令按钮正确答案:A、B、C2、根据控制信号的控制方式不同,条件执行子系统分为()。
A.事件驱动子系统B.使能子系统C.触发子系统D.使能加触发子系统正确答案:B、C、D3、以下关于S函数的描述中,正确的有()。
A.利用S函数可以对Simulink模块库进行扩充B.S函数只能用MATLAB语言编写C.S函数有现成的模板程序D.S函数模块能够被封装正确答案:A、C、D三、判断题1、建立系统仿真模型是在Simulink模型编辑窗口中进行的。
正确答案:√2、利用触发子系统能够将锯齿波转换为方波。
【分享】simulink常见问题及解答

需要插入一个"zero order hold"模块,将该模块的采样时间设置为1e-03就可以了。 ------------------------------------------------------------------------------simulink中IGBT等电力元件都有个m极,是什么作用的? 用于测量流过IGBT电流及其电压 ------------------------------------------------------------------------------用simlink画的图,在示波器中显示,如何复制到word中 告诉你一个办法, 在加上示波器的地方加上to workspace 改为array 在主窗口中plot 直接抓过去也行吧。 Edit下有copy model选项 ------------------------------------------------------------------------------simulink中的mask问题 请问如何封装 prompt,varible填啥 如何初始化 prompt中,填写变量的提示,如:直线斜率 variable中填写变量名.如:k ------------------------------------------------------------------------------有关神经网络工具箱 为什么当训练和仿真时,命令窗口会出现一堆warning?如: *WARNING* TRAINBPX is an obsolete function. Use NNT2FF and TRAIN to update and train your network. Type NNTWARN OFF to suppress NNT warning messages. trainbpx,simuff这些命令应该怎么用? 你用的神经网络不太适合你的matlab版本,有点过时了,对于BP网络,像用newff训
simulink小问题锦集

simulink命令集、小问题集锦仿真命令:sim ---仿真运行一个simulink模块sldebug ---调试一个simulink模块simset ---设置仿真参数simget ---获取仿真参数线性化和整理命令:linmod ---从连续时间系统中获取线性模型(状态方程) linmod2 ---也是获取线性模型,采用高级方法dinmod ---从离散时间系统中获取线性模型trim ---为一个仿真系统寻找稳定的状态参数构建模型命令:open_system --打开已有的模型close_system --关闭打开的模型或模块new_system --创建一个新的空模型窗口load_system --加载已有的模型并使模型不可见save_system --保存一个打开的模型add_block --添加一个新的模块add_line --添加一条线(两个模块之间的连线)delete_block --删除一个模块delete_line --删除一根线find_system --查找一个模块hilite_system --使一个模块醒目显示replace_block --用一个新模块代替已有的模块set_param --为模型或模块设置参数get_param --获取模块或模型的参数add_param --为一个模型添加用户自定义的字符串参数delete_param --从一个模型中删除一个用户自定义的参数bdclose --关闭一个simulink窗口bdroot --根层次下的模块名字gcb --获取当前模块的名字gcbh --获取当前模块的句柄gcs --获取当前系统的名字getfullname --获取一个模块的完全路径名slupdate --将1.x的模块升级为3.x的模块addterms --为未连接的端口添加terminators模块boolean --将数值数组转化为布尔值slhelp --simulink的用户向导或者模块帮助封装命令:hasmask --检查已有模块是否封装hasmaskdlg --检查已有模块是否有封装的对话框hasmaskicon --检查已有模块是否有封装的图标iconedit --使用ginput函数来设计模块图标maskpopups --返回并改变封装模块的弹出菜单项movemask --重建内置封装模块为封装的子模块诊断命令:sllastdiagnostic --上一次诊断信息sllasterror --上一次错误信息sllastwarning --上一次警告信息sldiagnostics --为一个模型获取模块的数目和编译状态硬拷贝和打印命令:frameedit --编辑打印画面print --将simulink系统打印成图片,或将图片保存为m文件printopt --打印机默认设置orient --设置纸张的方向命令行如何运行simulink外部模式build和start用sim()函数该函数的调用格式为:[t,x,y]=sim(f1,tspan,options,ut)其中f1为SIMULINK的模型名,tspan为仿真时间控制变量;参数options为模型控制参数;ut为外部输入向量。
simulink的若干小问题总结

1.回调函数的设置a.整个模型的回调函数设置:File->Model properties(模型属性)->callback页中可设置整个模型的回调函数(通常可将一些初始化数据写成m脚本文件,然后在初始化回调函数中调用此m文件,完成初始化,免得每次运行模型前都要RUN m文件)b.单个模块回调函数的设置右击模块->Block properties(模块属性)callback页中可设置单个模块的回调函数2.数据点限制问题a.Scope(示波器)示波器默认的显示点数是5000,超过5000个点时,只会显示后5000个点;修改方法:示波器属性->Data history页->将limit data points to last前面的对勾去掉;b.out模块out模块输出数据到工作空间时,默认的点数是1000,超过1000点时只输出后1000点,修改方法:Simulation菜单->Configuration Paraments对话框->Data Import/Export页->limit data points to last前面的对勾去掉;使用simout模块就不存在这个问题。
(当需要将数据输出作谱分析时,应使用simout模块,这样才有恒定的采样时间)3.矩阵的相关操作a.矩阵乘除法乘法模块和除法模块默认的是点除,改成矩阵除法的方法,双击模块弹出属性对话框->Main页Multiplication项改为Matrix(*)同理,增益模块也可改为矩阵乘,有四个选项(其中K为增益矩阵,u为信号矩阵):K.*u,K*u,u*K,K*u(u为向量)b.矩阵的连接在simulink->Math Operation->Matrix Connection(矩阵组合模块);可以完成矩阵组合工作,一般不用mux来完成,因为其拼接的方式不好定义。
c.恒值向量当在恒值里输入一恒值行向量时,要将属性中的Interpret vector parameters as 1-D(1维的意思)前的对勾去掉。
simulink model error

simulink model error怎么解决Simulink 中的模型错误可能有多种原因,以下是一些常见的Simulink 模型错误及其解决方法:1. 模型未完全加载:-解决方法:确保你的模型完全加载。
重新打开模型或者使用`File -> Save` 保存模型,然后重新加载。
2. 模型参数错误:-解决方法:检查模型参数设置,确保它们符合你的系统要求。
特别是检查Solver 配置和模型配置参数。
3. 模型拓扑错误:-解决方法:检查模型的连接,确保信号和模块之间的连接正确。
使用"Check Model" 或"Model Advisor" 来检查拓扑错误。
4. 非法或缺失的块:-解决方法:检查模型中的所有块,确保它们都是有效的且没有缺失。
5. 仿真时间过短或过长:-解决方法:调整仿真时间,确保它在合理的范围内。
检查Solver 设置中的仿真时间参数。
6. 变量未定义:-解决方法:检查模型中的变量,确保它们在使用之前被正确定义。
在MATLAB 命令行中尝试运行模型中使用的变量,确保它们没有语法错误。
7. MATLAB 版本兼容性:-解决方法:检查Simulink 模型的兼容性,确保你使用的MATLAB 和Simulink 版本是兼容的。
有时,升级到最新版本可以解决兼容性问题。
8. 缺失的工具箱:-解决方法:如果你的模型使用了特定的工具箱,确保这些工具箱已经安装且许可证有效。
9. 打开模型时的路径问题:-解决方法:如果模型文件移动了位置,确保MATLAB 的当前工作路径正确,并且模型可以正确找到。
10. 使用Model Advisor 进行检查:-解决方法:在Simulink 中使用"Model Advisor" 工具,该工具可以帮助你检查模型并提供解决方案。
如果以上方法仍未解决问题,可以查看MATLAB 命令行中的错误消息以获取更详细的信息,或者在MathWorks 的支持社区中咨询其他用户的经验。
Simulink中的常见问题要点

仿真命令:sim ---仿真运行一个simulink模块sldebug ---调试一个simulink模块simset ---设置仿真参数simget ---获取仿真参数线性化和整理命令:linmod ---从连续时间系统中获取线性模型(状态方程) linmod2 ---也是获取线性模型,采用高级方法dinmod ---从离散时间系统中获取线性模型trim ---为一个仿真系统寻找稳定的状态参数构建模型命令:open_system --打开已有的模型close_system --关闭打开的模型或模块new_system --创建一个新的空模型窗口load_system --加载已有的模型并使模型不可见save_system --保存一个打开的模型add_block --添加一个新的模块add_line --添加一条线(两个模块之间的连线)delete_block --删除一个模块delete_line --删除一根线find_system --查找一个模块hilite_system --使一个模块醒目显示replace_block --用一个新模块代替已有的模块set_param --为模型或模块设置参数get_param --获取模块或模型的参数add_param --为一个模型添加用户自定义的字符串参数delete_param --从一个模型中删除一个用户自定义的参数bdclose --关闭一个simulink窗口bdroot --根层次下的模块名字gcb --获取当前模块的名字gcbh --获取当前模块的句柄gcs --获取当前系统的名字getfullname --获取一个模块的完全路径名slupdate --将1.x的模块升级为3.x的模块addterms --为未连接的端口添加terminators模块boolean --将数值数组转化为布尔值slhelp --simulink的用户向导或者模块帮助封装命令:hasmask --检查已有模块是否封装hasmaskdlg --检查已有模块是否有封装的对话框hasmaskicon --检查已有模块是否有封装的图标iconedit --使用ginput函数来设计模块图标maskpopups --返回并改变封装模块的弹出菜单项sllastdiagnostic --上一次诊断信息sllasterror --上一次错误信息sllastwarning --上一次警告信息sldiagnostics --为一个模型获取模块的数目和编译状态用sim()函数该函数的调用格式为:[t,x,y]=sim(f1,tspan,options,ut)其中f1为SIMULINK的模型名,tspan为仿真时间控制变量;参数options为模型控制参数;ut为外部输入向量。
simulink小问题集锦

SIMULINK小问题集锦二(转帖)(2009-12-02 20:29:22)转载标签:教育如何在SIMULINK中实现u=u/max(u)没法实现,因为u在仿真前没有,无从建立最大值----------------------------------------------------------------------如何在SIMULINK中取出状态变量?可以存入文件,然后导入.---------------------------------------------------------------------请问如何用simulink进行变参数系统仿真?就是说,仿真参数会随输出的值不同而发生变化,不再是个常数;而且对于输出(阶跃函数为输入)的每一点都要进行判断,如在某一范围内就计算并调整参数,如在另一范围内就重新计算并调整参数。
系统为多输入的比较负载的传度函数,能告诉我如何仿真吗?谢谢!用离散的仿真形式,各环节都用变量或者函数实现参数时变的线性五阶系统在MATLAB中应该怎样仿真?(用mdl文件可以做?还是用S 函数?或者离散形式做成m文件仿真?)其中参数的变化规律是已知的,哪位高人帮我解决一下这个问题,深表感谢!!!可以自己用simulink模块搭建,不一定非得用s函数,参考一下传递函数的状态方程实现内容,可以选择一组积分器,再搭建模型------------------------------------------------------------------------在matlab中,用M文件的形式编写了S-function,请问怎么把他变成自己的仿真模块, 其中有什么注意事项.只需用S-function模块,打开它并在其中设置上你编写的S-function模块的函数名和参数,就可以直接使用了-------------------------------------------------------------------------本人在用simulink仿真某电机控制系统时,需要一整流桥模型input:ua,ub ucoutput:ia,ib,ic简单的二极管模型,很难传递数据,因此本人编程M函数并通过。
simulink命令集及常见问题

simulin k命令集(转载)仿真命令:sim ---仿真运行一个s imulin k模块sldebug---调试一个sim ulink模块simset---设置仿真参数simget---获取仿真参数线性化和整理命令:linmod---从连续时间系统中获取线性模型(状态方程) linmod2---也是获取线性模型,采用高级方法dinmod---从离散时间系统中获取线性模型trim ---为一个仿真系统寻找稳定的状态参数构建模型命令:open_sy stem --打开已有的模型close_s ystem--关闭打开的模型或模块new_sys tem --创建一个新的空模型窗口load_sy stem --加载已有的模型并使模型不可见save_sy stem --保存一个打开的模型add_blo ck --添加一个新的模块add_lin e --添加一条线(两个模块之间的连线)delete_block--删除一个模块delete_line --删除一根线find_sy stem --查找一个模块hilite_system --使一个模块醒目显示replace_block --用一个新模块代替已有的模块set_par am --为模型或模块设置参数get_par am --获取模块或模型的参数add_par am --为一个模型添加用户自定义的字符串参数 delete_param--从一个模型中删除一个用户自定义的参数 bdclose--关闭一个sim ulink窗口bdroot--根层次下的模块名字gcb --获取当前模块的名字gcbh --获取当前模块的句柄gcs --获取当前系统的名字getfull name --获取一个模块的完全路径名slupdat e --将1.x的模块升级为3.x的模块addterm s --为未连接的端口添加term inator s模块boolean--将数值数组转化为布尔值slhelp--simulin k的用户向导或者模块帮助封装命令:hasmask--检查已有模块是否封装hasmask dlg --检查已有模块是否有封装的对话框hasmask icon --检查已有模块是否有封装的图标iconedi t --使用ginpu t函数来设计模块图标maskpop ups --返回并改变封装模块的弹出菜单项movemas k --重建内置封装模块为封装的子模块诊断命令:sllastd iagnos tic --上一次诊断信息sllaste rror --上一次错误信息sllastw arning--上一次警告信息sldiagn ostics--为一个模型获取模块的数目和编译状态硬拷贝和打印命令:frameed it --编辑打印画面print --将simuli nk系统打印成图片,或将图片保存为m文件 printop t --打印机默认设置orient--设置纸张的方向-----------------------------------------------------------------------------附件包含好多s imulin k的例程,对于初学者和高手都需要的东西,大家多多支持作者:mikle 发表时间:2008-8-18 12:15:00第1楼模块名 (Sourcelibrary) 用途Band_Li mitedWhite Noise 把白噪声加到连续系统中Chip Signal产生一个频率不断增大的正弦波Clock 显示和提供仿真时间Constan t 产生一个常值Digital Clock 在规定的采样间隔产生仿真时间From File 从文件读取数据From Workspa ce 从工作面上定义的矩阵中读数据Pulse Generat or 在固定的时间间隔产生脉冲RandomNumber产生正态分布的随机数Repeati ng Sequenc e 产生规律重复的任意信号SignalGenerat or 产生各种不同的波形Sine Wave 产生一个正弦波Step Input 产生一个阶跃函数模块名 (Sinks library) 用途Auto_Sc ale Graph Scope 在MATLAB自动调整显示比例的图形窗口显示信号Graph Scope 在MATLAB图形窗口显示信号Hit Crossin g 在规定值附近增加仿真步数Scope 在仿真过程中显示信号Stop Simulat ion 当输入不为零时停止仿真To File 把数据输出到文件中To Workspa ce 把数据输出到工作面上定义的一个矩阵中XY Graph Scope 在MATLAB图形窗口中显示信号的X—Y图模块名 (Discret e library) 用途Discret e-Time Integra tor 对一个信号进行离散积分Discret e-Time Limited Integra tor 对一个信号进行离散有限积分Discret e State-Space 建立一个离散状态空间模型Discret e Transfe r Fcn 建立一个离散传递函数Discret e Zero-Pole 以零极点形式建立一个离散传递函数Filter建立IIR和F IR滤波器First-Order Hold 建立一阶采样保持器Unit Delay 对一个信号延迟一个采样周期Zero-Order Hold 建立一个采样周期的零阶保持器模块名 (Linearlibrary) 用途Derivat ive 对输入信号进行微分Gain 对输入信号乘上一个常数增益Inner Product对输入信号进行点积Integra tor 对输入信号进行积分MatrixGain 对输入信号乘上一个矩阵增益SliderGain 以滑动形式改变增益State-Space 建立一个线性状态空间模型Sum 对输入信号进行求和Transfe r Fcn 建立一个线性传递函数Zero-Pole 以零极点形式建立一个传递函数模块名 (Nonline ar library) 用途Abs 输出输入信号的绝对值Backlas h 用放映的方式模仿一个系统的特性Combina torial建立一张真值表Coulomb ic Frictio n 在原点不连续而在原点以外具有线性增益Dead Zone 提供一个死区Fcn 对输入进行规定的表示Limited Integra tor 在规定的范围内进行积分Logical Operato r 对输入进行规定的逻辑运算Look-up Table 对输入进行分段的线性映射MATLABFcn 定义一个函数对输入信号进行处理Memory输出本模块上一步的输入值Product对输入信号进行乘积运算Quantiz er 对输入信号进行量化处理Rate Limiter限制信号的变化速率Relatio nal Operato r 对输入进行一定的关系运算Relay 在两个值中轮流输出Reset Integra tor 在仿真中对积分器进行重新初始化Saturat ion 对输入信号进行限幅Sign 符号函数Swith 在两个输入之间进行开关Transpo rt Delay 对输入信号进行一定的延迟2-D Look-Up Table 对两个输入信号进行分段的线性映射Variabl e Transpo rt Delay 对输入信号进行不定量的延迟模块名 (Connect ions library) 用途Demux 把向量信号分开输出Inport给系统提供一个外部输出Mux 把几个信号合并成向量形式Outport给系统规定一个输出Subsyst em 表示一个系统在另外一个系统中作者:mikle 发表时间:2008-8-18 12:58:00第2楼simulin k常见问题集锦:命令行如何运行simuli nk外部模式build和start用sim()函数该函数的调用格式为:[t,x,y]=sim(f1,tspan,options,ut)其中f1为SI MULINK的模型名,tspan为仿真时间控制变量;参数optio ns为模型控制参数;ut为外部输入向量。
Simulink中的常见问题要点

仿真命令:sim -—-仿真运行一个simulink模块sldebug -——调试一个simulink模块simset --—设置仿真参数simget --—获取仿真参数线性化和整理命令:linmod ——-从连续时间系统中获取线性模型(状态方程)linmod2 ---也是获取线性模型,采用高级方法dinmod --—从离散时间系统中获取线性模型trim —--为一个仿真系统寻找稳定的状态参数构建模型命令:open_system ——打开已有的模型close_system --关闭打开的模型或模块new_system —-创建一个新的空模型窗口load_system ——加载已有的模型并使模型不可见save_system -—保存一个打开的模型add_block ——添加一个新的模块add_line —-添加一条线(两个模块之间的连线)delete_block --删除一个模块delete_line ——删除一根线find_system —-查找一个模块hilite_system -—使一个模块醒目显示replace_block -—用一个新模块代替已有的模块set_param --为模型或模块设置参数get_param ——获取模块或模型的参数add_param —-为一个模型添加用户自定义的字符串参数delete_param --从一个模型中删除一个用户自定义的参数bdclose —-关闭一个simulink窗口bdroot ——根层次下的模块名字gcb -—获取当前模块的名字gcbh -—获取当前模块的句柄gcs --获取当前系统的名字getfullname --获取一个模块的完全路径名slupdate ——将1.x的模块升级为3.x的模块addterms —-为未连接的端口添加terminators模块boolean ——将数值数组转化为布尔值slhelp -—simulink的用户向导或者模块帮助封装命令:hasmask —-检查已有模块是否封装hasmaskdlg -—检查已有模块是否有封装的对话框hasmaskicon ——检查已有模块是否有封装的图标iconedit ——使用ginput函数来设计模块图标maskpopups ——返回并改变封装模块的弹出菜单项movemask —-重建内置封装模块为封装的子模块诊断命令:sllastdiagnostic -—上一次诊断信息sllasterror --上一次错误信息sllastwarning -—上一次警告信息sldiagnostics --为一个模型获取模块的数目和编译状态用sim()函数该函数的调用格式为:[t,x,y]=sim(f1,tspan,options,ut)其中f1为SIMULINK的模型名,tspan为仿真时间控制变量;参数options为模型控制参数;ut为外部输入向量。
MATLAB-SIMULINK最常见问题

• 在变步长算法中,步长大小与信号变化快慢反向 相关。 • 容许误差限的作用是控制计算精度。当误差超过 容许误差限时会自动修正步长。在迭代的每一步 (不妨设是第i次迭代),程序都会将计算出来的值 与期望值相见得出一个误差e(i),若e(i)满足: e(i)<=max(相对容许误差限*|y(i)|, 绝对容许误差 限),则表明第i次迭代是正确的,否则,程序会自 动将步长减小,再来验证上述不等式是否成立。 重复上述过程,直到上述不等式成立为止。
一、Simulink的工作原理
• 我们在Simulink中连线的过程实际上是定义 微分(差分)方程(组)的过程。而仿真 则是求微分(差分)方程(组)数值解的 过程。
二、关于刚性问题(stiff)
什么是刚性问题? 在用微分方程描述的一个变化过程中,若往往又包含 着多个相互作用但变化速度相差十分悬殊的子过程, 这样一类过程就认为具有 “刚性”。描述这类过程的 微分方程初值问题称为“刚性问题”。
•
•
七、Scope背景色设置
• 在matlab命令窗口运行下面两条命令: • set(0,'ShowHiddenHandles','on'); set(gcf,'menubar','figure'); • 之后scope会出现相应的菜单,然后edit>figure property,即可修改scope背景色 • 需要点击axis,然后修改colors • 对于scope中输出曲线的颜色,直接在 scope相应的曲线,即会弹出其ontinuous和discrete两种状态的主要差别 在于他们取值的时间问题,既在continuous 中,理论是无间隔 时间,计算机的做法可 能是很短时间内更新一次值,而discrete则 是很长时间更新一次值,这个很短和很长 的概念是他两相对来说的。 • 离散系统采用差分方程表示,和前一时刻 的状态有关,所以必须知道先前状态连续 系统采用微分方程描述 。
simulink命令集及常见问题

simulink命令集(转载)仿真命令:sim ---仿真运行一个simulink模块sldebug ---调试一个simulink模块simset ---设置仿真参数simget ---获取仿真参数线性化和整理命令:linmod ---从连续时间系统中获取线性模型(状态方程)linmod2 ---也是获取线性模型,采用高级方法dinmod ---从离散时间系统中获取线性模型trim ---为一个仿真系统寻找稳定的状态参数构建模型命令:open_system --打开已有的模型close_system --关闭打开的模型或模块new_system --创建一个新的空模型窗口load_system --加载已有的模型并使模型不可见save_system --保存一个打开的模型add_block --添加一个新的模块add_line --添加一条线(两个模块之间的连线)delete_block --删除一个模块delete_line --删除一根线find_system --查找一个模块hilite_system --使一个模块醒目显示replace_block --用一个新模块代替已有的模块set_param --为模型或模块设置参数get_param --获取模块或模型的参数add_param --为一个模型添加用户自定义的字符串参数delete_param --从一个模型中删除一个用户自定义的参数bdclose --关闭一个simulink窗口bdroot --根层次下的模块名字gcb --获取当前模块的名字gcbh --获取当前模块的句柄gcs --获取当前系统的名字getfullname --获取一个模块的完全路径名slupdate --将1.x的模块升级为3.x的模块addterms --为未连接的端口添加terminators模块boolean --将数值数组转化为布尔值slhelp --simulink的用户向导或者模块帮助封装命令:hasmask --检查已有模块是否封装hasmaskdlg --检查已有模块是否有封装的对话框hasmaskicon --检查已有模块是否有封装的图标iconedit --使用ginput函数来设计模块图标maskpopups --返回并改变封装模块的弹出菜单项movemask --重建内置封装模块为封装的子模块诊断命令:sllastdiagnostic --上一次诊断信息sllasterror --上一次错误信息sllastwarning --上一次警告信息sldiagnostics --为一个模型获取模块的数目和编译状态硬拷贝和打印命令:frameedit --编辑打印画面print --将simulink系统打印成图片,或将图片保存为m文件printopt --打印机默认设置orient --设置纸张的方向-----------------------------------------------------------------------------附件包含好多simulink的例程,对于初学者和高手都需要的东西,大家多多支持作者:mikle 发表时间:2008-8-18 12:15:00第1楼模块名(Source library) 用途Band_Limited White Noise 把白噪声加到连续系统中Chip Signal 产生一个频率不断增大的正弦波Clock 显示和提供仿真时间Constant 产生一个常值Digital Clock 在规定的采样间隔产生仿真时间From File 从文件读取数据From Workspace 从工作面上定义的矩阵中读数据Pulse Generator 在固定的时间间隔产生脉冲Random Number 产生正态分布的随机数Repeating Sequence 产生规律重复的任意信号Signal Generator 产生各种不同的波形Sine Wave 产生一个正弦波Step Input 产生一个阶跃函数模块名(Sinks library) 用途Auto_Scale Graph Scope 在MA TLAB自动调整显示比例的图形窗口显示信号Graph Scope 在MA TLAB图形窗口显示信号Hit Crossing 在规定值附近增加仿真步数Scope 在仿真过程中显示信号Stop Simulation 当输入不为零时停止仿真To File 把数据输出到文件中To Workspace 把数据输出到工作面上定义的一个矩阵中XY Graph Scope 在MA TLAB图形窗口中显示信号的X—Y图模块名(Discrete library) 用途Discrete-Time Integrator 对一个信号进行离散积分Discrete-Time Limited Integrator 对一个信号进行离散有限积分Discrete State-Space 建立一个离散状态空间模型Discrete Transfer Fcn 建立一个离散传递函数Discrete Zero-Pole 以零极点形式建立一个离散传递函数Filter 建立IIR和FIR滤波器First-Order Hold 建立一阶采样保持器Unit Delay 对一个信号延迟一个采样周期Zero-Order Hold 建立一个采样周期的零阶保持器模块名(Linear library) 用途Derivative 对输入信号进行微分Gain 对输入信号乘上一个常数增益Inner Product 对输入信号进行点积Integrator 对输入信号进行积分Matrix Gain 对输入信号乘上一个矩阵增益Slider Gain 以滑动形式改变增益State-Space 建立一个线性状态空间模型Sum 对输入信号进行求和Transfer Fcn 建立一个线性传递函数Zero-Pole 以零极点形式建立一个传递函数模块名(Nonlinear library) 用途Abs 输出输入信号的绝对值Backlash 用放映的方式模仿一个系统的特性Combinatorial 建立一张真值表Coulombic Friction 在原点不连续而在原点以外具有线性增益Dead Zone 提供一个死区Fcn 对输入进行规定的表示Limited Integrator 在规定的范围内进行积分Logical Operator 对输入进行规定的逻辑运算Look-up Table 对输入进行分段的线性映射MATLAB Fcn 定义一个函数对输入信号进行处理Memory 输出本模块上一步的输入值Product 对输入信号进行乘积运算Quantizer 对输入信号进行量化处理Rate Limiter 限制信号的变化速率Relational Operator 对输入进行一定的关系运算Relay 在两个值中轮流输出Reset Integrator 在仿真中对积分器进行重新初始化Saturation 对输入信号进行限幅Sign 符号函数Swith 在两个输入之间进行开关Transport Delay 对输入信号进行一定的延迟2-D Look-Up Table 对两个输入信号进行分段的线性映射Variable Transport Delay 对输入信号进行不定量的延迟模块名(Connections library) 用途Demux 把向量信号分开输出Inport 给系统提供一个外部输出Mux 把几个信号合并成向量形式Outport 给系统规定一个输出Subsystem 表示一个系统在另外一个系统中作者:mikle 发表时间:2008-8-18 12:58:00第2楼simulink常见问题集锦:命令行如何运行simulink外部模式build和start用sim()函数该函数的调用格式为:[t,x,y]=sim(f1,tspan,options,ut)其中f1为SIMULINK的模型名,tspan为仿真时间控制变量;参数options为模型控制参数;ut为外部输入向量。
simulink有关问题解答

1 关于模块的查找问题:
模块名称已知情况下,可 以直接在Simulink模块库浏览 器(图中红色框)中进行查找 如左图所示。 图中为增益模块(gain) 的查找结果,同理,可以查找 示波器模块(scope)、阶跃 模块(step)、传递函数模块 (Transfer Fcn)等。
运行仿真模型
举例:例子中仿真时间设置为“100s”较合适,为画图方便, 产生数据数为100+1=101个(0s产生一个点),运行仿真模 型。
在运行完仿真模型后,回到Matlab的Workspace窗口, 能看到变量pid123,此变量为101个Y轴数据点,画成一个曲 线图还需要101个时间点做为X轴的点(x、y轴的点数要相等)。 在命令行中输入:>> T=0:1:100; 此时,在工作空间中多了一个变量T, 正好101个点,如右图。
2 关于Simulink模块翻转问题:
模块未经翻转的模型图
模块翻转后的模型图
模块翻转步骤
模块翻转步骤为:右键点击需翻转模块 Format Flip Block。
3 关于Simulink示波器显示范围问题:
曲线幅度超过显示范围
经调整的示波器显示曲线
左图中的曲线超过了显示画面范围,通过按右图中红 色框内的按钮“自动尺度”来进行调整,调整结果如右图 所示。
6 如何用Plot命令画示波器曲线:
(1) 导出示波器数据
如上图导出示波器数据需要用到“to workspace”模块, 如何查找此模块见问题1,连接方式如图中黄色模块。
simulink面试常见问题

simulink面试常见问题
在Simulink面试中,面试官可能会问到以下一些常见问题:
1. 能否简述一下Simulink的主要功能和优点?
2. 能否解释一下Simulink中的模块和连接方式?
3. 如何使用Simulink进行模型建立和仿真?
4. 在Simulink中如何处理噪声数据?
5. 能否举一个你曾经使用Simulink解决过的具体问题?
6. 在使用Simulink进行模型建立和仿真时,如何进行优化和调试?
7. 你如何评估Simulink模型的性能?
8. 如果需要与其他软件或硬件进行集成,你会如何使用Simulink进行实现?
9. 在处理复杂模型或大规模数据时,你通常会使用哪些技术和工具来提高效率和准确性?
10. 你如何保证Simulink模型的正确性和可靠性?。
Simulink中的常见问题

仿真命令:sim ---仿真运行一个simulink模块sldebug ---调试一个simulink模块simset ---设置仿真参数simget ---获取仿真参数线性化和整理命令:linmod ---从连续时间系统中获取线性模型(状态方程)linmod2 ---也是获取线性模型,采用高级方法dinmod ---从离散时间系统中获取线性模型trim ---为一个仿真系统寻找稳定的状态参数构建模型命令:open_system --打开已有的模型close_system --关闭打开的模型或模块new_system --创建一个新的空模型窗口load_system --加载已有的模型并使模型不可见save_system --保存一个打开的模型add_block --添加一个新的模块add_line --添加一条线(两个模块之间的连线)delete_block --删除一个模块delete_line --删除一根线find_system --查找一个模块hilite_system --使一个模块醒目显示replace_block --用一个新模块代替已有的模块set_param --为模型或模块设置参数get_param --获取模块或模型的参数add_param --为一个模型添加用户自定义的字符串参数delete_param --从一个模型中删除一个用户自定义的参数bdclose --关闭一个simulink窗口bdroot --根层次下的模块名字gcb --获取当前模块的名字gcbh --获取当前模块的句柄gcs --获取当前系统的名字getfullname --获取一个模块的完全路径名slupdate --将1.x的模块升级为3.x的模块addterms --为未连接的端口添加terminators模块boolean --将数值数组转化为布尔值slhelp --simulink的用户向导或者模块帮助封装命令:hasmask --检查已有模块是否封装hasmaskdlg --检查已有模块是否有封装的对话框hasmaskicon --检查已有模块是否有封装的图标iconedit --使用ginput函数来设计模块图标maskpopups --返回并改变封装模块的弹出菜单项movemask --重建内置封装模块为封装的子模块诊断命令:sldiagnostics --为一个模型获取模块的数目和编译状态用sim()函数该函数的调用格式为:[t,x,y]=sim(f1,tspan,options,ut)其中f1为SIMULINK的模型名,tspan为仿真时间控制变量;参数options为模型控制参数;ut为外部输入向量。
simulink问题集2

Simulink 问题:请问M文件能被封装成Simulink中的一个模块吗?可以的,参考Embedded MATLAB function 或S function的用法。
1. Simulink S函数概观S-function(System function)是Simulink模块的计算机语言描述。
可以用M、C/C++、Ada、Fortran 语言以MEX文件的形式编写。
S-function以特殊的方式与Simulink方程求解器交互。
这种交互和Simulink内建模块的做法非常相似。
S-function模块可以是连续、离散或者混合系统。
通过S-function,用户可以将自己的模块加入Simulink模型中。
从而可以实现用户自定义的算法或者利用操作系统、硬件设备交互。
2. S函数工作机制2.1 Simulink模块的数学描述2.2 仿真过程Simulink模型的执行按下述几个步骤。
首先是初始化阶段。
在这一阶段Simulink将库模块集合到模型,传播宽度、数据类型和采样时间,评估模块参数,确定模块执行顺序,分配内存。
然后是仿真阶段。
此时Simulink进入一个仿真循环,循环的每次执行对应一个仿真步。
在每个仿真步,Simulink按初始化阶段确定的顺序执行各个模块。
对每个模块,Simulink计算模块在当前采样时间的状态、微分和输出。
这将持续到仿真结束。
图3描述了Simulink的仿真过程。
2.3 S-function的回调(Callback)方法S-function包括一系列的回调方法,用以执行每个仿真步骤所需的任务。
在一个模型的仿真过程中,每个仿真步骤,Simulink 将调用各S-function的适当方法。
S-function执行的方法包括:●初始化:在首次仿真循环中执行。
Simulink初始化S-function。
在这一步骤中Simulink将:-初始化SimStruct,这是一种Simulink结构,包含了S-function的信息。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
命令行如何运行simulink外部模式build和start用sim()函数该函数的调用格式为:[t,x,y]=sim(f1,tspan,options,ut)其中f1为SIMULINK的模型名,tspan为仿真时间控制变量;参数options为模型控制参数;ut为外部输入向量。
--------------------------------------------------------------------------------请问matlab中的仿真模块,可以看到起源程序吗?那些基本模块是看不了源代码的,有很多模块是用subsystem组成的,你可以用look under mask(鼠标右键)看到里面是怎样用子模块搭接的,还有很多是由s函数写成的simulink的模块,这些直接edit sfunname(s函数的名字)就可以看到源代码--------------------------------------------------------------------------------请问:在simulink参数中设置的步长是50e-6,在系统中有一个simout模块向MATLAB 中传递数据,但是希望以1e-3的步长获取数据,因该如何设计?在simout模块中直接设定仿真步长是不能运行的。
需要插入一个"zero order hold"模块,将该模块的采样时间设置为1e-03就可以了。
--------------------------------------------------------------------------------simulink中IGBT等电力元件都有个m极,是什么作用的?用于测量流过IGBT电流及其电压--------------------------------------------------------------------------------用simlink画的图,在示波器中显示,如何复制到word中告诉你一个办法,在加上示波器的地方加上to workspace改为array在主窗口中plot直接抓过去也行吧。
Edit下有copy model选项--------------------------------------------------------------------------------simulink中的mask问题请问如何封装prompt,varible填啥如何初始化prompt中,填写变量的提示,如:直线斜率variable中填写变量名.如:k--------------------------------------------------------------------------------有关神经网络工具箱为什么当训练和仿真时,命令窗口会出现一堆warning?如:*WARNING* TRAINBPX is an obsolete function.Use NNT2FF and TRAIN to update and train your network.Type NNTWARN OFF to suppress NNT warning messages.trainbpx,simuff这些命令应该怎么用?你用的神经网络不太适合你的matlab版本,有点过时了,对于BP网络,像用newff训练就没问题,建议你可买一本较新的神经网络参考书。
还可看matlab的help--------------------------------------------------------------------------------一个关于simulink仿真的问题根据4个输出a1、a2、a3、a4判断,输出最大的ai所对应的数。
这样一个过程不用s 函数能不能实现阿?我用了if else语句,但是无法把不同时刻的不同输出值汇总成串行数据流输出。
用mux将各路信号构造成向量信号,再用matlab fcn下的max对之进行操作即可--------------------------------------------------------------------------------怎么实现在simulink仿真过程中与其他程序进行通讯,即如何在simulink仿真过程中实时读出数据。
不论通过网络或变量空间中的变量都行,应该怎么实现,请教!用to workspace或to file 都可以保存仿真时的数据--------------------------------------------------------------------------------请问如何在simulink中实现A/D和D/A转换。
有相关的模块,在xpc中,不过得和硬件对应上--------------------------------------------------------------------------------请问如何改变ode45函数中的步长ode45现在的版本不允许显式给出步长--------------------------------------------------------------------------------请教:如何将workspace中的输入,输出数据存为*.txt文件?save filename varname -ASCIIvarname是要存储的变量名,之间用空格分隔--------------------------------------------------------------------------------将PID的SIMULINK图的输出仿真图形怎样与自己设计的界面中的按钮连接回调函数怎么编要显示的数据用Outport端子表示,就可以用sim函数直接获得数据了--------------------------------------------------------------------------------怎样才能增加采样点?在Simulink里边连接框图,阶跃step输入经过一积分环节1/s,用out输出至workspa ce,tout跟yout都为56×1,能不能把56变成更大的值?怎么设置?谢谢!!!!!!能增加,simulink中你得到的是默认的结果如果向增加,则可以认为减小允许的误差限,即在simulink中的relative error项,如将其变化成e-6或其他更小的值。
另外还可以通过定步长方法进行仿真(这时应该注意要确认能保证仿真精度要求)--------------------------------------------------------------------------------我最近在做电机控制的仿真时,遇到一个问题。
我是用matlab6.5中的电机模块做为模型,然后自己搭建了一个变频器。
在运行中经常出现运行到一半时就进行不下去了,simulink报错说步长有问题,我修改后还是不行。
请问在做有关电机的仿真时,应该如何设置仿真环境。
试试改变仿真算法,如ode15s--------------------------------------------------------------------------------运行时出现下面的提示:Derivative input 1 of block 'try1/check/Analog Filter Design' at time 0is Inf or NaN. Stopping simulation. There may be a singularity in thesolution. If not, try reducing the step size (either by reducing thefixed step size or by tightening the error tolerances)仿真系统数值不稳定,是模型的问题或是其他问题--------------------------------------------------------------------------------相位Phase的单位deg是什么意思?degree,it is same to say 度--------------------------------------------------------------------------------workspace,数据多了就存不下啦?采样时间设为0.01秒,运行若干秒以后,在workspace中打开scopedata(示波器format设定为Array,limit data points to last没选择!)时,系统提示:cannotdisplay variables with more then 10000 elements,什么原因?数据量大了是不能显示得实在不显示,可以考虑将矩阵存到文件中,你再去读文件了。
另外:你的矩阵维数是多少connot display variables with more than 65536 elements!a=ones(500,499);双击workspace中的a矩阵--------------------------------------------------------------------------------simulink中的数据为什么会丢失啊?我在做一个比较大的系统的rtw仿真可是在仿真时,要是记录数据的模块(比如示波器,to workspace)等比较多或者步长比较小时,就会出现记录的数据不全或者干脆丢失的现象,比如to workspace的数据只有后面或者前面的几百个,丢了好多。
记录不全。
出现提示信息如下Warning: Received shutdown message from target 15.002000 seconds ago.Waiting for final data logging buffer andlogging terminator...Warning: Received shutdown message from target 30.004000 seconds ago.Waiting for final data logging buffer and logging terminator...Warning: Received shutdown message from target 45.003000 seconds ago.Waiting for final data logging buffer and logging terminator...Warning: Received shutdown message from target 60.008000 seconds ago.Waiting for final data logging buffer and logging terminator...Warning: Did not received final data logging buffer and loggingterminator from target. Disconnecting...这样运行就停止了,但数据不全。