仿真命令:
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中的仿真模块,可以看到起源程序吗?
那些基本模块是看不了源代码的,有很多模块是用subsystem组成的,你可以用 look under mask(鼠标右键)看到里面是怎样用子模块搭接的,还有很多是 由s函数写成的simulink的模块,这些直接edit sfunname(s函数的名字) 就可以看到源代码
请问:在simulink参数中设置的步长是50e-6,在系统中有一个simout模块向MATLAB 中传递数据,但是希望以1e-3的步长获取数据,因该如何设计?在simout模块中直接设定仿真步长是不能运行的。 需要插入一个\模块,将该模块的采样时间设置为1e-03就可以了 。
simulink中IGBT等电力元件都有个m极,是什么作用的? 用于测量流过IGBT电流及其电压 -------
用simlink画的图,在示波器中显示,如何复制到word中告诉你一个办法,在加上示波器的地方加上to workspace 改为array 在主窗口中plot 直接抓过去也行吧。
Edit下有copy model选项
simulink中的mask问题请问如何封装,prompt,varible填啥?如何初始化 ? prompt中,填写变量的提示,如:直线斜率 variable中填写变量名.如:k
一个关于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 -ASCII varname是要存储的变量名,之间用空格分隔 ------------------------------------------------------------------------- -------
将PID的SIMULINK图的输出仿真图形怎样与自己设计的界面中的按钮连接 回调函数 怎么编要显示的数据用Outport端子表示,就可以用sim函数直接获得数据了
-------------------------------------------------------------------------
-------
怎样才能增加采样点?
在Simulink里边连接框图,阶跃step输入经过一积分环节1/s,用out输出至workspa
ce,tout跟yout都为56×1,能不能把56变成更大的值?怎么设置?谢谢!!!!! !
能增加,simulink中你得到的是默认的结果
如果向增加,则可以认为减小允许的误差限,即在simulink中的relative error项
,如将其变化成e-6或其他更小的值。另外还可以通过定步长方法进行仿真(这时应
该注意要确认能保证仿真精度要求)
-------------------------------------------------------------------------
workspace,数据多了就存不下啦?
采样时间设为0.01秒,运行若干秒以后,在workspace中打开scopedata(示波器form
at设定为Array,limit data points to last没选择!)时,系统提示:cannot
display 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.
Waitin
g for final data logging buffer and logging terminator...
Warning: Received shutdown message from target 30.004000 seconds ago.
Waitin
g for 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
g for final data logging buffer and logging terminator...
Warning: Did not received final data logging buffer and logging
terminator f
rom target. Disconnecting...
这样运行就停止了,但数据不全。另外,有时候运行时会出现突然黑屏现象。
还有就是在rtw中如何进行数据的实时观测,scope不可以了,在gui中编程可以实现
吗?
看看原来的simulink模型
其中示波器或其他输出环节中可能选择了存最新若干数据的选项,解除它即可
-------------------------------------------------------------------------
-------
请问白噪声譜生产随即数问题?
已知白噪声譜为S0,如何生产随即数序列? 遇到问题:
1,用simulink中的Band-Limited
White Noise模块,设置 Noise Power为S0, 可是为什么Sample time取不同的值,生成的 生产随即数序列大小相差很大,有数量级的差别, 不应该有那么大吧??
2,生产随机数的大小与Seed的取值有关吗? 3,有无更简单的方法。
你注意到1的现象很好
实际该模块发出的噪声是经过除以sqrt(T)后的结果,T是采样周期。所以你觉得幅
值不同,这样可以保证噪声的强度符合有求。
------------------------------------------------------------------------------ --
很多事情的答案并不止一个,所以我们永远有路可以走。 请教:怎样能查到仿真块的程序?
simulink自带的模块如果不是mask的就查不了
为什么用SUMULINK里to file模块中的数据传不到M文件?需要设置什么?谢谢
是写入.mat中的。
用load命令读入到workspace。
-------
请问如何产生带限白噪声
如果先产生随机数再通过滤波器,请问,滤波器归一化频率如何确定,和采样频率
归一化吗
使用Band-Limited White Noise模块
请教:关于.m文件和simulink模型的仿真速度的问题。
一个控制问题,用.m文件做仿真,运行时间大约15分钟;然后作成simulink模型,
运行了24小时也没有得到结果。这是什么原因?simulink就如此慢吗?小弟对simul
ink不熟,请指教有无加快速度的办法?(accelerate用过了)。谢谢。
问题不清楚,只能猜一下
simulink是不是有代数环?在command窗口看看 m文件用pcode处理一下
-------------------------------------------------------------------------
-------
请教:如何在.m文件中实现变量延时?就象simulink中的传输延时模块的功能。谢
谢。
没办法,m文件中只是数值计算,只有调用顺序问题,如果使用差分方程计算,对应
于滞后一些的循环
simulink仿真是有时间基准的
-------------------------------------------------------------------------
-------
Simulink模型的PreLoadFcn属性在哪里写的呀?谢谢
打开模型文件——file--model property——callbacks,进行修改即可
-------------------------------------------------------------------------
-------
存在simulink下的file.mat中的文件结果怎么才能在程序里调用呢?需要什么设置
?filename是pend.mat,为什么用以下的语句打不开呢? load pend.mat