【问题标题】:Continuos Signal to MATLAB Function in SimulinkSimulink 中的 MATLAB 函数的连续信号
【发布时间】:2013-11-14 11:19:26
【问题描述】:

如何将连续信号引入 MATLAB Function 模块,以便获得连续输出。

我的 MATLAB Function 块是这样的:

function y = fcn(u)
y = 2*exp(-u);

所以我可以得到一个负指数,这是因为我需要一个具有负指数信号的控制电压源。我需要引入一个受控电压源一个指数信号,还有其他方法吗?

谢谢

【问题讨论】:

  • Matlab 中没有什么是连续时间的。不管 Simulink 怎么说,一切都是离散时间的。表示连续时间波形的唯一方法是将时间离散化并对该波形进行采样(遵循奈奎斯特准则),将其转换为离散时间信号
  • @LuisMendo Simulink 区分“连续”信号和“离散”信号,它们具有离散的采样时间(连续信号没有)。我认为在这种情况下,OP 意味着一个连续的信号。
  • @am304 我的意思是 Simulink 认为“连续”的信号在内部表示为离散时间样本。它只是向用户隐藏采样。或者它真的代表没有采样的连续信号(例如,参数化)?
  • @LuisMendo 请参阅mathworks.co.uk/help/simulink/ug/types-of-sample-time.html 了解“连续”采样时间的定义。你是对的,它当然是离散的,但是随着模拟的进行,时间步长(次要/主要)的数量会根据求解器和相关设置(容差等)动态变化。另一方面,离散采样时间以固定的时间间隔采用固定数量的时间步长。
  • @am304 谢谢。我现在更清楚地看到 Simulink 如何处理“连续”信号

标签: matlab function simulink


【解决方案1】:

首先,您不需要 MATLAB 函数来执行此操作:获取输入信号,将其乘以 -1 并使用 Gain 块,然后使用设置为 exp 的 Math Function 块,然后最后是另一个 Gain 块将其乘以 2。

其次,您的输入信号可以是任何您想要的。例如,您可以使用Sine Wave 块,或从Sources 库中选择您想要的任何块。如果您将 Sample Time 参数保留为 0,您将获得一个“连续”信号(在 Simulink 的意义上),有关更多详细信息,请参阅文档中的 Specify Sample Time。您还可以通过 From Workspace 块使用来自 MATLAB 工作区的您自己的数据。

【讨论】:

  • 不错!恒定信号有效!但是当我想生成它显示恒定的指数信号时,这是图像i.imgur.com/drzVJJx.png 为什么会这样?
  • 正弦波块的频率是多少?您为模型使用的求解器/采样时间是多少?
  • 没关系,我使用范围为 1 的 Ramp 函数来生成“X”值(2..3..4..5..),其余块完全按照您所说的!非常感谢!
猜你喜欢
  • 1970-01-01
  • 2016-04-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-10-19
  • 1970-01-01
相关资源
最近更新 更多