问题标签 [transfer-function]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1941 浏览

matlab - `tf()` 有逆吗?

我有连续时间传递函数的分子和分母。我想分别获得等效离散时间传递函数的分子和分母。

我的代码如下:

我该怎么做呢?

0 投票
3 回答
2244 浏览

matlab - Matlab,配置TF的输出(Transfer Functions)

在 matlab 中使用该tf函数时,我没有得到我需要的输出。

例如:

产生:

连续时间传递函数。

我想要的是这样的:

我不想要漂亮的格式。我想直接访问传输功能。

0 投票
1 回答
8628 浏览

matlab - Matlab 添加两个传递函数

我正在尝试将两个传递函数添加在一起,例如:

MATLAB 将 tf1 和 tf2 视为串联的块,因此将 tf1 和 tf2 相乘,结果为:

如何让 MATLAB 返回 tf1 和 tf2 的总和?所以我正在寻找的传递函数是:

0 投票
2 回答
3837 浏览

matlab - 创建 MIMO(多输入多输出)传递函数系统,无需硬编码输入和输出的数量

简介
作为更大系统的一部分,我正在尝试创建一个多输入多输出传递函数,该函数仅将输入链接到前导对角线上的输出*。即它在输入 1 和输出 1、输入 2 和输出 2 等之间具有非零传递函数。

*您是否真的认为 MIMO 系统是一个公平的评论,我希望它采用这种格式,因为它链接到一个真正是 MIMO 的更大系统。

硬编码
我可以通过连接传递函数来实现这一点

效果很好,但是(a)对输入/输出的数量进行硬编码,并且(b)您拥有的输入和输出越多,就会变得越来越可怕。

Diag 函数
这个问题对于 diag 函数来说似乎是完美的,但是 diag 似乎没有为类型 'tf' 定义

手动矩阵操作
我也尝试手动操作矩阵(并不是我真的希望它能够工作)

tf 的直接到 MIMO 格式
tf 还有一种格式,其中所有的分子和分母都分别表示,直接创建了一个 MIMO 系统。我试图以非硬编码格式使用它

几乎起作用了,不幸的是,分子和分母在非对角线上是空的,而不是 0;导致错误

问题
是否可以在不“硬编码”输入和输出数量的情况下从传递函数创建 MIMO 系统

0 投票
1 回答
154 浏览

matlab - 不断更新传递函数

我有一个传递函数,我试图用它来过滤加速度数据。

到目前为止,我已经能够在大约 10 秒内使用带有正弦波的 lsim,并且得到了我期望的结果。但是,我无法实时将数据获取到函数中。

澄清一下,每 0.1 秒我就会从外部程序接收一个加速度值。我需要过滤这些值以消除数据中的高频变化。我需要对收到的每个数据点进行此操作,然后将当前过滤的加速度值用于其他处理步骤。

如何在每次接收到新数据时连续使用传递函数并更新输出值?

0 投票
1 回答
672 浏览

matlab - mathcad / matlab 3D传递函数图

我在绘制传递函数的 3D 图时遇到问题。在matlab中我试过这个:

但我得到这个错误:

请问有什么问题吗?或者谁能​​告诉我如何在 Mathcad 中绘制它?谢谢你。

0 投票
2 回答
1425 浏览

matlab - 如何在 Matlab R2013a 中使用 eval 将符号 var s 替换为 tf('s')

我创建了一个多反馈二阶低通滤波器,它可以放大并为输出添加直流参考。

差分二阶多反馈低通滤波器

为了模拟它,我在下面创建了用于在以前的 MATLAB 版本中工作的代码。现在在 2013a 版本中,它不再工作了。

不幸的是,在我升级到 2013a MATLAB 后,此代码停止工作。显示的错误是:

从@Fija 应用修复后,恢复了正常操作。结果如下所示:

结果滤波器的波德图

0 投票
1 回答
2441 浏览

matlab - 将 System Identification Toolbox 传递函数与 Simulink 结合使用

我相信在尝试在 Simulink 中导入和测试在 System Identification Toolbox (SIT) 中创建的传递函数时,我在做一些根本性的错误。

举一个简单的例子来说明我在做什么。我有一个输入,它是一个从 12 秒到 25 秒的偏移正弦波,幅度为 1,频率为 1.5rad/s,它给出了测量输出。

我使用 SIT 创建了一个简单的 2 极 1 零传递函数,它给出了以下协议: 坐适合

然后,我尝试将此传递函数导入 Simulink,以便在以下配置中进行调查,该配置具有频率 1.5rad/s 的正弦输入和起始 t=12。LTI 系统块是指工作空间内的传递函数变量: Simulink 原理图

当我运行这个模拟 13 秒时,模块的输入与预期的一样,但后传递函数信号与预期的结果几乎没有一致,并且超出了一个数量级。

前: 预信号

邮政: POST 信号

有人可以深入了解我哪里出错了,为什么tfin simulink 的输出与 SIT 中显示的模型输出几乎没有相似之处。我对控制理论有基本的了解,但我很难理解这一点。

0 投票
1 回答
2865 浏览

matlab - 时域传递函数

我在时域中有两个信号(X 和 Y)。我正在尝试计算它们之间的传递函数。我使用了函数 tfestimate,它返回作为频率函数的传递函数和 tfestimate 估计传递函数的频率向量。它只返回正频率,因为我的信号并不复杂。我的问题是如何在时域中可视化这个传递函数。我尝试了以下代码,但返回的函数在时域中是相反的。我想知道为什么。

结果't'不是传递函数,而是时间倒转的版本。有人可以帮助我了解发生了什么吗?谢谢。

0 投票
1 回答
324 浏览

matlab - 格式化 MATLAB 传递函数(tf 函数)?

我想在 MATLAB 中为 PI 控制器输入一个传递函数(并最终对其进行奈奎斯特图),它具有以下一般形式:

我的问题是,如果我使用 tf() 函数在 MATLAB 中绘图,如何让 KI 除以 s 而不是乘以它?当我只输入系数时,它似乎很擅长分配 s 的适当幂,但即使在阅读文档之后,我也不确定如何告诉它除以 s。

任何帮助将不胜感激,谢谢!