正文

simulink常见问题及解答-22006-10-18 18:08:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/378121200/19452.html

分享到:

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

如何在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,我不知道最终的iaibic数组会是什么样子?

好像有些问题?

 

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

 

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

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

 

用其preloadfcn属性

 

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

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

 

sim函数

 

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

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

 

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

 

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

>假设在matlab下,我写了一个生成gold序列的gold.m文本,但我希望能够像maxplus一样把它变成一个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

 

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

怎样求两个空间向量的夹角,如[100][111]

 

ang=A'*B/(norm(A)*norm();

 

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

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

 

应该用load能全部导出

[ 此贴被露花丝雨在2006-01-04 15:00重新编辑 ]

 

 

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

 

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

 

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

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

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

 

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

 

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

 

y作为一个输出信号,这样就可以对其后处理了。

另外,如果想在线使用该量,则加一个判断,如用比较模块判断y>=300, 300可以是

 

常数输入

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

请问在simulink里面的低通滤波器在哪里

 

你可以用离散模块组中的filter,低通参数应该由信号处理工具箱中函数设计

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

请问怎样用matlab命令调出simulink文件中的scope的波形

 

有一个自编的小程序

function myfigure_scope(input)

a=size(input.signals);

b=a(1,2);%b为信号的个数

c=1;%c为循环变量

while c<=b;

subplot(b,1,c)

plot(input.time,input.signals(1,c).values)

c=c+1;

grid

end

其中input为示波器中保存的structure with time数据

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

怎样把simulink中的图形输出转到m文件下进行编程输出

 

outport模块表示输出,然后用sim函数进行仿真,而不是用simulation菜单

 

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

我是用的from workspace比较多,所以每次赋值比较麻烦。我想设一个默认值,不知如何设?请各位赐教!!!谢谢

 

只能逐个设置,另外,建议使用outport而不使用toworkspace。使用前者将在工作空间中产生yout变量

 

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

如何在matlab simulink中读入dat文件

 

可以用from file模块!

 

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

power system blocksetsimulink的模块不能相连吗?

 

能相联,但之间需要转换,如应该使用电压表和电流表等将其连接到simulink模块上

 

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

SIMUKINK中有两个模块,一个是PID模块,一个是模糊控制模块,现在我想用模糊控制模块算出来的新的PID的参数值更改原来的PID参数,我不知道怎么做,请各位大侠指条明路,救命啊!

 

应急方法:将PID参数设置为全局变量试试

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

我现在正在做毕业设计,遇到了一个问题。我要一边用m文件进行编程,做一些界面。一边用simulink进行仿真,在进行图形输出时,我遇到了一个问题,就是怎么样把simulink的输出而转到m文件下来。因为我要在图形输出的窗口中还要添加一些按钮。使它的外观更漂亮。

 

matlabsimulink的输出可以输出到工作空间种来

也可以通过输出到一个mat文件等

还可以直接用x-ygraph来做!

just have a test!

 

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

SIMULINK仿真中的给定信号如果是非标准的(如非正弦波:由2个分段函数定义),怎么产生?

 

可以用matlab fcn模块自己编写

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

如何取得离散信号中某时刻(假定是k时刻)及k-1时刻、k+1时刻的值,用Simulink中的哪些模块可以实现?

 

z(-1)z即可

 

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

我从电气库中找到一个电机的模型,但是却和我前面的simulink组成的模型不相通,那是怎么回事,有知道的吗,请告诉我,谢谢了。

 

PowerSystems Toolbox中模块不是所有端口都能接收Simulink信号的,例如电机模型中,电压输入是需要电压源模块的(Power systems Blockset模块),而转矩可以输入simulink信号。如果实在想给电压端口输入simulink信号,需要给其先加一个受控电压源,用simulink信号控制受控信号

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

请问在simulink里面的施密特触发器在哪里.

 

simulink extra组中

 

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

在用simulink进行仿真时,仿真过程中有信号是随时间衰减的波动信号,仿真时间为0~t,如何计算t(i)~t(i+1)时间内的信号的积分平均?

 

check the "integrator block with resetting".

You can re-set the integrator at any time you specified.

 

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

我用simulink画了一个单输入输出的开环控制系统,想得到该系统的bode图,用什么方法获得该系统的开环传递函数?

 

1) 修正原来的simulink模型,使其输入用inport表示,输出用outport表示。这些端口在61版中分别位于sourcessinks组。

2)用[a,b,c,d]=linmod2('模型名'); 提取状态方程模型

3) G=ss(a,b,c,d);

4bode(G)

 

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

很多事情的答案并不止一个,所以我们永远有路可以走。

 

作者 Re:[整理]Simulink小问题集锦 [Re:tyc1002]

 

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

为什么我用simulink仿真时,只有ode5能运行而其他的不行呢?

 

是否是模型中包含离散模块或实时模块

 

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

我在用SIMULINK解二元微分方程组时,在MATLAB命令窗口输入X1X2的初值如X01=1

 

X02=-2;然后启动仿真程序,但该初值似乎无法进入我的模型,查YOUT变量组,

值为0。而我直接在SIMULINK中分别双击X1X2的积分模型,将INITIAL CONDITION 设为1-2,然后仿真,可以得到结果。我觉得是MATLAB命令窗口与SIMULINK未联系起来,但不知如何处理。

 

将积分模块的Initial Condition Source置为external。将From Workspace模块 加入积分模块的x0端口。From Workspace中设置你在matlab命令窗口中输入的变量

 

名。

 

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

simulink 如何调用m文件

 

不用s函数,使用matlab function模块调用.m函数也行

 

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

 

simulink里是否有记忆历史数据的模块?

 

Signal Routing\Data Store Memory

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

阅读(211) | 评论(0)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

暂无评论
您需要登录后才能评论,请 登录 或者 注册