Simulink小问题集锦

合集下载

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命令集、小问题集锦

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中的常见问题

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系统仿真习题与答案

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常见问题及解答

【分享】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小问题锦集

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的若干小问题总结

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 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 的支持社区中咨询其他用户的经验。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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...这样运行就停止了,但数据不全。

相关文档
最新文档