加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

Simulink小问题集锦--1

(2012-03-21 16:48:02)
标签:

杂谈

命令行如何运行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 -ASCII

varname是要存储的变量名,之间用空格分隔

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

将PID的SIMULINK图的输出仿真图形怎样与自己设计的界面中的按钮连接 回调函数怎么编

要显示的数据用Outport端子表示,就可以用sim函数直接获得数据了

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

怎样才能增加采样点?

在Simulink里边连接框图,阶跃step输入经过一积分环节1/s,用out输出至workspace,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 0

is Inf or NaN. Stopping simulation. There may be a singularity in the

solution. If not, try reducing the step size (either by reducing the

fixed step size or by tightening the error tolerances)

仿真系统数值不稳定,是模型的问题或是其他问题

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

相位Phase的单位deg是什么意思?

degree,it is same to say 度

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

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

t=signals(1,;

总是提示 :Undefined variable.

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

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

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

是不是你阶跃模块的第一个参数没改?是默认的1而不是0

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

用MATLAB6.5版时,选用simpowersystems库中的Voltage Measurement模块,为何在

每次运行时,都报Data type mismatch错误,而在6.1版时则没有这个问题?

估计你把非电气库的线和电气库连线混用了

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

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

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

双击unit delay模块

改sample time

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

MATLAB里得NOTBOOK是做什么用的?

MATLAB与WORD的连接,只要在命令窗口中输入:notebook -setup 按照提示就可完 成设置

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

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

没有,得自己搭建

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

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

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

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

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

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

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

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

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

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

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

如何在Simulink中做到实时的响应键盘输入?我的意思是就像在VC中那样,按下任 意键后就有一个消息产生通知程序。

我看了帮助,waitforbuttonpress只能在GUI中使用。而且不能做到实时响应。

Simulink支持回调函数的

在simulink仿真试验中,我能不能把simulink中的数据用To  workspace写入到matlab的工作窗口中,然后经过处理再用from  workspace写入到simulink中。

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

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

请问这里有人是学导航的么?有个小小问题请教。

我用Simulink的s-function做了一个运动轨迹数据发生模块,但是数据总有些不对 。后来无意中在Simulink Extras中发现了一大堆好东东,对我最有用的是Aerospace Blocks下面的东西,竟 然连导航计算都有现成的模块!真是喜出望外啊。 我的问题就是:大家有谁用过这些block的吗?我猜想一定有现成的产生轨迹数据的 模块,哪位大侠指点一二!!谢谢!!

6.5版本带更正式的Aerospace Blockset

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

powersystems blockset中的电容电阻的问题

这个模块中怎么没发现电容电感电阻.三级管等东西啊,是不是不在这个模块里,要是 在的话在哪,我怎么没发现啊

三极管没有,需要自己搭建,电阻电容有,从RLC电路提取

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

如何延长simulink的运行时间

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

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

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

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

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

如何在matlab仿真中使用16进制

Simulink下调用MATLAB写的转换模块

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

已知信号[t,v],如何在其上加高斯白噪声?要求用simulink作

直接用加法器就可以

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

我要产生一个随时间变化频率的正弦波,变化的频率是来自上一模块的调节输出量 ,而且频率是正负变化的,围绕50HZ上下波动,如:+/-0.5HZ左右.我现在产生的 正弦波也可变频,但只能正变??

用Fcn模块可以任意变

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

simulink产生等腰三角波

实时simulink的repeating sequence模块

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

我是一名电力工程师,需要用matlab解决一些诸如电力网计算,化简方面的问题, 请问大家在哪可以得到这方面的信息?

你可以用simpowersystems模块库。里面几乎包括了所有电力系统的元件。我正在用 它搞发电机的故障分析。

感觉matlab十分精深广博,要学的太多了。

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

如何把编好的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仿真某电机控制系统时,需要一整流桥模型

input:ua,ub uc

output:ia,ib,ic

简单的二极管模型,很难传递数据,因此本人编程M函数并通过。

却发现其在SIMULINK中,只能传递一组数据,只能用s函数?

还是有别的高招?

作为一个向量不就行了?

效果不错,可是有一点不明白.首先,simulink可以认为是传递瞬时数据的一种工具 ,假设时间一周期有50个采样点,作为一个向量输出时,[ia,ib,ic]他们的最终数 据形式应该是1X150,我不知道最终的ia,ib,ic数组会是什么样子?

好像有些问题?

你可以参考matlab Fcn模块的帮助,自己建一个简单的模型试一下。

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

请问,在simulink里怎么设置初值

用其preloadfcn属性

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

在.m文件中调用模块仿真,应该如何做呢?

用sim函数

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

对形如dx/dt=Ax(t)+Bx(t-d) (d为滞后时间常数),如何获得它的零输入响应?

用普通的状态方程模块,其输入信号前加一个时间延迟模块即可。如果用控制系统 工具箱中的ss对象,则将其ioDelay属性设置为d也能起到同样的作用

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

>假设在matlab下,我写了一个生成gold序列的gold.m文本,但我希望能够像maxplu

s一样把它变成一个subsystem,这样我就可以在simulink下调用它了,请问我该怎 么做才能把*.m的文件变成模块?

建议采用S-函数的格式改写你的源程序,而不是子系统形式。

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

>另外再问一个比较弱的问题

>能不能建一个我自己的模块库?我自己做的模块能不能直接从库中调用?怎么做?

可以,用Simulink下的File/New/Library就能建立新的库,而不是模块

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

我看了一些s-function的资料,有点印象了,但是,如何实现时钟控制的上升沿( 或下降沿)触发?在matlab的库中有没有类似的*.m文件例子?

可以使用Simulink子系统模块来控制

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

simulink图形仿真中用于MOSFET输出M端测量的选路器在那一库中?

Simulink自己的Signal & Systems中

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

在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();

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

如何把使用save workspace as保存过大量变量重新导出?

应该用load能全部导出

=================================================================================

simulink仿真时间和实际物理系统的时间有什么关系?(是否相等?),谢谢

仿真时间应该表示物理时间,比如说你选则终止时间为10,不管你花多长时间仿真

,得到的结果表示10秒内的系统性能。

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

在simulink中,变量y从1变化到1000,我希望将y=300时(或者是y大于300的时刻)

的当前时间t提取出来,并定义为一个workspace中的变量,或者作为simulink中的

一个标量,请问如何做到?

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有