Simulink中的常见问题.docx

上传人:b****6 文档编号:4086366 上传时间:2022-11-27 格式:DOCX 页数:20 大小:28.36KB
下载 相关 举报
Simulink中的常见问题.docx_第1页
第1页 / 共20页
Simulink中的常见问题.docx_第2页
第2页 / 共20页
Simulink中的常见问题.docx_第3页
第3页 / 共20页
Simulink中的常见问题.docx_第4页
第4页 / 共20页
Simulink中的常见问题.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

Simulink中的常见问题.docx

《Simulink中的常见问题.docx》由会员分享,可在线阅读,更多相关《Simulink中的常见问题.docx(20页珍藏版)》请在冰豆网上搜索。

Simulink中的常见问题.docx

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中的仿真模块,可以看到起源程序吗?

 

那些基本模块是看不了源代码的,有很多模块是用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中填写变量名.如:

一个关于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或其他更小的值。

另外还可以通过定步长方法进行仿真(这时应 

该注意要确认能保证仿真精度要求) 

------------------------------------------------------------------------- 

workspace,数据多了就存不下啦?

 

采样时间设为0.01秒,运行若干秒以后,在workspace中打开scopedata(示波器form 

at设定为Array,limitdatapointstolast没选择!

)时,系统提示:

cannot 

displayvariableswithmorethen10000elements,什么原因?

 

数据量大了是不能显示得 

实在不显示,可以考虑将矩阵存到文件中,你再去读文件了。

 

另外:

你的矩阵维数是多少 

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-Limited 

WhiteNoise模块,设置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就如此慢吗?

小弟对simul 

ink不熟,请指教有无加快速度的办法?

(accelerate用过了)。

谢谢。

 

问题不清楚,只能猜一下 

simulink是不是有代数环?

在command窗口看看 

m文件用pcode处理一下 

------------------------------------------------------------------------- 

------- 

请教:

如何在.m文件中实现变量延时?

就象simulink中的传输延时模块的功能。

谢 

谢。

 

没办法,m文件中只是数值计算,只有调用顺序问题,如果使用差分方程计算,对应 

于滞后一些的循环 

simulink仿真是有时间基准的 

------------------------------------------------------------------------- 

------- 

Simulink模型的PreLoadFcn属性在哪里写的呀?

谢谢 

打开模型文件——file--modelproperty——callbacks,进行修改即可 

------------------------------------------------------------------------- 

------- 

存在simulink下的file.mat中的文件结果怎么才能在程序里调用呢?

需要什么设置 

filename是pend.mat,为什么用以下的语句打不开呢?

 

loadpend.mat 

t=signals(1,; 

总是提示:

Undefinedvariable. 

你的pend.mat文件中有该变量吗?

 

------------------------------------------------------------------------- 

------- 

为什么我在simulink里仿真得不到较好的单位阶跃图?

五阶传递函数 

是不是你阶跃模块的第一个参数没改?

是默认的1而不是0 

------------------------------------------------------------------------- 

我想知道SIMULINK中的延迟模块(就是那个上面显示1/z的模块),它的延迟时间可以 

改变吗?

比如让它作一个0.001秒的延迟参数应该怎么设?

 

双击unitdelay模块 

改sampletime 

------------------------------------------------------------------------- 

------- 

MATLAB里得NOTBOOK是做什么用的?

 

MATLAB与WORD的连接,只要在命令窗口中输入:

notebook-setup按照提示就可完 

成设置 

------------------------------------------------------------------------- 

------- 

离散的微分在SIMULINK中是哪块?

 

没有,得自己搭建 

------------------------------------------------------------------------- 

------- 

在SIMULINK里的FROM FILE 模块里读入矩阵为什么总显示错误信息?

 

我在模块上写读入文件名时信息提示该文件不是矩阵,可明明是矩阵文件呀!

 

该矩阵文件还应该包括时间信息。

 

------------------------------------------------------------------------- 

------- 

用simulink实现的线性滤波器初始条件怎么设?

 

默认的模块不能设置,到SimulinkExtras里找 

------------------------------------------------------------------------- 

------- 

请问如何利用simulink中的模块得到三角波(等腰)信号?

 

用repeatsequence模块,只需定义一个周期的即可 

------------------------------------------------------------------------- 

------- 

如何在Simulink中做到实时的响应键盘输入?

我的意思是就像在VC中那样,按下任 

意键后就有一个消息产生通知程序。

 

我看了帮助,waitforbuttonpress只能在GUI中使用。

而且不能做到实时响应。

 

Simulink支持回调函数的 

在simulink仿真试验中,我能不能把simulink中的数据用To  

workspace写入到matlab的工作窗口中,然后经过处理再用from  

workspace写入到simulink中。

 

可以,如果不原意写,还可以利用自动生成的tout和yout 

------------------------------------------------------------------------- 

6.5版本带更正式的AerospaceBlockset 

如何延长simulink的运行时间 

可以用Simulation/Parameters菜单设置终止时间,放慢播放可以采用定步长方法 

,设置小的步长 

------------------------------------------------------------------------- 

------- 

在simulink中如何对一个连续信号进行抽样,使用什么样的模块或模块的组合。

 

信号后加保持器,如零阶保持器或UnitDelay模块 

------------------------------------------------------------------------- 

------- 

如何在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模块的函数名 

和参数,就可以直接使用了 

-------------------------------------------------------------------------

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育 > 政史地

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1