simulink命令集及常见问题.docx
《simulink命令集及常见问题.docx》由会员分享,可在线阅读,更多相关《simulink命令集及常见问题.docx(37页珍藏版)》请在冰豆网上搜索。
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-1812:
15:
00
第1楼
模块名(Sourcelibrary)用途
Band_LimitedWhiteNoise把白噪声加到连续系统中
ChipSignal产生一个频率不断增大的正弦波
Clock显示和提供仿真时间
Constant产生一个常值
DigitalClock在规定的采样间隔产生仿真时间
FromFile从文件读取数据
FromWorkspace从工作面上定义的矩阵中读数据
PulseGenerator在固定的时间间隔产生脉冲
RandomNumber产生正态分布的随机数
RepeatingSequence产生规律重复的任意信号
SignalGenerator产生各种不同的波形
SineWave产生一个正弦波
StepInput产生一个阶跃函数
模块名(Sinkslibrary)用途
Auto_ScaleGraphScope在MATLAB自动调整显示比例的图形窗口显示信号
GraphScope在MATLAB图形窗口显示信号
HitCrossing在规定值附近增加仿真步数
Scope在仿真过程中显示信号
StopSimulation当输入不为零时停止仿真
ToFile把数据输出到文件中
ToWorkspace把数据输出到工作面上定义的一个矩阵中
XYGraphScope在MATLAB图形窗口中显示信号的X—Y图
模块名(Discretelibrary)用途
Discrete-TimeIntegrator对一个信号进行离散积分
Discrete-TimeLimitedIntegrator对一个信号进行离散有限积分
DiscreteState-Space建立一个离散状态空间模型
DiscreteTransferFcn建立一个离散传递函数
DiscreteZero-Pole以零极点形式建立一个离散传递函数
Filter建立IIR和FIR滤波器
First-OrderHold建立一阶采样保持器
UnitDelay对一个信号延迟一个采样周期
Zero-OrderHold建立一个采样周期的零阶保持器
模块名(Linearlibrary)用途
Derivative对输入信号进行微分
Gain对输入信号乘上一个常数增益
InnerProduct对输入信号进行点积
Integrator对输入信号进行积分
MatrixGain对输入信号乘上一个矩阵增益
SliderGain以滑动形式改变增益
State-Space建立一个线性状态空间模型
Sum对输入信号进行求和
TransferFcn建立一个线性传递函数
Zero-Pole以零极点形式建立一个传递函数
模块名(Nonlinearlibrary)用途
Abs输出输入信号的绝对值
Backlash用放映的方式模仿一个系统的特性
Combinatorial建立一张真值表
CoulombicFriction在原点不连续而在原点以外具有线性增益
DeadZone提供一个死区
Fcn对输入进行规定的表示
LimitedIntegrator在规定的范围内进行积分
LogicalOperator对输入进行规定的逻辑运算
Look-upTable对输入进行分段的线性映射
MATLABFcn定义一个函数对输入信号进行处理
Memory输出本模块上一步的输入值
Product对输入信号进行乘积运算
Quantizer对输入信号进行量化处理
RateLimiter限制信号的变化速率
RelationalOperator对输入进行一定的关系运算
Relay在两个值中轮流输出
ResetIntegrator在仿真中对积分器进行重新初始化
Saturation对输入信号进行限幅
Sign符号函数
Swith在两个输入之间进行开关
TransportDelay对输入信号进行一定的延迟
2-DLook-UpTable对两个输入信号进行分段的线性映射
VariableTransportDelay对输入信号进行不定量的延迟
模块名(Connectionslibrary)用途
Demux把向量信号分开输出
Inport给系统提供一个外部输出
Mux把几个信号合并成向量形式
Outport给系统规定一个输出
Subsystem表示一个系统在另外一个系统中
作者:
mikle发表时间:
2008-8-1812:
58:
00
第2楼
simulink常见问题集锦:
命令行如何运行simulink外部模式build和start
用sim()函数
该函数的调用格式为:
[t,x,y]=sim(f1,tspan,options,ut)
其中f1为SIMULINK的模型名,tspan为仿真时间控制变量;参数options为模型控制参数;ut为外部输入向量。
-------------------------------------------------------------------------
请问matlab中的仿真模块,可以看到起源程序吗?
那些基本模块是看不了源代码的,有很多模块是用subsystem组成的,你可以用lookundermask(鼠标右键)看到里面是怎样用子模块搭接的,还有很多是由s函数写成的simulink的模块,这些直接editsfunname(s函数的名字)就可以看到源代码
-------------------------------------------------------------------------
请问:
在simulink参数中设置的步长是50e-6,在系统中有一个simout模块向MATLAB
中传递数据,但是希望以1e-3的步长获取数据,因该如何设计?
在simout模块中直
接设定仿真步长是不能运行的。
需要插入一个"zeroorderhold"模块,将该模块的采样时间设置为1e-03就可以了
-------------------------------------------------------------------------
simulink中IGBT等电力元件都有个m极,是什么作用的?
用于测量流过IGBT电流及其电压
-------------------------------------------------------------------------
用simlink画的图,在示波器中显示,如何复制到word中
告诉你一个办法,在加上示波器的地方加上toworkspace,改为array,在主窗口中plot,直接抓过去也行吧。
Edit下有copymodel选项
-------------------------------------------------------------------------
simulink中的mask问题,请问如何封装,prompt,varible填啥,如何初始化
prompt中,填写变量的提示,如:
直线斜率
variable中填写变量名.如:
k
-------------------------------------------------------------------------
有关神经网络工具箱
为什么当训练和仿真时,命令窗口会出现一堆warning?
如:
*WARNING*TRAINBPXisanobsoletefunction.
UseNNT2FFandTRAINtoupdateandtrainyournetwork.
TypeNNTWARNOFFtosuppressNNTwarningmessages.
trainbpx,simuff这些命令应该怎么用?
你用的神经网络不太适合你的matlab版本,有点过时了,对于BP网络,像用newff训
练就没问题,建议你可买一本较新的神经网络参考书。
还可看matlab的help
-------------------------------------------------------------------------
一个关于simulink仿真的问题
根据4个输出a1、a2、a3、a4判断,输出最大的ai所对应的数。
这样一个过程不用s
函数能不能实现阿?
我用了ifelse语句,但是无法把不同时刻的不同输出值汇总成
串行数据流输出。
用mux将各路信号构造成向量信号,再用matlabfcn下的max对之进行操作即可
-------------------------------------------------------------------------
怎么实现在simulink仿真过程中与其他程序进行通讯,即如何在simulink仿真过程
中实时读出数据。
不论通过网络或变量空间中的变量都行,应该怎么实现,请教!
用toworkspace或tofile都可以保存仿真时的数据
-------------------------------------------------------------------------
请问如何在simulink中实现A/D和D/A转换。
有相关的模块,在xpc中,不过得和硬件对应上
-------------------------------------------------------------------------
请问如何改变ode45函数中的步长
ode45现在的版本不允许显式给出步长
-------------------------------------------------------------------------
请教:
如何将workspace中的输入,输出数据存为*.txt文件?
savefilenamevarname-ASCII
varname是要存储的变量名,之间用空格分隔
-------------------------------------------------------------------------
将PID的SIMULINK图的输出仿真图形怎样与自己设计的界面中的按钮连接回调函数怎么编
要显示的数据用Outport端子表示,就可以用sim函数直接获得数据了
-------------------------------------------------------------------------
怎样才能增加采样点?
在Simulink里边连接框图,阶跃step输入经过一积分环节1/s,用out输出至workspa
ce,tout跟yout都为56×1,能不能把56变成更大的值?
怎么设置?
谢谢!
!
!
!
!
能增加,simulink中你得到的是默认的结果,如果向增加,则可以认为减小允许的误差限,即在simulink中的relativeerror项,如将其变化成e-6或其他更小的值。
另外还可以通过定步长方法进行仿真(这时应该注意要确认能保证仿真精度要求)
-------------------------------------------------------------------------
我最近在做电机控制的仿真时,遇到一个问题。
我是用matlab6.5中的电机模块做为
模型,然后自己搭建了一个变频器。
在运行中经常出现运行到一半时就进行不下去
了,simulink报错说步长有问题,我修改后还是不行。
请问在做有关电机的仿真时
,应该如何设置仿真环境。
试试改变仿真算法,如ode15s
-------------------------------------------------------------------------
运行时出现下面的提示:
Derivativeinput1ofblock'try1/check/AnalogFilterDesign'attime0isInforNaN.Stoppingsimulation.Theremaybeasingularityinthesolution.Ifnot,tryreducingthestepsize(eitherbyreducingthefixedstepsizeorbytighteningtheerrortolerances)
仿真系统数值不稳定,是模型的问题或是其他问题
-------------------------------------------------------------------------
相位Phase的单位deg是什么意思?
degree,itissametosay度
-------------------------------------------------------------------------
workspace,数据多了就存不下啦?
采样时间设为0.01秒,运行若干秒以后,在workspace中打开scopedata(示波器format设定为Array,limitdatapointstolast没选择!
)时,系统提示:
cannotdisplayvariableswithmorethen10000elements,什么原因?
数据量大了是不能显示得,实在不显示,可以考虑将矩阵存到文件中,你再去读文件了。
另外:
你的矩阵维数是多少
connotdisplayvariableswithmorethan65536elements!
a=ones(500,499);
双击workspace中的a矩阵
-------------------------------------------------------------------------
simulink中的数据为什么会丢失啊?
我在做一个比较大的系统的rtw仿真
可是在仿真时,要是记录数据的模块(比如示波器,toworkspace)等比较多或者步长比较小时,就会出现记录的数据不全或者干脆丢失的现象,比如toworkspace的数据只有后面或者前面的几百个,丢了好多。
记录不全。
出现提示信息如下
Warning:
Receivedshutdownmessagefromtarget15.002000secondsago.
Waitin
gforfinaldataloggingbufferand
loggingterminator...
Warning:
Receivedshutdownmessagefromtarget30.004000secondsago.
Waitin
gforfinaldataloggingbufferandloggingterminator...
Warning:
Receivedshutdownmessagefromtarget45.003000secondsago.
Waitin
gforfinaldataloggingbufferandloggingterminator...
Warning:
Receivedshutdownmessagefromtarget60.008000secondsago.
Waitin
gforfinaldataloggingbufferandloggingterminator...
Warning:
Didnotreceivedfinaldataloggingbufferandlogging
terminatorf
romtarget.Disconnecting...
这样运行就停止了,但数据不全。
另外,有时候运行时会出现突然黑屏现象。
还有就是在rtw中如何进行数据的实时观测,scope不可以了,在gui中编程可以实现吗?
看看原来的simulink模型
其中示波器或其他输出环节中可能选择了存最新若干数据的选项,解除它即可
-------------------------------------------------------------------------
请问白噪声譜生产随即数问题?
已知白噪声譜为S0,如何生产随即数序列?
遇到问题:
1,用simulink中的Band-LimitedWhiteNoise模块,设置NoisePower为S0,可是为什么Sampletime取不同的值,生成的生产随即数序列大小相差很大,有数量级的差别,不应该有那么大吧?
?
2,生产随机数的大小与Seed的取值有关吗?
3,有无更简单的方法。
你注意到1的现象很好
实际该模块发出的噪声是经过除以sqrt(T)后的结果,T是采样周期。
所以你觉得幅值不同,这样可以保证噪声的强度符合有求。
-------------------------------------------------------------------------
请教:
怎样能查到仿真块的程序?
simulink自带的模块如果不是mask的就查不了
-------------------------------------------------------------------------
为什么用SUMULINK里tofile模块中的数据传不到M文件?
需要设置什么?
谢谢
是写入.mat中的。
用load命令读入到workspace。
-------------------------------------------------------------------------
请问如何产生带限白噪声
如果先产生随机数再通过滤波器,请问,滤波器归一化频率如何确定,和采样频率归一化吗
使用Band-LimitedWhiteNoise模块
-----------------------------------------------------------------------
请教:
关于.m文件和simulink模型的仿真速度的问题。
一个控制问题,用.m文件做仿真,运行时间大约15分钟;然后作成simulink模型,运行了24小时也没有得到结果。
这是什么原因?
simulink就如此慢吗?
小弟对simulink不熟,请指教有无加快速度的办法?
(accelerate用过了)。
谢谢。
问题不清楚,只能猜一下simulink是不是有代数环?
在command窗口看看m文件用pcode处理一下
-------------------------------------------------------------------------
请教:
如何在.m文件中实现变量延时?
就象simulink中的传输延时模块的功能。
谢谢。
没办法,m文件中只是数值计算,只有调用顺序问题,如果使用差分方程计算,对应于滞后一些的循环simulink仿真是有时间基准的
----------------------------------------------------------