仿真命令:
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--删除一个模块
find_system --查找一个模块hilite_system --使一个模块醒目显示 delete_line --删除一根线 |
bdclose--关闭一个simulink窗口
bdroot--根层次下的模块名字
gcb--获取当前模块的名字
gcbh--获取当前模块的句柄
gcs--获取当前系统的名字
getfullname--获取一个模块的完全路径名
slupdate--将1.x的模块升级为3.x的模块
addterms--为未连接的端口添加terminators模块
boolean--将数值数组转化为布尔值
slhelp--simulink的用户向导或者模块帮助
封装命令:
hasmask--检查已有模块是否封装
hasmaskdlg --检查已有模块是否有封装的对话框hasmaskicon --检查已有模块是否有封装的图标iconedit --使用ginput 函数来设计模块图标 | |
诊断命令:
sllastdiagnostic--上一次诊断信息
sllasterror--上一次错误信息
sllastwarning--上一次警告信息
sldiagnostics--为一个模型获取模块的数目和编译状态
用sim()函数
该函数的调用格式为:
[t,x,y]=sim(f1,tspan,options,ut)
其中f1为SIMULINK的模型名,tspan为仿真时间控制变量;参数options为模型控制参数;ut为外部输入向量。
请问matlab中的仿真模块,可以看到起源程序吗?
那些基本模块是看不了源代码的,有很多模块是用subsystem组成的,你可以用lookunder mask(鼠标右键)看到里面是怎样用子模块搭接的,还有很多是由s函数写成的simulink的模块,这些直接editsfunname(s函数的名字)就可以看到源代码
请问:在simulink参数中设置的步长是50e-6,在系统中有一个simout模块向MATLAB中传递数据,但是希望以1e-3
的步长获取数据,因该如何设计?在simout模块中直接设定仿真步长是不能运行的。需要插入一个"zeroorder
hold"模块,将该模块的采样时间设置为1e-03就可以了。
simulink 中IGBT 等电力元件都有个m 极,是什么作用的? |
workspace改为array在主窗口中plot直接抓过去也行吧。
Edit下有copymodel 选项
simulink中的mask问题请问如何封装,prompt,varible填啥?如何初始化?
prompt中,填写变量的提示,如:直线斜率variable中填写变量名.如:k
一个关于simulink 仿真的问题 |
|
根据4 个输出a1、a2、a3、a4判断,输出最大的ai所对应的数。这样一个过程不用s函数能不能实现阿?我用了if
else 语句,但是无法把不同时刻的不同输出值汇总成串行数据流输出。用mux 将各路信号构造成向量信号,再用
matlabfcn 下的max对之进行操作即可
--------------------------------------------------------------------------------
怎么实现在simulink仿真过程中与其他程序进行通讯,即如何在simulink仿真过程中实时读出数据。不论通过网络或变量空间中的变量都行,应该怎么实现,请教!
用toworkspace 或tofile 都可以保存仿真时的数据
-------------------------------------------------------------------------------- 请问如何在simulink中实现A/D和D/A转换。
有相关的模块,在xpc中,不过得和硬件对应上
-------------------------------------------------------------------------------- 请问如何改变ode45函数中的步长
ode45现在的版本不允许显式给出步长
请教:如何将workspace 中的输入,输出数据存为*.txt 文件? |
将PID的SIMULINK图的输出仿真图形怎样与自己设计的界面中的按钮连接回调函数 怎么编要显示的数据用Outport端子表示,就可以用sim函数直接获得数据了
-------------------------------------------------------------------------
-------
怎样才能增加采样点?
在Simulink 里边连接框图,阶跃step输入经过一积分环节1/s,用out输出至workspa
ce,tout跟yout都为56×1,能不能把56变成更大的值?怎么设置?谢谢!!!!!
!
能增加,simulink中你得到的是默认的结果
如果向增加,则可以认为减小允许的误差限,即在simulink中的relativeerror 项
,如将其变化成e-6或其他更小的值。另外还可以通过定步长方法进行仿真(这时应
该注意要确认能保证仿真精度要求)
-------------------------------------------------------------------------
workspace,数据多了就存不下啦? |
at设定为Array,limitdata points to last 没选择!)时,系统提示:cannot
displayvariables with more then 10000 elements,什么原因?
数据量大了是不能显示得
实在不显示,可以考虑将矩阵存到文件中,你再去读文件了。
另外:你的矩阵维数是多少
connotdisplay variables with more than 65536 elements!
a=ones(500,499);
双击workspace中的a矩阵
simulink中的数据为什么会丢失啊?
我在做一个比较大的系统的rtw仿真
可是在仿真时,要是记录数据的模块(比如示波器,toworkspace)等比较多或者步
长比较小时,就会出现记录的数据不全或者干脆丢失的现象,比如toworkspace 的
数据只有后面或者前面的几百个,丢了好多。记录不全。出现提示信息如下Warning:Received shutdown message from target 15.002000 seconds ago.
Waitin |
Warning:Received shutdown message from target 30.004000 seconds ago.
Waitin
gfor final data logging buffer and logging terminator...
Warning:Received shutdown message from target 45.003000 seconds ago.
Waitin
g for final data logging buffer and logging terminator... | |
Warning: Received shutdown message from target 60.008000 seconds ago. | |
Waitin
gfor final data logging buffer and logging terminator...
Warning:Did not received final data logging buffer and logging
terminatorf
romtarget. Disconnecting...
这样运行就停止了,但数据不全。另外,有时候运行时会出现突然黑屏现象。
还有就是在rtw中如何进行数据的实时观测,scope不可以了,在gui中编程可以实现
吗?
其中示波器或其他输出环节中可能选择了存最新若干数据的选项,解除它即可 |
-------
请问白噪声譜生产随即数问题?
已知白噪声譜为S0,如何生产随即数序列?
遇到问题:
1,用simulink中的Band-Limited
WhiteNoise 模块,设置 Noise Power为S0, 可是为什么Sampletime 取不同的值,生成的
生产随即数序列大小相差很大,有数量级的差别,
不应该有那么大吧??
2,生产随机数的大小与Seed的取值有关吗?
3,有无更简单的方法。
你注意到1的现象很好
实际该模块发出的噪声是经过除以sqrt(T)后的结果,T是采样周期。所以你觉得幅
值不同,这样可以保证噪声的强度符合有求。
--------------------------------------------------------------------------------
请教:怎样能查到仿真块的程序? |
为什么用SUMULINK里tofile 模块中的数据传不到M文件?需要设置什么?谢谢是写入.mat中的。
用load命令读入到workspace。
------- | |
如果先产生随机数再通过滤波器,请问,滤波器归一化频率如何确定,和采样频率
归一化吗
使用Band-LimitedWhite Noise 模块
请教:关于.m文件和simulink模型的仿真速度的问题。
一个控制问题,用.m文件做仿真,运行时间大约15分钟;然后作成simulink模型,
运行了24小时也没有得到结果。这是什么原因?simulink就如此慢吗?小弟对simul
ink 不熟,请指教有无加快速度的办法?(accelerate 用过了) |
m文件用pcode处理一下
-------------------------------------------------------------------------
-------
请教:如何在.m文件中实现变量延时?就象simulink中的传输延时模块的功能。谢
谢。
没办法,m文件中只是数值计算,只有调用顺序问题,如果使用差分方程计算,对应
于滞后一些的循环
simulink仿真是有时间基准的
-------------------------------------------------------------------------
-------
Simulink模型的PreLoadFcn属性在哪里写的呀?谢谢
打开模型文件——file--modelproperty——callbacks,进行修改即可
------------------------------------------------------------------------- |
?是pend.mat,为什么用以下的语句打不开呢?
loadpend.mat
t=signals(1,;
总是提示:Undefinedvariable.
你的pend.mat 文件中有该变量吗?
------------------------------------------------------------------------- | |
仿真命令:
sim---simulink
sldebug---simulink
simset---
simget---
线性化和整理命令:
linmod---( !)
linmod2---"#$%&’( )
dinmod---*+
trim---,-./01
构建模型命令:
open_system--23451
close_system--672318
new_system--9:;1<=>
load_system--?@451ABCDE
save_system--FG231
add_block--H?;1
add_line--H?IJKL1M
delete_block--NO
delete_line--NOP
find_system--Q.
hilite_system--BRSTU
replace_block--&;VW451
get_param--81 add_param --,H?&XY0Z1[\] delete_param --NO&XY0Z1]]]ZGUJUIYIset_param--,8
bdclose--67simulink =>
bdroot--P^_‘1a[
gcb--bc1a[
gcbh--bc1de
gcs--bc1a[
getfullname--1fghia
slupdate--j 1.x 1k(, 3.x 1
addterms--,lm1n>H? terminators
boolean--jopqr,sto
slhelp--simulink 1&Xuv8wxy
封装命令:
hasmask--zQ45#{|}
hasmaskdlg--zQ45#{5|}1~
hasmaskicon--zQ45#{5|}1
iconedit--B& ginput
maskpopups--A|}1
movemask--:|},|}1
诊断命令:
如何延长simulink的运行时间
可以用Simulation/Parameters菜单设置终止时间,放慢播放可以采用定步长方法
,设置小的步长
-------------------------------------------------------------------------
-------
在simulink 中如何对一个连续信号进行抽样,使用什么样的模块或模块的组合。 |
-------------------------------------------------------------------------
-------
如何在matlab仿真中使用16进制
Simulink下调用MATLAB写的转换模块
-------------------------------------------------------------------------
-------
已知信号[t,v],如何在其上加高斯白噪声?要求用simulink作
直接用加法器就可以
-------------------------------------------------------------------------
-------
我要产生一个随时间变化频率的正弦波,变化的频率是来自上一模块的调节输出量
,而且频率是正负变化的,围绕50HZ上下波动,如:+/-0.5HZ左右.我现在产生的
正弦波也可变频,但只能正变?? | |
用Fcn 模块可以任意变 | |
-------------------------------------------------------------------------
-------
simulink产生等腰三角波
实时simulink的repeatingsequence 模块
-------------------------------------------------------------------------
如何把编好的s-function加到simulink中去。
将S-FUNCTION模块拖到SIMULINK下,将模块名与S-FUNCTION一致,M文件不要求编译
,C文件要编译
-------------------------------------------------------------------------
-------
仿真示波器中的黑色背景能否处理?
想处理示波器的背景一般是想得到图片,最好把数据存到工作空间中,用plot绘图,这
样的灵活性会更大 |
-------
如何在SIMULINK中实现u=u/max(u)
没法实现,因为u在仿真前没有,无从建立最大值
-------------------------------------------------------------------------
-------
如何在SIMULINK中取出状态变量?
可以存入文件,然后导入.
-------------------------------------------------------------------------
-------
请问如何用simulink进行变参数系统仿真?
就是说,仿真参数会随输出的值不同而发生变化,不再是个常数;而且对于输出(阶
跃函数为输入)的每一点都要进行判断,如在某一范围内就计算并调整参数,如在另
一范围内就重新计算并调整参数。。。。。系统为多输入的比较负载的传度函数, |
用离散的仿真形式,各环节都用变量或者函数实现
参数时变的线性五阶系统在MATLAB中应该怎样仿真?(用mdl文件可以做?还是用S
函数?或者离散形式做成m文件仿真?)其中参数的变化规律是已知的,哪位高人帮
我解决一下这个问题,深表感谢!!!
可以自己用simulink模块搭建,不一定非得用s函数,参考一下传递函数的状态方程
实现内容,可以选择一组积分器,再搭建模型
-------------------------------------------------------------------------
--------------
在matlab中,用M文件的形式编写了S-function,请问怎么把他变成自己的仿真模块,
其中有什么注意事项.
只需用S-function模块,打开它并在其中设置上你编写的S-function模块的函数名
和参数,就可以直接使用了
------------------------------------------------------------------------- |
--------------
请问,在simulink里怎么设置初值
用其preloadfcn属性
-------------------------------------------------------------------------
在.m 文件中调用模块仿真,应该如何做呢?
用sim函数
-------------------------------------------------------------------------
--------------
对形如dx/dt=Ax(t)+Bx(t-d)(d 为滞后时间常数),如何获得它的零输入响应?
用普通的状态方程模块,其输入信号前加一个时间延迟模块即可。如果用控制系统
工具箱中的ss对象,则将其ioDelay属性设置为d也能起到同样的作用
-------------------------------------------------------------------------
-------------- |
s一样把它变成一个subsystem,这样我就可以在simulink下调用它了,请问我该怎
么做才能把*.m的文件变成模块?
建议采用S-函数的格式改写你的源程序,而不是子系统形式。
-------------------------------------------------------------------------
--------------
>另外再问一个比较弱的问题
>能不能建一个我自己的模块库?我自己做的模块能不能直接从库中调用?怎么做?
可以,用Simulink下的就能建立新的库,而不是模块
-------------------------------------------------------------------------
--------------
我看了一些s-function的资料,有点印象了,但是,如何实现时钟控制的上升沿(
或下降沿)触发?在matlab的库中有没有类似的*.m文件例子?
可以使用Simulink 子系统模块来控制 | |
------------------------------------------------------------------------- | |
在simulink中如何实现y=45x^2+f(s)x,其中x是输入,y是输出,f(s)是传递函数
假设模块某部分的输入信号为x,则可以用一个*模块,将x分别付给该模块的2路输入,就
生成了x^2,再在后面接一个比例环节就得到45x^2了。同时再让x通过一个传递函数就得到
令一录信号,将这两路信号加起来就得出输出的y
-------------------------------------------------------------------------
--------------
怎样求两个空间向量的夹角,如[1,0,0]和[1,1,1]
ang=A'*B/(norm(A)*norm();
-------------------------------------------------------------------------
--------------
如何把使用saveworkspace as 保存过大量变量重新导出?
应该用load能全部导出
simulink 仿真时间和实际物理系统的时间有什么关系?(是否相等?),谢谢 |
,得到的结果表示10秒内的系统性能。
-------------------------------------------------------------------------
-------
在simulink中,变量y从1变化到1000,我希望将y=300时(或者是y大于300的时刻)
的当前时间t提取出来,并定义为一个workspace中的变量,或者作为simulink中的
一个标量,请问如何做到? | |
将y作为一个输出信号,这样就可以对其后处理了。
另外,如果想在线使用该量,则加一个判断,如用比较模块判断y>=300,300 可以是
常数输入
-------------------------------------------------------------------------
请问怎样用matlab命令调出simulink文件中的scope的波形
有一个自编的小程序
functionmyfigure_scope(input)
a=size(input.signals);
c=1;%c 为循环变量 |
plot(input.time,input.signals(1,c).values)
c=c+1;
grid
end
其中input为示波器中保存的structurewith time 数据
-------------------------------------------------------------------------
------- | |
用outport模块表示输出,然后用sim函数进行仿真,而不是用simulation菜单
-------------------------------------------------------------------------
-------
如何在matlab的simulink中读入dat文件
可以用fromfile 模块!
-------------------------------------------------------------------------
power system blockset 与simulink 的模块不能相连吗? |
-------------------------------------------------------------------------
-------
SIMUKINK中有两个模块,一个是PID模块,一个是模糊控制模块,现在我想用模糊控制模块
算出来的新的PID的参数值更改原来的PID参数,我不知道怎么做,请各位大侠指条明路,
救命啊!
应急方法:将PID 参数设置为全局变量试试
-------------------------------------------------------------------------
-------
SIMULINK仿真中的给定信号如果是非标准的(如非正弦波:由2个分段函数定义),怎么产
生?
可以用matlabfcn 模块自己编写
-------------------------------------------------------------------------
-------
如何取得离散信号中某时刻(假定是k时刻)及k-1时刻、k+1时刻的值,用Simulink中的哪
些模块可以实现?
接z(-1)和z 即可 |
请问在simulink里面的施密特触发器在哪里.
在simulinkextra 组中
-------------------------------------------------------------------------
------- | |
在用simulink 进行仿真时,仿真过程中有信号是随时间衰减的波动信号,仿真时间为0~t, | |
如何计算t(i)~t(i+1)时间内的信号的积分平均?
checkthe "integrator block with resetting".
Youcan re-set the integrator at any time you specified.
-------------------------------------------------------------------------
-------
我用simulink画了一个单输入输出的开环控制系统,想得到该系统的bode图,用什么方法
获得该系统的开环传递函数?
1)修正原来的simulink模型,使其输入用inport表示,输出用outport表示。这些端口在
2)用[a,b,c,d]=linmod2('模型名'); 提取状态方程模型 |
为什么我用simulink仿真时,只有ode5能运行而其他的不行呢?
是否是模型中包含离散模块或实时模块
-------------------------------------------------------------------------
---------------------------- | |
我在用SIMULINK 解二元微分方程组时,在MATLAB 命令窗口输入X1,X2 的初值如X01=1 | |
;X02=-2;然后启动仿真程序,但该初值似乎无法进入我的模型,查YOUT变量组,
值为0。而我直接在SIMULINK中分别双击X1,X2的积分模型,将INITIALCONDITION
设为1和-2,然后仿真,可以得到结果。我觉得是MATLAB命令窗口与SIMULINK未联系
起来,但不知如何处理。
将积分模块的InitialCondition Source 置为external。将FromWorkspace 模块
加入积分模块的x0端口。FromWorkspace 中设置你在matlab命令窗口中输入的变量
名。 |
----------------------------
simulink如何调用m文件
不用s函数,使用matlabfunction 模块调用.m函数也行
simulink里是否有记忆历史数据的模块?
Signal Routing\Data Store Memory
-------------------------------------------------------------------------
----------------------------
我做系统辨识请问大侠怎么产生m序列?
用simulink的异或门和DFlipFlop
-------------------------------------------------------------------------
----------------------------
在simulink模拟控制中,方框图如何以图片格式输出?
先选中,在用edit 中的copy model to clipboard,然后粘贴即可 |
----------------------------
Simulink仿真时MatlabFunction 对话框中的代码怎么设置?
自己编写matlabfunction,然后在matlabfunction 模块里填写自编的.m函数名即
可。
-------------------------------------------------------------------------
----------------------------
simulink中正弦sin的积分显示是1-cos,为何不是-cos
如果输入u(t),t0为初始时刻,则在t时刻积分器的输出y(t)是u(t)从t0至t的积分值
。所以如果t0=0,u(t)=sin(t),y(t)=-cos(t0)+cos(0)=1-cos(t)
-------------------------------------------------------------------------
----------------------------
在simulink下如何实现取余数?
remain | |
------------------------------------------------------------------------- | |
----------------------------
为什么simulink可改变步长而调用ode函数不行
因此只能设置求解器的初始补偿和最大步长。simulink里因为需要对离散系统进行
仿真等原因所以有定步长算法可以选择。
p.s.如果一定需要定步长算法,可以自己根据算法编程实现。
在simpowersystems中没有单(两)相电机模块,我用simulink做了个模块,但现在问题是
我如何把它转化成simpowersystems形式的模块呢?也就是让它成为电力模块,比如说我现
在要用单相电机做负载,通过它的参数的变化看它对前面电路的影响,即实现他们电与电
的联系,单单simulink模型是不能与simpowersystemsblock 直接相联的,这就是问题的关键,如何实现他们的转化。
使用受控电流源方式可是实现simulink到simpowersystems的转变
Q:simulink中的模块参数seed是什么意思???许多模块中都要求输入seed值,有何含义?应如何确定该值?
A:可以输入任意整数。由于实际上的随机数生成大多为伪随机序列,如果输入同样的seed将产生相同的随机序列,需要输入不同的seed以产生不同的随机序列。
|
开后和打开同名的*.m后的效果是一样的,而且这个现象好像是matlab6.5.1版本才有的,以前用matlab6.2好像没有这样的问题,可不可以请高手介绍一下这个神秘的*.asv文件呢,为什么要生成这个文件,有什么用呢?
Ps:release12和release13具体又是什么含义呢?
自动保存的备份文件(应该不是在matlab6.5.1才有的)
可以通过在preference的 Editor 下面那个autosave 选项设置不保留备份的
------------------------------------------------------------------------
如何循环调用SIMULINK模型并保存结果?
我在仿真时,经常需要修改simulink模型参数并保存仿真结果.我现在的笨办法是多次运行simulink,手工修改仿真参数,繁得要命!经常成天地守在计算机边等结果.
我试过用m文件自动调用模型并保存结果,但是"未遂".我的例子是这样的:调用simulink 模块trysave.mdl10 次,由该模块把循环变量k写在不同的矩阵result1~result10中.
调用模块的行命令:
fork=1:10
simtrysave
end
trysave.mdl文件已经上传,模型初始化命令:assignin('base','output',[strcat('re
运行结果: 只保存了一个结果(变量output), 是最后一次循环的值. |
clear;
for k=1:10
simk = k;
sim untitled01;
assignin('base',strcat('simout',num2str(k)),simout01);
end
untitled01.mdl 已上传,你试一下
------------------------------------------------------------------------
------------------------------------------------------------------------
Q:是不是可以用S-函数将m文件与SIMULINK连接?是不是可以用S-函数将m文件与SIMULINK连接?SIMULINK可以转换成m文件吗?
A:利用m文件的S-function就可以把m函数与Simulink相连,Simulink原则上不能转化成m形式。但视你的应用可能有一些变通的方式。
Q:我要用SIMULINK做一个模块,需输入16进制数怎末办,我输入的参数和输出的参数都是1
A:在Simulink/Signals&Systems 下面有一个“Data Type Conversion”模块可以用来转换 |
[求助]Simulink中的信号输入输出
在Simulink中,信号模块库里的子系统的输入端口模块(In1)可以从Matlab工作空间里输入变量。但不知怎么从外部输入到Simulink中。望告知。bow,bow,bow!
我觉得In1也只能从simulink空间中输入数据.
方法如下:
1.从工作空间中输入数据 | |
2.从外部输入数据文件
matlab--+>simulink--+>sources--+>fromfile (untilted.mat),说明:untilted.mat是matlab 数据格式,你可将输入文件存到.txt文件,然后到如到工作空间,最后使用save保存这个工作空间的数据变量.
3.从simulink字系统中互相导入数据
matlab--+>simulink--+>sources--+>In1(1)
4.将数据导出到工作空间
matlab--+>simulink--+>sinks--+>toworkspace(simout)
matlab--+>simulink--+>sinks--+>to file (untilted.mat) |
matlab--+>simulink--+>sinks--+>out(1)
Simulink的C代码自动生成功能
我已做好一个Simulink仿真系统运行合理,我想把它转成实用的C应用程序,这样就
不用再写一遍了,怎么做呢,一本书上提了一句,Simulink 具有C代码自动生成功
能,可是没有进一步的介绍,哪位大侠用过或了解一点???
simulation--->simulationparatmeter --->Real time workshop (solover change to fixed solver)
Copyright © 2019- 91gzw.com 版权所有 湘ICP备2023023988号-2
违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务