首页 > 产品 > 微控制器 (MCU) 和处理器 > 微控制器 (MCU) > C2000 > 空间控制系列视频 >

C2000

最新课程

热门课程

状态空间模型

我知道这很琐碎,但我 还是想整理一下知识点, 因为当您操作矩阵时, 需要用到它, 它和标量不一样。 在处理维数的时候, 需要特别注意, 要非常慎重, 否则会蒙圈、犯错, 并很快出问题。 在使用矩阵代数 执行任何操作前, 需注意维数,下面我要 指出一个明显的问题, 对于知道这一点的人来说, 可能会浪费你们一些时间。 大家都很准时, 让我们开始吧。 大家应该有一份教案, 和昨天的很像。 大家可能会疑惑, 因为唯一的区别 就是第一页上的标题。 很抱歉。 [听不清] 很明显,大家可以 把它带走,和上次 关断。 大家可随意在上面做笔记, 也可以在 eBay 上把它卖掉, 怎么利用它都行。 刚才借用了 昨天的开场白, 接下来让我们 跳过前几张幻灯片。 来看看这张, 我们昨天讨论过, 关于系统理论中 存在的两个不同的 建模范式。 昨天我们讨论了 有关输入输出 建模范式方面的知识。 很明显的一点是, 这些系统 都有一个将输入 和输出联系起来的 方程式。 其中 u 表示输入, y 表示输出。 我们昨天使用传递函数 来捕捉这些类型 系统的动态变化。 对于连续时间系统, 使用拉普拉斯变换, 其中有一个复变量。 昨天,我们在 最后一部分中 讨论了离散时间系统, 同样,在输入输出 范式中,只有一个方程式, 但现在使用了 复变量 z。 这就是所谓的经典控制 原理: 它基于输入输出范式。 另一种表示完全相同 类型系统的方法 是使用状态空间, 这条线的下半部分 显示了状态空间 方程的基本结构。 同样,我们用 u 来表示输入, 用 y 来表示输出, 但现在有一组 新的变量,表示为 x。 这些称为状态变量, 属于系统内部变量。 既然我们引入了 一组内部变量, 就能够将高阶微分方程 降价为一阶,即 一组一阶微分方程, 由第一个 [? V2 ?] 方程式得到。 因此,x 点是 表示状态变量的 向量 x 的一阶导数。 这两个方程式 中的第二个, 大家可以看到,x 点是 关于输入 u 和状态的 微分方程。 它是一阶非齐次方程, 但也是一个 [? 标准的 ?] [听不清] 微分方程。 第二个方程式 是一个纯代数方程式。 它将状态和输入 关联到输出。 这是一个关于 t 的方程对, 自变量是时间。 因此,我们可以用它 描述时域中的系统。 使用状态空间的 缺点之一, 大家很快就会看到, 是和频域之间的连接 丢失了。 我们今天介绍的是时域。 如果系统处于离散 时间,则不适用。 由于昨天的 [听不清] 部分, 大家现在习惯于 将 k 当作自变量, 其中 k 是样本参数。 所以大家看到, 这两个方程式中的 第一个方程式是 一阶差分方程, 第二个是代数方程, 就像 [听不清] 现在,就像 输入输出范式一样, 您可以从 连续时间转换为 离散时间类型的方程。 在状态空间范式中 执行此操作时, 其中的两个矩阵 会发生变化。 我使用的符号 是 Φ 和 Γ, 它们是大写的希腊字母符号, 用来代替 a 和 b。 因此,大家看到 Φ 和 Γ 时, 就会马上知道 我们说的是 离散时间系统。 另一个好处 -- 我不知道大家 是否认为它是一个好处, 但它是状态空间 范式的一个特征, 虽然昨天这么做 是有意义的 -- 这个好处就是, 离散时间理论是不同的, 将其拆分为不同的 模块是有意义的。 所以,昨天的第 4 部分 重点介绍了离散时间, 但前 3 部分 都只涉及到 连续时间。 这是因为理论不同。 对状态空间系统来说, 理论非常相似, 因此将离散时间理论和 连续时间理论分开 原理: 它们有一、 两个不同之处, 但大部分还是相同的。 因此,我今天将同时介绍 离散时间系统 和连续时间系统。 不会将两者 分开来讲。 看下今天的议程, 今天的研讨会 将分为四个部分, 就像昨天一样, 同样是因为 时间限制 [听不清]。 上午和下午 都有休息时间, 中间有午餐时间。 今天将分为 4 个部分, 每个部分一个半小时。 具体安排是,我将用 上午的时间来介绍 使用状态空间 范式描述的系统 范式。 上午我们不会介绍 控制方面的内容, 会在晚些时候讨论。 首先,我们来讨论 状态空间系统。 我将介绍其描述方法, 比如特征值 和特征向量等内容, 它们对描述至关重要。 只有在了解 它们的定义和 获得方法之后, 才能继续学习。 所以,掌握这些 基础知识非常重要。 接着继续介绍 获得状态方程的 不同方法。 然后,我将向大家 展示状态方程和 传递函数之间的联系, 因为您可以从状态空间 描述中获得传递函数, 反之亦然。 在第二部分中, 我将在具有 状态空间描述后, 介绍它的属性。 昨天我们讨论了 很多稳定性方面的内容, 我们可能认为 稳定性很简单, 但如果您有一组 内部变量可以使用, 稳定性就涉及到 一些排列问题, 这是我们昨天没有讲到的, 其中的一些排列 非常重要。 稍后我会介绍 稳定性方面的内容。 然后,我将讨论两个 非常重要的属性, 即可控性和可观测性。 这些属性分别用于捕捉 必须通过操纵输入 来控制内部状态的能力, 和通过观察输出的情况 来确定内部 状态的能力。 因此,它们是我们 设计控制器 以及后来设计 估算器或观测器时 需要用到的基本属性。 它们非常重要。 希望在午餐时间之前, 我们能够在使用状态空间 描述的系统理论方面 打下坚实的基础。 在第七章中, 我们将使用该理论 来设计反馈控制器。 但我们将使用状态向量 设计反馈控制器。 对吧? 嗯,昨天...让我们 直接跳回这张幻灯片。 昨天,我们有一个操作, 从概念上来说非常简单。 这是系统方程,我们想 设计一个反馈控制器, 但没成功。 我们取得输出, 然后借助控制器, 通过一个相加点 将其发送回输入。 我们所做的工作 就是使用输出反馈。 状态反馈 控制器的概念是, 使用的不是反馈 环路中的输出, 而是状态向量, 也就是系统描述 内部的那套变量, 并在反馈环路中 使用它们。 这么做有几个好处, 主要体现在, 当您不得不为闭环 选择行为方式时, 您有什么样的自由度。 使用状态反馈 比使用输出反馈 要灵活得多。 因此,在第七章, 我将介绍如何 使用状态反馈控制。 这里有几种方法。 如果系统有一个输入, 这就非常简单, 但如果这些类型的 系统中有一个 以上的输入, 就无法轻松应对了。 过程将变得非常复杂。 我将为大家展示一种 可以在这些情况下 使用的技术, 称为特征结构配置, 并且我将使用 飞行控制器 [听不清] 向大家展示。 这是一个非常 有趣的教程, 我已经做了充足的准备。 还有一些与 稳态有关的技术, 这和我们昨天的内容 不太一样。 当然,如果您要在 反馈环路中 使用状态向量, 我想您最好知道 它是什么。 我的意思是, 它不像输出, 只需将传感器连接到 物体上测量就行了。 这些是系统 内部的变量, 因此我们需要 以某种方式 在反馈环路中使用该状态向量。 而且必须以 某种方式获取, 有一种方法是 通过称为估算器 或观测器的算法来获取。 这两个术语指的 是同一个东西。 在第四部分,我将介绍 线性状态估算器的 结构和设计, 它用于产生可在 反馈环路中使用的 状态向量。 所以,我希望 今天结束时, 能够让大家对使用 状态空间技术进行控制方面 有一个基本的了解。 我们将使用与昨天 相同的三个教程, 以及开关功率转换器, 今天会在几个 地方使用它。 因此,我们设计的VCDT?]降压转换器 和 [? 相位超前 ?] 补偿将重复使用, 用于设计状态 反馈控制器。 然后还有两个新教程。 第一个是双质体系统, 一个很棒的机械系统, 如果把它放在桌子上, 就能看到它是如何工作的。 前两个系统都有 一个输入和一个输出, 尽管我们可以 更改第二个 系统中的输出。 因此,对于需要 多个输入和多个输出的 复杂系统来说, 我将采用飞行控制示例, 在这个示例中, 大家会看到 用于 Vought F8 Crusader 的横向 动力学因此必须选择稍后我会对此 进行详细介绍。 关于标记法, 四方块符号用于 表示我认为 和材料有关的、 非常重要的内容。 关键字以这种 颜色来突出显示。 我想我会 展示所有内容。 我们今天要介绍 矩阵和向量, 所以大家会看到 很多这样的粗体标记。 大家看到这两种标记时, 就表明要么是矩阵, 要么是向量。 它是一个由数字 组成的数组, 有若干列和若干行, 由确定各项大小的 整数表示。 因此,我前面提到的 [? 整合性 ?] 约束条件 很重要。 有时我们会看到标量, 因此,大家也会在其中看到 Times New Roman 斜体字。 但只通过使用的 字体,就能分辨出 什么时候是标量, 什么时候是向量。 最后,虽然在 昨天的教程中 我倾向于使用上撇号 来表示向量的微分, 但点表示法 还是非常普遍的。 因此,尽管我们 昨天使用了上撇号, 今天将使用上撇号来表示。 第一部分“介绍”, 基本上就是这些内容。 接下来看看第五章。 从编号来看,显然是 接着昨天的内容。 我们昨天 讲到了第四章。 今天从第五章开始。 我将在这里 介绍状态空间 范式,用一种 非常笼统的方式。 然后我们将继续确认 某些类型矩阵的 两个重要属性, 即特征值和特征向量。 事实证明,这些是 状态空间描述的基础。 系统的动态 变化都包含在 特征值和特征向量中。 确定完它们的定义后, 我们将研究 系统的动态变化, 包括它的状态和输出。 最后,我将为大家 展示状态空间描述 和传递函数描述 之间的这种联系。 如果有人没有手册, 可以过来拿一本。 领手册时, 别忘了登记。 我的笔找不到了, 麻烦找个笔 登记一下,非常感谢。 这里引用的内容 出自一位名人, 爱因斯坦。 他说过,没有人能 想象出四维结构。 问题是,我们今天 将使用向量, 就像在二维 空间中一样, 您可以将平面中的点 表示为二阶向量。 没有理由 将向量限制为 二维或三维, 它们可以是任意维数。 因此,从概念上来说, 由向量表示的空间 可以是任意维数的。 我猜爱因斯坦的意思是, 一旦维数超过三个, 那个空间就不是我们 能够想象出来的了。 对吧? 如果这个指针表示 三维空间中的一个维度 -- 三维空间中的 一个向量 -- 大家就可以看到 x、 y 和 z 坐标 是如何确定它的 起点和终点的。 但具有四个元素的 四阶向量是 什么样的呢? 我的意思是,我们想象 不出来,但从数学上来说, 它是可以存在的。 因此,我稍后会讲一些 有关这方面的内容。 我们来回顾一下。 昨天,我们讨论了 输入输出范式, 我为大家展示了一个 这样的微分方程, 它通过一组常系数, 将输入 u 和 输出 y 以及 两者的高阶导数 联系起来, 其中 b 在输入侧, a 在输出侧。 我们看到, 对于这些系数为 常数的系统, 这种类型的方程 可用来描述线性时不变 系统。 “线性”是因为它是 由这个方程式描述的。 “时不变”是因为 所有这些系数都 不依赖于时间。 它们是常数。 对于这个有些不切实际 但非常方便的方程, 我们可以应用 拉普拉斯变换 来确定系统如何响应 一组输入,或许是一组 不同的输入。 因此,拉普拉斯 方程的输出 y(s) 等于 G(s) 乘以 u(s)。 这就是我们昨天 介绍的主题。 如果我们想确定 系统的频率响应, 可以针对 特定的 s 值 计算其传递函数。 我们使用了 虚轴上的那些复数。 好的, 再重复一次, 如果您刚刚加入, 可以到前面 领一本教材, 领完别忘了登记, 非常感谢。 好的, 状态空间 范式是不同的, 而且是根本不相同。 就状态空间描述来说, 我们仍然将 输入表示为 u, 输出表示为 y, 它们可能是标量。 好的。 它们可能只是独立的量, 但我接受一个 更普遍的观点: 它们可能是向量。 所以是可能具有 任意数量输入 和任意数量 输出的系统表示。 我认为 [听不清], 也许有两个输入 和七个输出,或类似的输入输出。 但是,还有一组 被称为状态的内部变量, 将由向量 x 表示。 我是说,这是内部 向量的通用表示法。 因此,您马上就 有了 3 个向量, 只用来描述系统 和这些向量的 3 个维度。 这些维度非常重要。 我将使用字母 r、n 和 m 分别来体现 输入向量 u(t)、 状态向量 x(t) 和输出向量 y(t) 中的元素数量。 例如,具有 1 个 输入、7 个状态 和 3 个输出的系统, r、n 和 m 的值 分别为 1、7 和 3。 这些数字确定了 即将出现的 状态空间描述中 矩阵的维数。 所以,当爱因斯坦 谈到多维空间时, 您就能够看出, 他所研究的 系统中的向量, 可能包含 3 个以上的元素。 好的, 这两种范式之间 存在着根本的差异, 我想为大家介绍一下。 因为,大家能做的 就是使用这个系统, 并以这种方式或状态空间范式 来表达这个系统。 我不会阻止 您这么做。 它有 1 个输入和 1 个输出的事实没有问题, 只是意味着 输入向量是标量, 输出也是标量。 它们都有 1 个元素, 而状态向量有, 有多少个元素呢? n 个。 其内部变量的数量 等于系统的阶数。 因此,您的系统可以用这两种 方式中的任意一种来表达。 那么,具体该 怎么选择呢? 状态空间描述 有一些优点, 其中最重要的是, 动态系统, 动态方程总是 完全相同的。 对于向量矩阵方程对, 无论系统有多么 复杂或多么简单, 它都不会改变。 因此,一旦您习惯了 使用这对方程, 就可以处理 任何系统, 无论它有多复杂。 您可以用它对具有 多个输入和多个输出的 系统进行建模。 我们昨天没有介绍使用 传递函数进行 系统建模的技术, 尽管多输入多输出系统 可以使用传递 函数来描述。 但这是免费的。 状态空间范式 可免费提供 处理多输入输出 系统的能力。 该理论更适合 描述和处理 非线性时变系统, 尽管它们都不属于 我们今天讨论的范围。 我们可以利用 线性代数的数学方法 来描述这些系统。 它们对于计算机 解决方案非常方便。 计算机非常擅长 执行重复性任务, 尤其是在向量 和矩阵中包含 有序数据结构的情况下。 计算机非常擅长 处理这类事情。 对于那些 无聊的重复工作, MatLab 这样的 软件可以提供帮助。 对于这个列表, 我还要补充一点, 离散时间和 连续时间系统的理论 在状态空间 范式中很相似, 而在输入输出 范式中却不相同。 所以有一些优点, 但也需要考虑缺点。 有以下几个缺点。 首先是与频域的关联 以前相当 [听不清]。 我们刚刚通过 将 s 替换为 j 来计算传递函数, [听不清] 在状态空间范式中 范式。 我们是在时域中以 这种方式设计系统。 另一个缺点 -- 我不知道这是否算缺点 -- 但您确实需要熟悉 矩阵代数 和线性代数。 但是,到目前为止, 最重要的是第一点, 也就是您有 完全相同的一组方程。 因此,正是能够在 一组方程中捕捉 动态变化,这种方法 才有效。 对。 您能否-- 因此,当我们有一个 这样的传递函数描述时, 就能够确定 它的频率响应, 方法是对 虚轴上的点求值, 用 jω 替换 s, 然后计算 G(s), 即所有 ω 值的 传递函数。 这非常简单。 现在我们有一对方程 -- 让我回过头来 找找那对方程, 可能没有列出来 -- 它们是关于时间的 负电压。 对吧? 现在,我们如何 从这样的 一对方程中 得到频率描述? 没有直接的方法 可以做到这一点。 方法是,将其转换为 您可以执行的 传递函数描述, 然后应用我们在 输入输出范式中 应用的技术。 可能遇到的困难是, 您可能要处理 具有多个输入 和多个输出的系统。 因此,您不再拥有 单个频率响应, 而是拥有许多 频率响应。 传递函数矩阵中的 每个元素一个。 所以,这就是为什么 我说与频域的 关联丢失了, 因为它不再是 直接用 jω 替换 s 了。 您必须转换为 传递函数描述, 然后将传递函数 应用于 [听不清] jω [? 规则。因此必须选择 [听不清] 是的。 但在执行之前, 您必须将状态空间描述 转换为传递距阵。 我在这里 所说的是一个 在时域中用 这种类型的方程 会在时域给出它。 是的。 来晚的人如果没有手册, 可以自己去拿一本, [听不清] 然后记得在前面的 表上登记, 非常感谢。 这些就是其中的 两个方程,我想为大家 介绍一下,我们在处理 状态空间系统时 使用的术语和符号。 有两个方程。 第一个是 状态向量 x 的 一阶非齐次微分方程。 它被称为状态方程, 原因很明显。 第二个方程 是一个涉及状态的 代数方程, 它是第一个方程 x(t) 和输入 u(t) 的解。 它叫做输出方程, 原因很明显。 它用于提供输出。 这个方程有 3 个向量 和 4 个矩阵, 并且我们还是 要注意维数。 向量 x(t) 是状态向量。 它是系统描述的 内部向量, 维数为 n 乘 1。 n 是状态数。 向量 u(t) 是输入矩阵。 维数为 r 乘 1。 对吧? r 行、1 列,因为 它里面有 r 个元素。 向量 y(t) 是输出向量, 其中包含 m 个元素。 因此,它是一个 n x 1 向量。 矩阵 A、B、C、D 都有各自的名称。 A 称为系统矩阵, 它始终是方块矩阵, 因为 x 点 有 n x 1 个维度, 我们通过 A 连接 n x 1 矩阵 x(t), 来得出 n x 1 矩阵。 因此,它必须有 n x n 个维度。 矩阵 B 有两个名称。 可以称其为驱动矩阵, 也可以称其为输入矩阵。 该矩阵的维度 必须为 n x r。 必须提供一个 n x 1 向量, 否则我们无法用来 提供 n x 1 向量。 因此它必须有 n 行, 且必须有 r 列, 以与 r x 1 向量 可相乘。 因此,矩阵 B 的 维度是 n x r, 我们称之为 输入矩阵或驱动矩阵。 大家可以按照 相同的逻辑 来确定矩阵 C 和矩阵 D 的维度。 矩阵 C 称为 输出矩阵。 维度为 m x n。 矩阵 D 称为 传输矩阵。 它的维度是 m x r。 有时我们需要 用简洁的符号 来表示特定的系统。 就像我们用 g(s) 表示传递函数, 这对获取单个系统描述而言 是一种很好的方法。 但是现在我们 需要表示 4 个矩阵。 有时会将矩阵本身 包含在这些花括号中, 用 A、B、C、D 表示系统时, 至少要对每个系统 进行定义。 如果有多个 状态空间描述, 至少要通过将矩阵 放入同样花括号中 来确定特定的 状态空间描述。 这就是可以如何 表示状态和输出 方程。 今天大家会多次 看到这种形式, 因为我们要 使用 Simulink 为这些系统的行为建模。 底部是两个方程, 我们可以看到, 状态方程涉及 矩阵 A 和 B。 如图所示, 这部分涉及 A 和 B。 矩阵和不同位置的 向量标记有 图形的大小。 输出方程,即代数方程 涉及矩阵 C 和 D, 即示意图的这一部分。 好的, 如何看这种示意图呢? 这里是一个状态方程, x 点等于 Ax 加 Bu, 我们在图中找一下 x 点, 就是这个。 它等于什么? 等于 A 乘以 x。 x 必须是 x 点的积分, 因此,有一个积分器, 更准确地说, [?该图?]中 有 n 个积分器, 以得出 状态向量 x(t)。 x 点等于 A 乘以 x(t), 当然,必须可相乘, 加上 B 乘以 u(t)。 这一部分就是 状态方程。 我们来看一下这些 向量和矩阵的维度。 我说过 A 必须是 n x n。 它与 n x n 向量, n x 1 向量可相乘。 然后?][?整合性?]也 适用于 B 乘以 u。 我们要做的是将两个 n x 1 向量相加, 以得出 x 点 (t),即 n x 1。 如前所述,大家可以 检查矩阵修改结果 我在前面讲过这一点。 输出方程也一样。 y 是一个 n x 1 向量, 因此修改右边两项后的结果 必须得出 两个 n x 1 向量, 如果检查 [?整合性?], 我们会发现确实 有两个 n x 1 向量 相加。 一会儿我们 进行模拟时 会看到。 现在需要指出的是, 大家要接触的 所有系统 都会有这样的 状态方程。 它们的维度 可能会有所不同。 如果我们讲的是 离散时间系统, 符号可能会略有不同, 但是看起来 [?都是?]这种。 但是输出方程 不会一直都是这种。 尤其是 矩阵 D 为零时, 这种情况更是常见。 一会儿我们会发现, 对于从传递函数描述 转换为状态空间形式的系统, 矩阵 D 总是为零 前提是传递函数 严格真。 还记得这是什么意思吗? 我们有多个极点, 还有零点。 该系统的 矩阵 D 一定为零。 对于函数为真的系统, 其极点数 和零点数相同, 而且我们知道 状态空间描述 会有一个非零矩阵 D。 但是我昨天说过, 原则上,真系统 并不存在, 因为这些系统 具有无限频率行为。 我们经常会发现, 输出方程只得出 一个 C 矩阵 ,没有 D 矩阵。 补充一下, 如果是转换自非真 传递函数的系统 其零点数多于极点数, 而且没有 状态空间描述。 因此,必须通过 真或严格真 传递函数进行转换, 以便首先得出 状态空间描述。 [听不清] 是的。 [听不清] 是的。 是的。 昨天我们在讲第四章时 进行了很多这种转换, 从严格真的传递函数 得到 [听不清] 传递函数, 该函数是真函数。 它的极点数 和零点数相同。 因此,在离散域中, 当我们处理 离散时间系统时, 经常会遇到 D 矩阵 非零的情况, 虽然并非总是如此, 但可能会比非连续时间系统频繁。 说得好。 我想试着将该理论 直观呈现出来, 因为接下来 要讲的很多内容 偏向代数和数学知识, 而且今天可以用于 直观呈现 所讲内容的工具 比昨天少。 昨天我们讲了频域。 我们使用了 [听不清] 图, 还使用了 [听不清] 图, 而且我告诉大家 这两个图的 几何特征很有用。 对于时域系统, 我们讲了瞬态响应, 还讲了根轨迹图。 还通过一些 好用的图形化工具 为大家直观呈现内容。 但对于这种 通过状态空间范式 描述的系统,确实没有 类似的工具。 这是一种代数描述, 我们必须习惯于 使用向量和矩阵 并从中提取信息。 但我会讲一些类似的 直观描述。 这里是两个 [听不清] 系统方程。 顺便说一下, 我把这些称为状态方程 和输出方程。 总的来说, 可以称之为系统方程, 原因很明显。 它们描述了系统。 第一个方程是 状态方程, x 点等于 Ax 加 Bu, 可以想一下 结构为 2 个输入 和 2 个输出的 至关重要。 该系统有 2 个输入。 例如,我们可能会重新调用 u₁ 和 u₂ 这两个输入。 它们是标量, 但是用 2 x 1 向量 u 来表示。 平面图上的 u(t) 这个点 以及那个点 获取的是时间 t0 处的 输入向量值。 随着时间的变化, 平面图上的 点 U1、U2 也会移动, 因为输入在变化。 我们从这种三维图中 可以看到输入随时间的 变化情况。 毫无疑问, 因为输入在变化, 而且系统 由该方程描述, 如果是拥有 2 个状态的 二阶系统, 我们也可以这样做。 在平面图上 绘制状态图, 然后在三维图中 以轨迹的形式 表示状态的变化。 现在输入和状态之间 有了关联。 我们可以在输出方程中 执行相同的操作, 从而将前两个图, 即输入图和状态轨迹图, 与输出相关联。 二者是通过 矩阵 C 和 D 实现的关联。 状态有一个 正式的定义。 我们逐字阅读, 状态是 最小变量数, “最小”这个词 非常重要。 我马上就会告诉您原因。 在 t0 处 的值以及 t>t0 时的输入 可以得出 t>t0 时的输出。 需要记住三点。 对吧? 我们需要知道 t0 时的状态值。 需要知道要了解 哪个时间间隔的信息。 还要知道输入 在整个时间间隔内的 变化。 一会儿我会 在后面的幻灯片上 为大家展示为什么需要 知道这三点。 状态的初始值、 时间间隔 以及输入在该时间 间隔内如何变化。 你需要的就是这些。 系统可以 完全由方程组描述, 只需要知道这三点。 现在是 状态的选择,因为我, 大家知道, 如果把系统放在一个盒子里, 然后画出进入盒子的线 和出盒子的线, 输入和输出就会 变得很明显。 我们可以知道它们分别是什么。 知道可通过 哪些输入 来控制系统, 以及输出是什么。 我们遇到的可能是 电压和电流之类的内容, 也可能是力和运动等 机械方面的内容。 但内部变量 可以是任何内容。 我们可以自行选择。 这一点无关紧要。 有没有物理意义都可以。 例如,如果是 电气系统, 我们可能会选择 电压和电流, 如果是机械系统, 可能会选择 位置、力或其他方面, 不一定都是这种。 可以是先验量。 力的余弦值 加上位置的 第三个正切值 或类似的值。 可以是先验量, 不一定是 可以测量的物理量。 有些集合比其他集合 更容易处理, 但是,我们几乎可以 选择所需的 任何状态。 这一点无关紧要。 有一点重要, 因为有些集合 更容易处理, 其他集合则更容易 首先推导出来。 选择状态时, 唯一真正 重要的是数量。 它是唯一的。 如果数量是 n, 则系统的状态向量 必须有 n 个状态。 如果是三阶系统, 则 x(t) 有 3 个元素。 它是一个 3 x 1 向量。 A 则是一个 3 x 3 矩阵。 状态空间描述中的 所有其他维度 是固定的。 如果状态的 数量不对, 我们就会遇到问题。 一会儿我会在教程中 为大家展示 状态数不对时 会出现哪些问题。 很明显,该系统 必须有 2 个状态。 如果描述中有 3 个状态或 4 个状态, 控制该系统时 将会出错。 对。 您能否-- 我们必须了解 系统的动力特性 以得出状态空间描述。 就像如果我们有一个 传递函数描述, 则必须以某种方式 为系统建模。 我们必须进行构建。 因此,如果将 传递函数描述 转换为状态空间, 我们马上就能知道。 这很简单。 对吧? 但是如果不是 上述情况, 如果是从头开始构建系统, 则必须计算 系统的阶数。 它将在模型中 体现出来。 是的。 接下来我将向大家演示 通过传递函数 获取状态空间描述的 一种简单方法。 我们知道这种方法后 就会发现任何 严格真传递函数 都变得简单了。 这是一个任意阶的 通用传递函数 我们昨天见到过 这种函数, 它有 n 个零点和 n 个极点。 如果是真 或严格真系统, 我只讲 这两种系统, [听不清] 只有这两种系统 有状态空间描述。 现在大家已经知道 这是一种 n 类系统。 而且已经知道状态向量 是 n x 1 向量。 因此,在本例中, 它是严格真系统。 m?] 小于 n, 抱歉, 这里是错的, 标准化后,aₙ 等于 1。 我是在二阶示例的基础上 修改的幻灯片, 忘记修改这个地方了。 重点是分母多项式的 首项系数为 1。 出现这种情况时, 该多项式被称为首一多项式。 首一多项式的 首项系数为 1。 如果不是 1,则除以 任何值以将其设为 1。 这是需要在第一步中 约束的条件。 这样做时不必记住 很多。 但必须记住一点, 在执行该过程时, 我们需要定义 一个变量 v, 该变量等于 u 除以分母, 做好。 因此,我们用 该传递函数的分母, 从传递函数可以看出, v 和 u 的分母是,抱歉, v 的定义是 u 除以 α。 讲到这里我 完全意识到 白板或挂图不会被 录进去。 我向以后要学 本课程的学员 表示歉意。 我来解释一下 为什么要这样做。 传递函数还记得吗? 昨天我们将它定义为 y 除以 u。 在拉普拉斯变换中 输出除以输入。 我还说过它是 两个多项式的比值, 即 β 除以 α。 还记得吗? 分子多项式 涉及微分方程输入端的 所有系数, 这些统称为 我们昨天使用的 β(s)。 将分母多项式 称为 α(s)。 现在我要做的是 将一个新的变量 v 定义为 u 除以 α, 反过来也一样, 如果这样做的话, 就是 y 除以 β。 为什么要这样做呢? 因为我可以 将 u 写为 v 乘以 α。 并将输出 y 写为 v 乘以 β。 现在我可以用 v 表示 输入和输出。 这一点是关键, 因为现在 v 可以是内部变量, 快速组成状态。 在我分步讲解时, 大家会看到 我写的内容, 一目了然, 但是要记住第一步。 我们定义的 v, 无论它是什么, 都是输入除以 分母多项式。 因此,我们可以 把它写出来。 我们将两边 都乘以 v。 抱歉,是两边 都乘以这里 第一个方程 中的 α(s)。 我们会得到 一个有关 u(s) 的方程, 该方程是一个多项式, 其中包含变量 v。 好的。 这是第一个 方程,我已经 把方程[听不清]这里。 u 等于 v 乘以 α。 我们可以为输出 执行相同的操作, 因为现在已可以用 β(s) 乘以 v(s) 表示 y(s)。 现在我们有一个 所有输出系数中 都包含 v 的多项式。 我首先逐项进行 拉普拉斯逆变换。 初始条件为零。 而且我们知道 s 的每一次方 都对应一个微分。 因此,s 乘以 v(s) 就变成了 v'(t)。 在处理标量时, 我会首先使用上撇号。 现在我们有 2 个微分方程。 一个关于 u(t), 一个关于 y(t)。 大家到现在都能听明白吧? 到目前为止我们讲的内容很简单。 在这张幻灯片上, 我们只需要记住 如何定义 v(s)。 其他项都会 自然而然地得出。 这就是该方法的 巧妙独特之处。 接下来我们选择状态。 状态的选择是一个 任意的过程, 使用什么都可以, 但是系统有一种独特的 状态选择方式, 即,状态称为 相变量。 这就是相变量的选择。 我将选择 x₁, 即状态向量中的 第一个元素, 因为该变量 v 是上一个方程中时间的函数。 状态向量中第二个元素 是 v 的导数, v'。 因此,它与微分 状态向量中的 第一个元素相关, 是 x₁ 点。 第三个元素 是 v'', 即 x_2 点, 到第 n 个 元素时,将是 x_n-1 点。 我选择了 n 个状态。 每个状态与上一个状态 都是导数关系。 这种独特的状态 选择称为相变量。 这一点很重要。 我们还会再用到几次。 我已经写下 状态的方程, x 点等于 Ax 加 Bu。 x 点是状态 向量的导数, 我们可以看出 状态向量是 x₁ 到 xn。 现在几乎已经有 所有状态导数。 有 x₁ 和 xn-₁。 我们知道 这些导数是什么, 因为它们是 状态本身的导数, 但是我们不知道 xn-₁。 我只需重新回到 原始方程, 然后将状态变量 代入刚才有关 y 和 u 的 两个方程。 我们可以看到, 这是有关 u 的方程, 这是有关 y 的方程, 我们会发现, u 包含状态的导数, 非常重要。 我们回去 看一下原因, 是因为 u 包含 v^(n)。 v 的 n 阶导数 是底部 u 方程的 第一项。 现在几乎已经是 一个简单的问题了。 输出方程马上就会 浮出水面。 我们可以 马上将它写为 向量矩阵方程, 但是它并不存在。 我需要将其 放在左侧, 从而得出 第 n 个状态的导数。 最终我们得出 这个包含第 n 个状态的 非常重要。 或者大家几乎可以得出, 因为我犯了一个错误,而且把它写下来了。 这一项, 右侧的第二项, xaₙ 是错的, 不应出现在 那里。 因此,需要把这一项划掉。 描述 x 点中 所有其他项 [听不清]。 现在一切都已准备好。 对吧? 我们已经有 状态方程, 因为我们定义了 状态向量, 并且所有导数均已知。 我们已经有这个 有关 y 的方程, 可以得出输出方程。 大家其实可以通过检查 来执行其他操作。 状态方程和输出方程 如上图所示。 这是状态 向量的导数。 这是 x 点, 然后是 n x n 方块矩阵 A, 这是状态向量, 右侧是输入向量 u(t)乘以 v。 然后是输出方程, 很明显。 即 y 等于 C 乘以 x。 我在前面提到, 原始传递函数 是严格真, 没有 D 矩阵。 这只是一个由 3 个矩阵 描述的系统。 重要的是矩阵 A、B、C 这 3 个不同 矩阵的结构, 因为它们具有独特的 结构,我们称之为 相变量规范形。 相变量, 因为我们在描述时 选择了相变量。 首先,B 矩阵 非常明显。 除了最后一个元素为 1, 其他都是零。 C 矩阵包含传递函数 分子中的所有系数。 b₀ 到 bₙ₋₁。 如果 n 小于n - 1, C 矩阵中 将有一些元素 0。 我们假设 相对阶为 1, 因此, 最大的 0 数 是严格真。 其中会有元素数。 而且 [听不清] [听不清] [听不清] 它的确有 n 个元素, [?但是?] 有 n 个元素。 否则无法 将其与 n 维向量 相乘。 那么。 [听不清] 是的。 因此,输出数等于, 哦,对了, 这也是错的。 这也是错的。 在本例中,n 等于 1。 谢谢,我刚注意到。 在这一特定示例中, 有一个输出。 谢谢。 谢谢。 n 不等于 1,n 等于 [INAUDIBLE] 能大声点吗? 我认为这里是错的,当我, 这张幻灯片 是在其他幻灯片上的基础上 进行了修改, 我忘记这一点了。 谢谢提醒。 另外,我们知道, B 矩阵和 C 矩阵的 结构是唯一的。 A 矩阵的结构 尤其重要。 该结构很容易 就能看出来, 因为分母中的 系数均出现在 底部一行中。 该矩阵中的 所有其他元素 都是 0, 但超对角线元素 除外。 我们知道矩阵的 对角元素 [听不清] 就像这样。 如果加 1, 则是上对角线。 如果减 1, 则是下对角线。 因此,上对角线 [听不清] 全部为 1。 这来自状态的选择 以及状态变量。 因为 x₁ 点等于 x₂。 x₁ 点等于 x₂。 这就是为什么 上对角线 都 [?1s因此必须选择 这种特殊的形式 有时称为 相变量规范形。 它还有一个名字。 即可控规范形。 它是将传递函数 转为状态空间范式的 两种基本形式中的 范式。 一会儿我们会发现 这种特殊形式的 一些独特属性 在进行控制时 非常有用。 现在我快速讲一下 昨天使用的 降压变换器。 相位超前补偿器。 [听不清]我们 已经知道 它的一个传递函数 包含一个零点和两个极点。 我们还知道 这些极点是 共轭复数极点。 因此,我们只需查看 传递函数, 将分母规范化, 然后便可以 知道哪些是 a, 哪些是 b。 直接将它们代入 最后两个方程, 我们可以看到, 该系统已有一个 相变量锥形描述, 其中 A 矩阵的 分母系数在最下面一行, 上对角线只是 一个元素。 有一个元素 1, 另一个元素是 0。 B 矩阵和 C 矩阵 就是大家 在上一张幻灯片上 看到的那样。 这样就表示出了 该系统的 变量规范描述。 我将在 MATLAB 中 简单教一下, 以便为大家 讲几点。 大家稍等一下, 我今天为此花了不少时间。 同样,我将使用方格形式 的编程方法。 分为不同的方格, 这是第一个方格, 它执行的操作 和昨天我们执行的一样, 即使用 [?TI?] 脚本 构建该系统的 传递函数。 现在运行第一个方格, 我们会发现, 传递函数 出现在工作区中。 该函数和昨天的 完全一样。 有一个… 虽然我们还没讲到, 有一个状态空间描述。 我们先将这些内容 放入状态空间描述, 然后再讲解。 这就是矩阵。 这是我们在 MATLAB 中 定义矩阵的方法。 如果我们有一个矩阵 A, 在本例中,我们有一个 2 x 2 的矩阵 A, 我们使用方括号将其括起来, 就像它是一个数组一样。 还记得昨天 我们什么时候查找的数组吗? 就像这个数组, 将系数放在方括号之间。 这是一个数字数组。 该数组包含 a0、 a1、a2 等数字, 这些数字由空格分隔。 因此,它和矩阵一样。 我们编写行的元素 并用空格进行分隔。 使用分号 将每行区分开。 如果我们要编写一个 2 x 2 矩阵, 第一行是 01,以此类推。 第二行 a0 除以 a2, 负 a1 除以 a2, 这样表示这两个数。 除以 a2 的 原因是 将分母 标准化,因此 a2 为 1。 这是结果。 这是 B 矩阵。 它是一个 2 x 1 矩阵。 第一个元素为 0, 我需要通过分号 查找第二行。 一个矩阵 C 和一个矩阵 D, 因此,我们有 4 个矩阵, 我可以将其合并到同一个 状态空间描述中,方法是使用 和FS?] 脚本。 因此,[?FS?]A、B、 C 和 D 在状态空间的工作区 创建一个实例, 用这四个矩阵 表示系统, 就是 A、B、C、D。 屏幕顶部附近的 传递函数 是二阶函数, 因此有两个极点。 我们已经知道 可通过这些极点 了解系统的瞬态响应。 它们在描述中很重要, 因为我们可以 从中了解稳定性、 瞬态响应及其他信息。 有一个量值 称为特征值, 该值与系统矩阵相关, 一会儿我会讲到, 我们也可以通过该值 了解那些信息。 我们可以在 MATLAB 中 输入 A 的 [?EIG?]查看这些信息。 因此,系统矩阵 A 有 特征值,要查找特征值, 我们只需输入 E-I-G。 传递函数的极点 应该与系统 矩阵的特征值 矩阵。 现在我运行下一个脚本, 可以看到确实是这样。 我们有 传递函数的极点, 得到两个 共轭复数极点。 [?EIG?] 也会得出完全相同的两个 共轭复数。 我们可以从中 了解相同的信息。 现在我要 执行两项操作。 在 MATLAB 中绘制 状态空间系统的 阶跃响应图; 以及在 MATLAB 中绘制 状态空间系统的 单位编程的技术。 先执行这两项操作。 首先,它是二阶系统, 因此不容易看到这一点。 这是阶跃输入下 内部状态 x₁ 和 x₂ 的 变化情况。 我们知道 输出是振荡的, 因此内部状态 也是振荡的 也就不足为奇了。 如果要绘制 状态空间的输出图, 执行的操作 在这一行, 我使用了状态空间描述 并编写了阶跃。 这是最终值。 这是绘制阶跃响应 所使用的 x 轴的最终值。 2.5 毫秒。 我们便得出数组 y、t 和 x。 即输出、 时间、向量和状态。 首先,我分别 在两个图中绘制了 状态 x₁ 和 x₂ 的图。 在下一个方格中, 我将绘制输出图,即 y 的图。 请注意,它来自 状态空间描述。 它们看起来一样, 是因为均来自昨天的 传递函数描述。 现在我将在 Simulink 中 编写相同的 内容。 如果大家 没有用过 Simulink, 我简单介绍一下, 它是一个用于模拟系统时域行为的 会在时域给出它。 它在处理向量和矩阵 方面的功能非常强大, 我已经设置好。 这就是前面的幻灯片上 矩阵 A、B、C、D 的 系统结构。 这是状态的导数。 这个方块表示 需要多少积分器 来对相应维度的向量 进行积分。 A 乘以 C 加上 B 乘以 u。 在本例中, u 是阶跃输入。 这是矩阵 D, 我们正好知道该矩阵是 0, 但 MATLAB 不知道这一点。 Simulink 也不知道这一点。 输出是 C 乘以 x 加上 D 乘以 u。 现在输出和状态 与这些因素 相关联, 它们用于获取 数组中的变量。 因此,它是一个 元素数量的数组, 因为是时间向量 输出。 然后我们将 这些内容返回到工作区中。workspace 每个三角形 都表示一个乘法。 例如,顶部有一个 D 矩阵乘法。 上面显示它无需是 常量或任何其他变量。 但显示 D, D 在工作区 是一个变量。 因此,如果我们 回到工作区,往下看, 我已经 配置好了 D。正好是 0。 但 C 不是 0。 B 也不是,A 也不是。 这些是 Simulink 模型中 的小三角形。 使用工作区的这些变量。 运行模型后, 它会执行相应乘法 然后得出维度, 希望结果是对的。 我想说的是 如果维度错误, 但维度是不会错的。 图形化方式中 所用的符号是 这些细线, 它们将元素相连, 表示将标量 从一个方块 传递到下一个方块。 但如果处理的是向量, Simulink 会将 这些不同的线 换成粗线,非常粗, 目的是表示 传递的是向量。 我们还没有运行,因此现在 它还不知道是标量还是向量。 但是如果 我现在运行该模拟, 它将进行阶跃响应, 识别哪些元素是向量, 哪些不是向量, 并用粗线标记向量。 我们很快就可以看出 这是标量输入。 D 不存在, 我猜也没人会在意。 有一个输出。 从 C 乘法中出来的 是一条细线。 由于包含状态向量, 此处的内部线是粗线, 因为我们要处理 每种情况下的 n 个维度的向量。 现在回到工作区, 多了两个变量, 一个用于获取状态, 另一个用于获取输出。 每个变量都是用 2,502 个元素表示。 有一个输出,两个状态。 因此这些数组的 维度是正确的。 如果可以回到脚本, 然后绘制 输出相对于时间的图, 这里就是执行的操作。 如果运行 最后一个脚本, 就会像之前一样 绘制 x₁ 和 x₂ 的图。 现在我们像之前一样 在单独的图上 波特图和奈奎斯特图。 我们来运行一下。 现在我们 可以看到,已经有 第一个图和第三个图。 我来看一下。 如果大家能看出 不同之处, 那么比我还厉害, 因为这些是一样的。 我已经在 MATLAB 中 绘制出该状态空间系统的 输出图,显示在左侧。 就是这两个状态。 我在 Simulink 中 执行了相同的操作。 当然,结果也相同。 我可以直接 以脚本的形式执行, 也可以运行 Simulink 模型。 如果我针对输出 执行相同的操作, 跟我们的预期一样, 得到的图 也是相同的。 我刚才向大家演示了 如何在 MATLAB 中输入矩阵, 如何使用 SS 脚本 创建模型, 以及如何在 Simulink 中 执行图形模型, [?这一点很重要。?] 因为是在 MATLAB 工作区和 Simulink 模型之间交换数据。 这种方法非常好用。 现在我们清除所有内容 并关闭 Simulink。 现在是稍微 不同的情况, 我们确实需要用到这种情况。 这些线更接近于 矩阵代数 或线性代数。 我想先从… 虽然这些维度 这些向量可以是 任意大小, 如果是二阶或三阶, 2 个或 3 个元素, 则会非常有帮助, 因为我们可以 将向量与可以想象的事物 相关联。 例如,如果一个向量 包含 3 个元素, 则可以把它看作 在三维空间中 捕获向量的工具。 我们就是生活在 三维空间中, 因此可以轻松 呈现这一场景。 现在,我将介绍 如何使用 3 x 3 矩阵来 表示旋转运动。 我将使用一个来自 飞行控制领域的术语, 是关于飞机的。 其中每一个都 代表一个元素 在三维空间中的旋转。 我们可以将其想象成 一个移动的坐标。 您要想象的是, 一架飞机沿着 x₁ 向量的 绘制方式飞行。 如果这架飞机 发生偏航, 偏航意味着飞机 像这样左右移动。 这是一个横向运动。 这表示围绕 z 轴, 即垂直轴,进行旋转。 在本例中,我将使用 希腊符号 ψ, p-s-i,如 tipsy。 这就是该符号的含义。 这一旋转运动 可以捕捉到一个 3 × 3 矩阵中,就是这个。 如果我们有一个向量, 并且我们想 通过围绕 z 轴的 旋转来改变这个向量, 那么一旦您知道 角度是多少, 就可以乘以它。 飞机的俯仰运动 与此类似, 俯仰意味着 飞机在前进, 而机头在上下移动, 这就是俯仰。 这是一个 不同的 3 x 3 矩阵。 在本例中, 俯仰角为 θ。 这里还有一个侧倾角。 很显然,您知道 侧倾角是什么。 在这个特殊案例中, 该角度为 φ。 ψ、θ、φ 这三个希腊字母 代表系统中的 俯仰、滚动和偏航。 当然,我们可能需要 表示一种由这三种 情况组合而成的运动。 我们可能会在飞行中 遇到湍流或其他情况, 上帝保佑我们。 我们可能想知道, 我们是否正在同时进行 时钟。 在这种情况下, 您需要将这三种旋转 项目符号。 然后,您在一个 单独的矩阵上得到 一个固定的角度, 可以将其定义为 T。 T 可以被视为 从一个点的向量 到一个完全不同 点的向量的转换。 这是三个旋转的组合。 只要这些角度不变, 您就可以继续 使用相同的矩阵 来乘以向量,并将始终 得到相同的答案。 因此,您可以将 3 x 3 矩阵 视为一种转换。 它将向量从一个方向 移动到另一个方向。 这就是该矩阵 实际执行的操作。 如今,它用于各个 工业领域,我是指 科学和工程领域。 一个非常常见的 方面是电机控制。 但您可能没有意识到 这种情况正在发生。 这是出现在电机 控制器中所谓的 磁场定向控制中的 一种转换。 当我谈论逆向派克变换时, 大家知道我在说什么吗? 有人听说过吗? 完全没人举手。 哦,有一个人举手, 有那么几个人举手。 这样我就觉得 有必要稍微 讲解一下 逆向派克变换了。 它用于磁场 定向电机控制, 您可以在其中尝试将 磁通向量定位在机器内部。 操作方式是,计算向量 相对于电机内部 噪声效应。 这台机器的 电机轴上有一个 永磁体。 轴显然在旋转。 我们现在看到的是 电机的一端,这是横截面。 这是电机轴, 它可以向一个方向 或另一个方向转动。 它上面有一个永磁体。 我们需要相对于 转子所在的位置 定位通量向量。 当然,转子与 机器一起转动, 因此向量也必须转动。 我们在 d-q 轴坐标系中 用正交坐标对来 表示向量。 d 和 q 表示 方向和扭矩, 相对的方向, 这个紫色向量 v 可能代表我们 想要在该坐标系中 表示的某个向量。 这就是信息传递到 逆向派克变换的 变换。 逆向派克变换的 作用是,根据坐标系 重写向量信息, 该坐标系以电机定子上的 这些绕组为参考, 因为我们必须 以某种方式 为这些绕组通电 以生成该向量。 而用移动的对象 来表达这个向量是 不合适的。 您需要将其相对于 定子绕组固定。 因此,您需要以 这些 α-β 坐标的形式 将其写出。 这是一个正在发生的 坐标变换。 比如这里, 这两个正交坐标系 之间的差就是 θ。 执行此坐标变换的 矩阵涉及这个 2 × 2 矩阵中的 正弦 [? 和余弦?] [? 三角学 ?] [听不清] 项。 。 因此,我们采用一个 以 d-q 坐标 表示的向量, 将其乘以 2 x 2 矩阵, 并生成一个 2 x 1 向量, 其中包含 α-β 坐标系中的信息。 这在电机控制 方面很常见。 它会生成两个 坐标向量。 您需要对该信息 执行的唯一操作是, 以某种方式 将其转换为 3 坐标系, 因为通常情况下, 该电机为三相电机。 您需要了解 有关如何为 三相中的每一相 供电的信息。 为此,我们使用了 空间向量调制器。 但是这种变换, 即逆向派克变换, 是电机控制中的 绝对标准。 这在磁场定向 控制中很常见。 我们所做的只是 使用矩阵乘法 将一个向量从一个坐标系 变换到另一个坐标系。 现在,所有这些变换 都由一个方阵来 执行。 我想说的是, 方形矩阵具有 某些属性, 而且这些属性 与向量变化相关。 有两个基本量 对接下来的 一切都非常重要。 第一个量称为 特征向量。 对于每个 n × n 变换矩阵, 您几乎可以忽略变换, 对于每个 n × n 矩阵, 当您将向量乘以 该矩阵时,最多有 n 个 向量的方向不会改变。 想象一下,您在 三维空间中有 某种向量。 也许这个指针 代表该向量。 将其乘以变换矩阵 便可以将该向量 改变到一个不同方向。 几乎每个您能 想到的向量在进行 矩阵乘法之后 都会有不同的方向, 除了有最多 3 个 向量不会改变。 有 3 个向量 不会改变。 可能少于 3 个, 但最多有 3 个 向量不会改变。 那些独特的向量 对于特定的转换 来说是独一无二的。 它们被称为特征向量。 事实是,如果您遇到 这些特征向量, 在变换之下,它们的 方向将保持不变。 但它们的长度 可能会改变。 乘以它后,可能会有 不同的长度。 与每个特征向量 关联的是一个特征值。 每个 n × n 变换 最多有 n 个 特征向量和 n 个特征值。 每个特征值都与 一个特征向量相关联。 它们在动力系统的 行为中发挥着 重要作用。 如果您能说, 因为您有一个 3 x 3 矩阵, 所以您有 3 个 特征向量和 3 个特征值, 那就太好了。 遗憾的是,您不能这样说, 因为您只知道您最多可以 获得 3 个特征向量。 您不知道可以获得 3 个。 您可能获得 1 个, 您可能得到2。 您可能得到3。 并不总是能得到 3 个。 具有这种属性的 矩阵称为退化矩阵。 它们会让您在 描述系统时 遇到问题。 一个 n × n 矩阵 始终具有 n 个特征值, 但可能没有 n 个特征向量。 矩阵被称为退化矩阵。 该退化是 n 与 您获得的特征 向量数量 之间的差值。 这里有一个关于特征向量的 图形化思维方式。 这条紫色线, 这里的这条深红色线 表示一个向量, 它在使用 n × n 矩阵 A 的 变换下保持不变。 因此 A 将是3 x 3, 因为它是 一个三维系统。 所以在 wᵢ 中无论 i 是 1、2 还是 3。 乘以 A 后,该向量将 具有完全相同的方向。 但在本例中, 它的长度会 按数量 λ 增加。 原始向量 在 x、y 和 z 方向的 坐标为 A、B 和 C。 将它与此相乘后, 它的长度就改变了。 因此,它的坐标 将为 λ i 乘以 A, λ i 乘以 B, λ i 乘以 C。 λ A 是 该向量长度 增加的量。 特征向量为 wᵢ。 与之关联的 特征值为 λ i。 您可以用向量矩阵 表示法将同样的 写成 A Ω i 等于 λ I Ω i, 遗憾的是, 它并不那么简单, 因为特征值以及 特征向量中的 元素可能很复杂。 它们不一定是真实的。 我将为您提供 一个直观的表示, 只有在我们处理 实数特征值 和特征向量中的 实数元素时才适用。 不一定是这样, 但我尝试给您 一种直观的方式来思考 特征向量和特征值。 特征值始终是标量。 我们不使用粗体字 来表示它们,但它们可能很复杂。 特征向量为向量, 它们本身可能 具有复杂的元素。 我们要搞清楚 这些是什么, 因为稍后您会看到, 它们几乎涉及到 接下来的所有内容。 特征值很容易找到。 您始终首先找到这些值。 它们是通过 求行列式 λ I 减去 A 得到的。计算时, 需要将 λ 视为一个 自由参数。 I 是一个 n x n 单位矩阵。 您现在知道 单位矩阵是什么了。 您有两个 n x n 矩阵。 您可以做减法。 然后计算出其中的解。 解将是 λ 的 n 阶多项式, 因为 λ 是您 在该等式中留下的 自由参数。 就是这个。 它是 λₙ。 以及 ?] 该项。 所有其他项 都有一些与之 相关的系数。 像所有多项式一样, 您可以将其分解 以揭示其根。 它们是 λ 1、 λ 2、一直到 λ n。 这就是捕获 系统的 n 个特征值的 多项式。 如果我们从传递 函数描述开始, 这些特征值 实际上会成为 传递函数的极点。 这是我们开始的 传递函数的 特征方程。 只是我们将 λ 视为 自变量,而不是 s。 这是同一个等式。 系数是一样的。 因此,特征值 与极点相同。 有两种简单的方法 来检查您是否找到了 正确的特征值。 它们依赖于您 得出乘积。 假设您找到了 λ1 和 λ2, 以及一直到 λn 是什么, 但您不确定它们 是否正确。 简单的检查方法是 计算 A 的行列式。 A 的行列式 应该等于 您找到的所有 特征值的乘积。 如果您找到 特征值 1、2 和 3, 希望 A 的行列式为 6。 如果不是, 那么您就犯了一个错误。 另一种方法是 计算 A 的迹线。 A 的迹线应该等于 所有特征值的 总和。 如果您找到特征值 1、2 和 3,那么总和为 6。 希望 A 的 迹线也将是 6。 您还记得 迹线是什么吗? 沿前导对角线的 所有元素的总和 是方阵的迹线。 您可以将它们 汇总在 A 中。这就是 所有特征值的总和。 我的写法是... 我在这里用了 mᵢ, 因为这是可能的, 就像系统的极点 可以重复一样, 对于一个 n 阶系统, 您必须具有 n 个极点。 同样,您必须有 n 个特征值。 但它们可能并不 完全不同。 其中一些可能是相同的。 如果有两个或 更多相同值, 那么该特定极点 或特征值称为 具有 2、3 或 4 的倍数, 不管它是什么。 您必须记住, 当您这样做时, 可能有多个重复的特征值。 考虑到这一点, 这就是 mᵢ 在 这两个方程中的含义。 这些是特征值。 您通常会首先找到 这些值,因为您需要信息 来计算特征向量。 特征向量是 通过求解 A 减去 λi 乘以 I 这个方程得到的。 您知道 i 是什么。 您现在有 n 个 这样的方程要解。 您正在寻找它的解。 这个方程有一个 非常明显的解, (A - λᵢ)wᵢ = 0。 wᵢ 为零,那么您就 找到它的解。 这是不允许的。 这就是所谓的无效解。 您要得出的是 非无效解, 这意味着不得 将 wi 0 添加到该方程中。 满足这一点的向量 属于 A 减去 λ i I 的零空间。 MATLAB 中有一个 很好的小脚本, 称为 null, 我稍后会向您展示, 它允许您计算 这些特征向量。 您已经找到了特征值。 您肯定会获得 n 个特征值。 希望您会得到 n 个特征向量, 但可能不会如此。 这要看您的运气了。 首先找到特征值, 然后利用这些信息来 查找特征向量。 当您写下特征向量时, 通常的做法是 对它们进行归一化, 以便其长度为 1。 方向不会因为 您改变了其中 元素的大小而改变, 这是必然的。 例如,这里是有人 发现的一个特征值, -1、0.5456、0.5981。 如果您计算它的 2 范数是多少, 也就是将这些 元素中的每一个进行平方, 将它们加在一起, 然后取平方根, 这就告诉您 该向量的长度。 也就是所谓的 2 范数。 您要做的是将每个 元素除以该长度。 它的长度 刚好是1.2866。 这就是这个向量的长度。 三维向量, 您可以想象它 在三维空间中有多长。 1.2866。 然后,您将每个元素 除以 1.2866。 在这里的 这个表格中写下。 这意味着 它已标准化。 我们稍后要 做的一些计算 需要对特征向量 进行归一化, 以便其长度为 1。 这就是具体做法。 我想以您可以 想象的方式提供 一些特征向量示例。 我选择平面中的 四个特征向量 而设计。 第一个是 不等比例。 不等缩放是很容易识别的, 因为这样的矩阵 是对角矩阵。 其对角线包含 两个不同的数字。 例如,在平面中, 我们有一组正交坐标 x₁、x₂, 这种缩放会改变 向量 v1,从这个方向 v1 到这个方向。 它的长度也不同。 如果您在 v1 周围 绘制一个矩形, 在 v2 周围绘制一个矩形, 那么在不等缩放的 情况下,该矩形的 大小、长度和 高度会有所不同。 试着想想 在这种情况下 不会改变方向的向量。 只有两个。 有这个 w2, 还有这个 w1。 您对它们执行什么 操作都无所谓。 在这种情况下, 它们的长度可能会有所不同。 但它们的方向 肯定不会改变。 这里有两个特征向量, 1 0 和 0 1, 它们用这个 正交坐标系表示。 这就是不等比例。 如果 k1 和 k2 相同, 那么您将获得相等缩放, 这意味着您从哪个向量 开始并不重要, 它的方向始终不会 改变。 您仅更改了它的长度。 在本例中, 它的特征向量在哪里? 当然,x₁ 和 x₂ 会是特征向量, 但平面中的其他每个向量 而设计。 您通常会选择 两个正交向量。 关于特征向量的一点是, 它们是正交的。 它们彼此指向 不同的方向。 您通常会选择这两个, 但您可以根据需要 选择任意两个。 这是一个类似的 矩阵类型的示例。 旋转一下会怎么样? 这恰好是我们之前 谈到的逆向派克变换。 它代表平面中的旋转。 在这种变换下, 一个向量 v1 旋转了一个角度 θ。 那么在此之后, 哪两个向量的方向 没有改变呢? 答案是,平面中的 所有向量都会改变。 在本例中, 特征向量是复数。 我不知道如何在 PowerPoint 上绘制复向量。 您必须相信我, 它们是复数。 第四个示例 称为剪切示例。 想象一下,绘制到 v1 角的 第一个矩形是 一块橡胶或其他东西。 您将它的顶部边缘推开, 使其处于剪切状态。 显然,v2 现在具有 不同的方向 [听不清]。 这里有一个 平行四边形。 很显然,沿 x₁ 轴的 向量 w1 在剪切下方向不变。 但可以肯定的是, x₂ 方向不变是不正确的, 因为这有点被 推向了那个方向。 因此,x₂ 不再 是特征向量。 没有其他任何向量。 这是一个变换矩阵的示例, 它只有 1 个特征向量, 但有 2 个与之关联的 工具。 它称为退化矩阵。 我们举个例子来 证明为什么会这样。 如果我们有这样一个示例, 它的特征值在哪里? 它的特征值将是 λ I 减去 A 等于 0 的解。 它是一个标量。 您将在这里得到的是, 我们要取行列式的 矩阵将是 λ 减 1 减 k 0 和 λ 减 1。 这是我们 需要的行列式。 是什么呢? 它将是 λ 减 1 的平方等于 0。 这里有两个 相等的特征值。 两个相等的 特征值意味着 您可能会得到 1 或 2 个 与它们关联的特征向量, 因为只有当您有 重复的特征值时 才会出现退化。 这个显然具有 重复的特征值。 遗憾的是,我们 失去了一个特征向量。 当时我本来 要做一个教程的。 但我要跳过这个 琐碎的问题。 我不想谈论 状态响应, 以及如何 在时域中进行计算。 我想提醒您,首先, 如果您想解决一个 一阶齐次微分方程, 您将如何处理它? 最直接的方法是 通过一种称为 分离变量的方法。 这是一个一阶 常微分方程。 没有偏导数。 除了 x 之外 没有其他项。 因此它是齐次的。 您要做的是, 将 x 分离在一侧, 将 t 分离在另一侧。 您要将 两侧都除以 x, 并将两侧乘以 dt。 现在,方程式中的 这两个变量 分离开了。 现在我们可以 求左侧数据的积分。 这是个对数。 右侧仅包含一个常数。 我们将求出 常数的积分。 我们将选择 两个积分限, 我将称之为 t0 和 t。 现在可以求值了。 这个常数 a 可以提出来。 您最终会在 右侧得到 t 和 t0 之间的差。 然后您有两个 对数的比率, 如果您喜欢 [? 表单。?] 左侧。 您可以执行的 操作是,采取指数 来摆脱那个 讨厌的对数。 将 x(t0) 移到右侧。 这就是您最终得到的结果。 顺便说一下, 有时符号 会有点混乱。 a 是一个常数, 您必须记住这一点。 这不是一个 时间函数。 它是 a 乘以 t 和 t0 的差。 出于这个原因,有时, 当人们将其写出时, 他们将 a 放在 括号的另一侧, 以表明我们 不是在处理 时间函数。 但我打算这样留着, 因为这是我 习惯的方式。 现在得到的和 一阶微分方程的 结果差不多。 这是一个包含 指数的解。 这个指数的 指数里有 a。 当您处理向量方程时, 绝对没有任何变化。 只是您必须意识到 您处理的是向量 和矩阵,而不是 α 和 β 值。 对于方程 x 点 等于 a 乘以 x, 其中 a 是一个矩阵, 所以这是状态方程的 齐次部分, 它的解只是 e a(t-t0), 只要 a 是时间不变的, 然后乘以 x(t0)。 现在求出了齐次方程的解。 这是昨天的补充函数, 因为它没有考虑输入。 唯一需要做的 就是计算矩阵指数。 我想昨天的笔记里 没有您这样做的方法。 但是有一个 很简单的方法 涉及到 a 的幂级数。 您只需继续, 取 A 乘以 t 的幂, 不管这个幂是什么阶乘。 只需根据您的需要 使用相应数量的项, 就可以获得所需的精度。 这是矩阵指数的级数解。 这只是问题的一半, 因为我们已经求解了 齐次状态方程。 但您应该知道, 有 Ax 加 B 乘以 u。 因此,我们还需要 求解非齐次部分。 我们所做的与 针对标量的情况相同。 我们假设有一个解, 然后把它代回去, 看看是否合适。 我们 [? 调谐 ?] 的解 e^At,因为这是 我们刚刚找到的 齐次部分的形式, 乘以某个未知函数 c(t)。 我们还不知道 这个函数是什么, 但我们假设 有一个函数。 如果我们要用 这个作为解, 它最好符合 这里的第一个方程。 让我们看看是不是这样。 我们将对其求导。 它是两个函数的乘积。 我们需要用 乘积法则求导。 首先,我们对 e^At 求导。 这样我们就可以得到 A 乘以 e^At。 保持第二部分不变。 然后在第一部分 添加乘以 c 点 t, 这就是 左侧求导的解。 抖动。 在右侧, 我们将解代入 x(t) 的位置。 最后,您将得到 A 乘以 e^At 乘以 c(t) 加上该输入, B 乘以 u(t)。 您可以看出, 这些项会抵消掉。 两侧的第一项 可以消掉。 最终 [? 有 ?] c 点 t, 将这一项移到另一侧, 等于 e^-At, 因为您已经 将指数移至另一侧, e^-At 乘以 B 乘以 u(t)。 这就是 c 点 t。 我们需要求它的 积分以得出 c(t)。 现在,我们得到了 我们认为的那个函数。 现在,我们将它代回 x(t), 看看这是不是解。 它是一个解, 只要 e^At 移至另一侧。 最终这一侧为 e^-At。 这就将积分带入了这个方程。 这就是非齐次部分的解。 这就变成了 特定积分或者 解的稳态部分。 就在昨天, 当我们讨论 瞬态和稳态部分时, 或者 [? 自由和 ?] 强制部分, 或者特定积分的 补充函数, 它们都是相同的。 这是一个特殊的积分。 总解是这个加上 上一行齐次 部分的原解。 那就是。 还记得我们 定义状态的时候吗? 我告诉过您, 您需要三样东西。 您需要 x(t0)。 您需要处理的区间。 您需要 t 和 t0 之间有一个 u。 这就是解这个方程 所需要的量。 您需要知道 x(t0) 是多少。 您已经知道 A 和 B。 您需要知道 x(t0) 是多少。 您需要知道 在 t 和 t0 之间 计算结果的积分。 您需要知道这个 区间内的 u,即 u(τ), 因为 τ 是积分的虚变量。 如果您知道这三点, 您就能解出状态。 如果您知道状态 是什么,输出就是 这个和 u(t) 在 同一区间内的 代数组合。 您只需代入解 即可找到输出。 好,就是这。 我们需要这三个量 来定义状态是 有原因的。 您这样定义状态 是因为您需要 它们来定义系统的 瞬态响应。 接下来我将谈谈 离散时间系统。 我想您会看到 这个理论和 连续时间系统非常接近。 事实上,今天的 前两部分没有 区别。 当我们设计 闭环系统时, 差异将变得明显。 唯一不同的是, 我想状态方程中有三处 方程。 首先,我们现在处理的 是样本系统。 自变量是样本指标, 而不是连续时间。 第二是系统矩阵 从 A 变成了 C。 第三是输入矩阵, 或者驱动矩阵, 从 B 变成了 γ。 对于一个 n 阶系统, 有相同数量的 输入和输出, 这些矩阵的维数 不变。 我把尺寸放上去。 如果您用我之前 展示的图改变 一下符号, 您会发现这是 同一个图, 期望积分现在被 这里的延迟元素所取代, 因为状态向量 相对于 x(k+1) 延迟了 一个采样区间。 这不是积分, 也不是 n 个 并行积分。 现在是 n 个并行延迟。 得到 ζ -1 乘以 I。 这样写 Iₙ 意味着 单位矩阵的维数。 通过这样写,您可以看到 它是一个 n × n 矩阵。 维度就是时间。 如果您想用一个漂亮、 紧凑的符号来表示它, 可以在大括号之间使用 ΦΓCD。 它的意思和 A B C D 一样。 另一个区别是, 您用的是 延迟元素 而不是积分器。 我们来看看如何 从连续时间变换到 状态空间表示。 状态向量的解就是这个。 x kT + T 必须 满足我刚刚 给您的状态方程的解。 因此,样本周期 开始时是 e^At 乘以 x, 也就是 kT。 然后您得到了 和之前一样的积分, 但是这是一个 采样周期内从 kT 到 kT + T 的积分。 在积分中做一个 简单的变量更改 就得到了这个。 我们现在除了改变变量 什么都没做。 当我们执行此操作时, 我们假设一个 零阶保持器作用于 T 时刻的输入和 T + kT 时刻的输入, 所以在这段时间内 输入是静态的。 因此,u 是不变的。 它是一个常数, 可以在积分之外。 B 也是常数, 因为它是一个 线性非时变系统。 这也可能会出现。 不要试图将它们 放在积分的左侧, 否则,您将违反 有关向量和矩阵的 一致性要求。 这个积分必须 给出 n × 1 向量结果。 否则,不能将其 添加到第一项 以生成左侧的项。 当您计算这个的维度时, e^A 乘以某一项, 这将是一个 n × n 矩阵。 B,我们已经知道是 n x r。 它具有 [? m ?] 列和 r 行。 状态数量 决定行数。 输入的数量 决定列数。 得到了 n x n、n x r x 1。 当您这样做时, 结果是 n × 1。 您必须将这些因素 计入积分的右侧。 现在这些。因此必须选择因为这是一个 常数,e^A 乘以某一项 将变成一个常数, 因为我们使用的 是零阶保持。 您可以说,该项 e^AT 是一个常数。 积分也是如此。 您可以将这些视为 单独的矩阵。 我们所做的是 将 φ 这个矩阵 定义为 e^AT。 然后变为 φ 乘以 x(kT)。 无论这个积分 在 0 和 T 之间是什么, e^Aη 乘以 d 乘以 η 乘以 B。 B 包含在 这个定义中。 这将成为 λ。 这是新的输入矩阵, 或者对于离散时间案例, 这也是驱动矩阵。 您永远不需要这样做, 但这就是这些 矩阵的由来 以及它们与连续时间 情况不同的原因。 MATLAB 将为我们完成 所有这些艰巨的工作。 我们得到了一个差分方程, 一阶差分方程。 将差分方程 在采样间隔内的 演变过程制成 表格是很 进行切换。 在 T = 0 时, 我们假设 此时输入为 0。 您只得到 x 为 0, 不管它是什么, [? 乘以 T ?] 等于 1。 现在,您可以将 x(0) 代入其中。 当 k 为 1 时,您已经 得到了...是的,好了。 我想应该是左侧。 我想,这里应该是 k+1。 这是 1。 φ 乘以 x(0) 加上 γ 乘以 u(0)。 当它是 2 时, 下一个样本进入 [听不清], 您得到了下一个样本, 下一个状态向量等于 φ 乘以您刚计算的 先前状态向量。 就是这个。 φ 乘以先前的 状态向量加上 λ 乘以新的输入。 然后继续。 下一次,您得到 x(3) 等于 φ 乘以 x(2), 这是您刚刚计算的。 它在括号里变长了, 加上 λ 乘以 u(2)。 当您执行此操作很多次后, 您会意识到这里 出现了一种模式, 因为您得到了 φ, 它不断增加, 这意味着您得到了... 第一项始终为 x(0)。 这将变为乘以 您在该采样间隔内 碰巧处于的 φ 的任何幂。 这是它的一部分。 剩下的就是 涉及 λ、φ 和输入的 乘积的求和。 这就是解。 这是一个很乏味的练习, 因为有很多括号 和扩展。 但这是离散时间状态方程的解, 可以将其直接代入输出方程 得到闭合形式的 离散时间输出方程, 就像这样。 我们来做一个快速教程。 现在是教程 5.3。 我将绘制系统教程 5.1 的 状态响应图。 这是降压转换器。 我将使用第二种方法 来获取等效的 离散时间方程。 我们使用的是 阶跃不变法。 它称为零阶 保持等效法。 我们会检查它的 状态轨迹, 这在实验室里 操作并不难。 我来演示一下 我们是怎么做的。 首先,我们将创建 状态空间表示, 方式与上一张幻灯片中 针对开关转换器 执行的操作相同。 希望您信任我 最终得到的结果。 我们将画出 它的阶跃响应, 正如我们之前所做的那样, 在 2 毫秒的间隔内 记录结果, 然后绘制出来。 这就是阶跃响应。 见过几次。 现在我将 绘制状态。 状态绘制在 同一张图上。 x₁ 和 x₂ 是 不同的轴。 这就是阶跃响应。 最初,我们的输入是 0。 状态在这里, 因为 x₁ 和 x₂ 都是 0。 然后我们输入一个阶跃输入, 使对象进入 一个不同的稳态。 它是振荡的, 所以发生的情况是 这些状态相互作用, 产生看起来不错的螺旋。 我能做的就是 将这些信息用 时间为轴的 三维形式表示出来。 它沿着这个方向。 这是 0 到 2 毫秒 之间的时间。 然后是 x₁ 和 x₂ 轴, 它们是平面。 这是背板。 您可以看到状态 正以这种方式演变。 我想,如果我将它倾斜, 然后从一端看, 看到的确实是螺旋。 只是 x₂ 轴是垂直轴, x₁ 是水平轴。 我用另一种方法来 表示前面的图。 如果您愿意, 您也可以用这种方式 表示信息。 有时,这是有帮助的。 最后,我们要 将其离散化, 并再次显示 同类信息。 记得昨天,我们在 MATLAB 中 使用了 c2d 脚本, 它将连续传递函数表示 转换为离散传递函数表示, 没有什么能阻止我们 用状态空间表示来执行 情况。 执行此操作时, 一定要使用零阶保持方法, 因为这就是这里 完成任务的方法。 我们将使用 与昨天相同的 采样频率。 在工作场所内, 过一会儿, 您会看到我们 得到一组不同的矩阵,C、 λ、φ 和 d。 这些是状态 空间矩阵。 它是一个物理系统。 我们通常具有完全 正确的传递函数, 最终它将为我们 提供一个 d 矩阵,该矩阵为 0。 您可以在屏幕上看到。 现在我们来 绘制它的输出。 绘制输出时, 与之前的操作一样。 这里有 y、t 和 x。 这些是将创建的数组, 用于保存输出、 时间向量和 状态向量。 我正在执行步骤 GSSD, 这是在之前的脚本 和时间中通过 SS 创建的系统。 但不同的是, 当我绘制响应时, 我不再使用 plot 命令。 我使用的是阶梯,因为这是 一个离散时间系统。 它会有价值 [听不清] [? 对时间 ?]。 我们知道它是离散的, 因此最好用阶梯图来表示, 而不是用平滑的 曲线来连接它们 因此,您需要使用阶梯, 而不是绘图。 当您运行这个脚本时, 您会发现它看起来非常非常 类似于连续时间情况。 但是如果您放大这部分, 让我们随机取一个峰值, 您会发现它实际上 是阶梯状的, 因为它是一个 离散时间系统。 阶梯能够帮助您做到 这一点,而绘图却不能。 我想您可以使用 与之前相同的练习, 以任何一种形式 来表示这一点。 如果您向下看 它的相位平面, 就会出现这种情况。 当您与坐标 成 45 度角时, 您可以看到阶梯状。 这就是它的表示方法。 无论它是连续时间, 还是离散时间, 这并不重要。 您可以用同样的 方法来处理。 在继续之前, 我想谈一谈 自主响应。 下一部分将讨论 关于相位图的话题, 它只与二阶系统 系统。 我们以后不会使用它们。 如果您以后要 研究非线性系统, 它们将是有用的 背景信息。 因此我想从 这方面介绍它们。 但我也认为,相位图 可以帮助我们 深入了解动态 系统的一般行为。 因此,即使我们以后 不会用到这些信息, 我认为将它们呈现 出来也是有帮助的。 它是基于方程的 齐次响应。 这就是齐次响应。 不是输入。 我们可以检查 方程的解, 因为它会根据 初始条件产生 有趣的动态。 看看初始条件 响应将是什么。 这将是两个独立的方程, 其中特征值起着 基本作用。 如果初始条件在这里, 平面上的 x(t0), 它会随着时间的推移而变化, 因为我们完全不干预。 想想一些动态系统, 您将它们从平衡 位置发生位移, 然后放开。 这是一个 初始条件响应, 因为系统没有输入。 它会不停地摇摆, 直到最后达到 一个平衡点。 在 t0 和 t1 之间的 某个时间间隔内, 轨迹的行动 正如这个三维图中 所示。 如果您转动它, 从而向下看时间轴, 您可能会看到 这样的画面。 如果您要选择 不同的初始条件, 那么 x(t0) 将是 x₁ x₂ 平面中的 不同点。 如果您进行 相同的测试, 会得到不同的轨迹。 [听不清] 是的。 t 轴出现就在这里。 [听不清] 否。 我可以使用 PowerPoint 执行的操作是有限的。 但在这里,您可以看到 向量 x₁,是在右下方 日志面板中。 在时间 0 处,就在那里。 而在这里, 它是反方向的。 PowerPoint 不是 最好用的工具。 我正在尝试...您说得很对, 但我尽我所能。 总之,我想说的是, 如果您有一个 不同的初始条件, 将会有一个 不同的轨迹。 如果您对此 非常着迷, 选择了 100 个 不同的初始条件, 并绘制出它们的 表现方式, 那么您将拥有 一组独特的图形。 这些被称为绘图。 如果您使用相位 变量方法 选择了 x₁ 和 x₂, 则它们被称为相位图, 其中 x₂ 是 x₁ 的导数, 反之亦然。 您有了一张 特定的绘图, 称为相位图。 事实证明, 对于线性非时变系统, 您进行此练习时 出现的模式 属于六个类别之一。 此处引用的名称 是指平衡点的类别, 对于线性系统而言, 平衡点始终是原点。 这些模式分为以下 类别:稳定节点、 稳定焦点、中心。 这是三个稳定类别。 还有三种不稳定类别: 不稳定节点、 不稳定焦点 和鞍点。 这张图出现 在您的书中。 这是我在 PowerPoint 中 所能做到的最好的。 但我要参考下一行, 它传达了同样的信息, 但看起来更美观。 没有其他原因。 我在 MATLAB 中 针对不同的系统 执行了此操作。 您可以看到, 由于每个轨迹的 起点不同, 我在 x 和 y 方向上 使用的数组 在正负 5 之间。 每一行的每个起始点 都指示一个初始条件。 我对它们进行了 颜色编码,因为它们 在您的书中都是灰色的。 但我在幻灯片上 对它们进行了颜色编码。 您可以看到, 对于一个有两个实数 且稳定的 特征值的系统, 请记住特征值 和极点是一回事, 最终会得到一个 称为稳定节点的平衡点, 因为所有这些轨迹 会形成一个非常平滑的 [听不清] 指数内容。 您可以找出一条 经过原点的直线。 对于这种好情况, 这种好方法不会 产生任何漩涡。 -1 和 -2 是 是实数、稳定的特征值。 您总是会得到一个 像这样的模式,称为稳定节点。 如果您遇到 共轭复数极点 或共轭复数特征值, 并且它们是稳定的, 那么您会得到 类似的稳定响应。 但现在,它不会沿着 这里的一条线移动。 将发生的情况是, 由于引入了振荡效应, 这看起来像是 一个正在发生的涡流。 您会看到一个 正在发生的漩涡。 这些特征值不是 很复杂,1 ± 小写 i。 如果特征值的 虚部更大, 那么这种漩涡 就真的失控了。 您最终会得到我们 在上一张幻灯片上,也就是 上一张 MATLAB 图上看到的内容。 那里有一个 真正的漩涡。 但是您可以识别出 它的稳定焦点以及 它与稳定节点的不同之处。 当您具有纯虚特征值时, 平衡点是一个中心。 您应该知道,具有 纯虚特征值的系统 会无限期地振荡。 振荡会一直持续下去, 永远,永远。 这也反映在您 最终得到的结果中, 这是一系列振荡, 其幅度取决于 初始条件。 如果您将它 移得更远, 振荡的振幅就会更大。 初始位移越小, 振荡就越小。 最后就形成了 土星环效应, 这里有一个中心, 这个平衡点叫做中心。 对于不稳定的特征值, 您会得到相同类型的图。 但它们不稳定。 一个不稳定节点 由实数特征值组成, 就像稳定节点一样, 但至少有一个 位于右半平面。 在本例中,它们都在。 抱歉。 它们都位于 右半平面上。 这就是不稳定节点。 您可以看出它不稳定 只是因为坐标轴。 很显然,我们遇到了 这样一种情况: 如果时间变得无限, 那么轨迹就是无界的。 不稳定焦点 意味着您 有一对共轭复数特征值, 这两个值都 位于右半平面中。 由于涉及到振荡, 漩涡效应 继续存在,但振幅 无限增加。 最后,如果您有 两个实数特征值, 但其中一个是稳定的, 另一个是不稳定的, 这就会产生所谓的鞍点。 这是平衡点的名称。 鞍点。 因为轨迹是从 最佳意图开始, 朝着平衡点前进。 然后它们改变主意, 朝着不同的 方向无限前进。 它们被吸向一个方向 又被另一个方向排斥。 这是一个鞍点。 您已经得到了 这种模式。 我们讨论的系统类型的 意义在于, 昨天我介绍了 如何将经典二阶系统 写成传递函数形式, 其中包含两个变量, 称为阻尼比 与无阻尼 固有频率的乘积。 回忆一下 ζ 和 [? Ω m ?]。 我还向您展示了, 瞬态响应的形状 仅取决于 ζ。 因此, 我认为在改变 ζ 时 观察初始条件的 演变会很有趣, 而且确实很有趣。 在左侧,我得到了 以相同的相位平面格式 呈现的自主响应。 但初始条件 保持不变。 x₂ 为 1,0 为 x₁。 这始终保持不变。 每条曲线之间 唯一不同的是 阻尼比正在变化。 昨天您就知道了, 当您将阻尼比从 一个非常大的数字 更改为小于 1 的 非常小的数字时, 响应会从过阻尼变为欠阻尼。 然后开始 出现振荡。 从逻辑上讲, 您会期望它 反映在相位图中。 右侧是系统的输出。 对于变化的阻尼比, 一个非常大的阻尼比 会形成这些 指数形状的曲线, 这些曲线的反应 越来越快,直到 您在幻灯片上看到 这种紫色的曲线, 这实际上是临界阻尼的 情况,其中 [? zt ?] 等于 1。 没有与此 相关的下冲或 振荡。 但它具有 最短的响应时间。 同样的, 在左侧, 这就是相位图的作用。 看,它们遵循一种 稳定的节点行为, 直至到达这个紫色的节点。 一旦我们进一步 降低阻尼比, 在输出响应中看到的振荡 必须在状态响应中捕获。 这不是别的什么。 状态方程是所有 动态发生的地方。 相位图的形式 会变成一个稳定焦点, 其中涉及到的漩涡, 然后那种越来越长的 振荡反映在 我们在聚焦于此 之前绕过原点的 次数。 这是一个稳定焦点。 就相位图而言, 稳定节点和稳定焦点 之间的这种过渡 相当于阻尼比 从大于 1 到小于 1 的 过渡。 它们 ?] 与之相关。 接下来,我们做一个 仅供娱乐的教程。 教程 5.4。 教程 5.4 指出, 我们将查看 四个独立的 2 x 2 矩阵。 检查它们的 初始条件, 并画出它们的相位图, 然后对每个 相位图进行分类。 除非您非常出色, 否则您将无法 仅查看这些矩阵, 就能准确地告诉我 是什么形状。 您必须计算出特征值, 然后再进行计算。 让我们在 MATLAB 进行。 我得到的是第一个矩阵, 上面是- 1 - 1, 下面是 1 和 0。 我将建立状态空间系统, 所以使用 ss 命令。 但我们对 B、C 和 D 不感兴趣。 我们只对初始条件 响应感兴趣, 它只涉及 A。 我们执行初始 GSS。 为其提供初始条件。 我将在 x₁ 和 x₂ 轴上 使用 -2 和 +2 之间的初始条件数组。 这就是初始 起点的数组。 我们让它从每一个 起点开始, 并为第一个 构建相位图。 这就是我们得到的响应。 谁愿意对这个 响应进行分类? 首先,这是稳定的 还是不稳定的? 这是稳定的,对吧? 看看轴。 您可以看到它很稳定, 介于正负 2 之间。 它变得越来越小。 这 [? 比较稳定。?] 您认为这是 什么分类? 稳定焦点。 这是一个稳定焦点。 完全正确。 它有您所期望的 那种涡流, 因此,我们得到了 什么样的特征值? 您能否-- 复数和左半边 平面,对吗? 的确如此。 在脚本的底部, 我有一个命令 eig(A)。 请记住,eig 和 极点的作用相同。 它会告诉您 特征值或极点的位置。 它们是一回事。 但它考虑的是矩阵, 而不是传递函数。 它告诉我, 特征值是 -5, 这是实数部分, ±j 0.866。 实际上,我们有 共轭复数特征值。 它们是稳定的。 让我们来看看 四个矩阵中的第二个。 我所要做的就是取消注释, 这里的这一行将从脚本中取消注释。 我们想尝试一下。 首先,我们是在处理 一个稳定的系统 还是不稳定的 系统,您觉得呢? 不稳定,是吗? 我们有一个 2 x 2 数组。 您可以看到这个正方形 是起点的数组。 但这里的轨迹 正朝着两个方向前进, 正负 15。 您觉得我们 该怎么分类? 鞍点。 鞍点。 很好。 关于特征值, 这告诉了我们什么? 后面有人告诉我们 [? 这。因此必须选择转换器。 一个稳定,一个不稳定, 同时它们也是真实的, 因为一个是 [? 不稳定 ?], 一个是 [? 不稳定。因此必须选择 完全正确。 如果我们在 MATLAB 中找到它们, 它们在 -2 处, 这是稳定的, 在 +1 处,是不稳定的。 因此,第二个矩阵中 有一个鞍点。 您能否-- 我要在所有这些中 选择相同的初始值。 它是两个方向上 -2 和 +2 之间的 数字数组。 为什么选择 -2? 为什么不选择 -10? 如果您需要, 可以选择 -10, 但这不会改变 相位图的形状。 相位图是系统 矩阵的一个属性, 而不是起始值。 您能否-- 让我们回到 之前的案例, 再看一下。 抱歉。 稍等我一下。 这是之前的案例。 边界为正负 2。 是的。 [听不清] 这就是它 响应稳定的原因。 我们来看看第三个。 第三个是 这个家伙。 您能否-- 我们开始吧。 稳定还是不稳定? 您可以 [? 查看 ?], 很显然。 它是一个稳定节点。 您能否-- 它是一个稳定节点。 好。 是的。 之所以是稳定节点, 是因为一切都 遵循一个表现 良好的美观曲线, 形成一条直线。 它从两侧 以直线接近 平衡点, 在这种情况下, 平衡点称为稳定节点。 因此,我们得到了 什么类型的特征值? 您能否-- 实数且稳定。 您现在已经 掌握了这个方法。 它们位于 -2 和 -1 处。 您可以在这个屏幕上看到。 最后一个就在这里。 让我们来试试, 看看会得到什么。 稳定还是不稳定? 不稳定。 [听不清] 有任何疑问 [? 关于。因此必须选择这是什么? 您能否-- [听不清] 聚焦。 [听不清] 它是 一个不稳定焦点。 您可以看到有... 除非放大,否则 很难看到。 分辨率将降低。 但是有一个与之 相关的漩涡。 我们会怀疑特征值 在右半平面上 并且是复数。 好。 是的。 它们是 共轭复数,对吗? 呃,不。 它们不是。 结果表明, 没有一个稳定焦点。 它是一个稳定节点。 是的。 好的。 我把手放到它上面。 也许,我应该选择 更好一点的缩放。 是的。 好的。 我也被骗了。 这是我自己的教程。 这是我自己犯的 愚蠢错误。这是一个稳定节点, 因为这是一条直线, 它们都在这条 直线上远离它。 我的错。但我们还是很开心。 不管怎样,我觉得很开心。 现在进入最后一部分, 我想将状态空间 描述和传递函数 联系起来。 然后,我们将停下来 喝杯应得的茶。 状态方程可以 转换到拉普拉斯域, 就像它是一个常微分方程, 也就是微分方程的标量形式。 这就是使用拉普拉斯 变换进行变换后 得到的结果。 记住, 左侧有 x 点。 这是一个微分。 最终得到的是 s 乘以 x(s) 减去 x0。 请记住,当您进行 一阶拉普拉斯变换时, 会出现我昨天 向您展示的 这里有一个初始条件点。 左侧和右侧 都有包含 x(s) 的项。 我们可以将它们放在左边, 并表示我们有 s 乘以 I 减去 A 乘以 x(s)。 我只是没有包括 那个中间步骤。 将 x0 置于右侧。 右侧变为 x0,[? 初始位置, ?] 加上 B 乘以 u(s)。 然后我们需要... 我们可以乘以 这个矩阵的倒数, s 乘以 I 减 A。 左侧有 x(s)。 这就是我们 感兴趣的量。 这是它的解。 乘以 x0 加上 s 乘以 I 减 A, 乘以 B 再乘以 u(s) 的倒数。 sI - A 这个矩阵 非常重要。 您马上就会明白为什么。 它被称为方程组的解, 或者 A 的 特征矩阵。 它的行列式是 我们需要定义 系统特征值的方程。 您能看到它的行列式 将为我们提供 s 中的 n 阶多项式吗? 您现在得到了一个 拉普拉斯方程, 它是状态方程的解。 您可以直接将其插入 代数输出方程中。 结果是这样的, 底线是 1。 如果我们进行 通常的近似计算, 假设初始条件为 0, 我们将通过消去右侧的 第一项来简化 这个方程。 然后删除自变量, 因为我们知道我们现在 谈论的是拉普拉斯。 然后您得到 y 等于 C 乘以 A 乘以 B 加上 D 的倒数乘以 u。 现在,y 在左侧, u 在右侧。 它们的比值 就是传递函数,对吧? 这就是我们昨天看到的。 y 除以 u 等于 G。 它等于 C 乘以 解乘以 B 加上 D 的倒数。 我得到的是一个 表示传递函数的 矩阵方程, 除了现在左侧的 项有一个维度。 它不再只是 一个传递函数。 它是一组传递函数。 它称为传递矩阵。 该矩阵中的每个元素 都是其自己的传递函数。 让我们看看 这个转移矩阵的结构。 事实是, 它包含的是 解的倒数。 这个 sI - A 称为解。 这是它的倒数。 现在请记住, 如何定义矩阵的倒数。 您能否-- 说得对。 这是用行列式 除以伴随项,对吗? 我们先来看看解的伴随项。 当您计算伴随项时, 您还记得怎么做吗? 您取矩阵中的 每一个元素, 然后删除它 所在的行和列。 然后计算剩下的行列式。 这就变成了 所谓的余因子。 然后加或减 1 乘以 它们的转置变成 伴随矩阵。 这有点复杂。 但重点是, 通过删除行和列, 您将得到一个不再 具有 n 次的多项式。 次数最多比它小 1。 伴随矩阵中的 每个元素的 次数都不能 大于 n - 1。 如果您愿意, 可以把它 表示成 s 的幂和。 每个 [?z ?] 矩阵 都代表了它最后的 每个多项式 中的一个系数。 关键是,伴随矩阵的 次数是 n - 1。 但行列式不是。 行列式的次数是 n。 因此,当您形成逆矩阵, 并将伴随项除以行列式时, 您将得到一个矩阵, 该矩阵是一个具有 严格正确传递函数的 传递函数。 它一定是这样的,因为当您 在这里写出余子式时, 就失去了阶数。 阶数下降了 1。 这个解肯定有一个阶... 这个反解的阶是 n, 而且它是绝对正确的。 矩阵中的每一个元素 都必须是绝对正确的。 我们将它代回 原来的方程, 看看会发生什么情况。 我们得到 G 等于 C 乘以解的倒数, 因此伴随矩阵是 [听不清]。 您知道那是完全正确的, 乘以 B 加 D。 将它们放到相同的分母上。 我们用这个 行列式乘以 D。 您得到 C 乘以 伴随矩阵 (sI - A) 乘以 B 加上 行列式 sI - A 乘以 D。 重要的是, 这一项有 n - 1 次,C 乘以 伴随项 (sI - A) 乘以 B。 这是 n - 1 次。 右侧的项,s 乘以 A 减 I 行列式乘以 D, 它是 n 次。 分母是 n 次。 转移矩阵 G 的元素是什么? 如果 D 不为零, 分子和分母的阶是一样的。 G 的元素将是正确的, 但不是绝对正确的。 m 和 n 将相同。 如果 D 为 0, 右侧的这个项 将会消失。 它有 n - 1 次, 分母是 n 次。 因此,转移矩阵元素 必须是完全正确的。 当您有一个完全正确的 转移矩阵时, 您会得到一个 D 矩阵且为 0, 反之亦然。 当您得到一个 合适的转移矩阵, 具有相同极点数和零点数。 您将会处理一个 非零转移矩阵。 它们之间有什么区别? 在大多数情况下、对于实数模型、D 将为0、因为 transfe rfunction 是严格正确的。 这是 ROM。 这就是我 得到四边形项目符号的原因。 这一点值得您花 点时间去看看。 嗯,这一点?] 在这里。 致 :[? 这些?] 点。 是的。 这是另 一个很薄的 gthat 也很重要。 有一点是、这里的这个 stransfer 函数 独立于您选择的状态。 正如我以前告诉过的, 你完全有自由 可以准确地选择您 希望的 stat 元素 得到正确的数字。 重点是 、一旦您选择了什么、您就会释放出来 执行此变压器 以获取传输矩阵、 它将始终 完成相同的传输 矩阵、独立 于您拥有的产品 选择的电流。 好,就是这。 我想 这是一般的转矩阵 其他可能对您有用的文档。 我们来做一个快速教程。 然后我们将开始 咖啡-嗯、我们将进行一个测验、 然后休息 一下、我想。 我将执行 它的第一部分- 5.1A-- 因为这是 降压转换器的一个低音扬声器。 我一直在使用它。 因此、我希望保持一致。 我们将找到 一个双效传输函数 然后验证 阶跃响应不变。 然后、希望这个预 分频器将保持不变。 否则,有些事情 就会发生可怕的错误。 我们现在就在 myLearning 中。 第一部分、 我们之前已经看到过。 因此我不会将其用工。 我们只是创建 状态空间模型。 仿真结果如下。 然后、我将通过 d OIS 来绘制输出响应 状态空间系统的性能。 抱歉。 看起来我 先绘制状态图。 此 系统有 tw ostates。 出了问题。 您能不能用 我一秒钟的时间吧? 这不是我 对系统的期望 像钟一样振荡。 我认为这一定是这样。 这必须是一个。 我想继续使用降压转换器。 我认为 这必须在教程中显示。 很抱歉、我得到了错误的结果。 也许我已经重新编写 了自 PDF 制作以来的 msince。 这更像它。 这是第二个现场测试。 数字看起来非常大 、这意味着极点可能是 左侧的一条很长的路 、即我们绘制传输时的那个 函数- wha 的函数、它的响应 可能 会很快地开始工作。 我认为这 是此时的 Buc kconverter。 是的、 这是电子网络。 操作不错。 现在、让我们转换 stat 空间描述、 传递函数表单中。 您可以使用 名为 ss2tf 的 ga 脚本执行该操作。 这 是一个很明显的脚本、真的-- 状态空间 t otransfer 函数。 您为其提供了 stat 空间矩阵 A、B、C 和 D、 您刚才找到的、或者您 通过其他方式获取的。 它返回两个数组、 我将调用 num 和 den。 您可以猜测它们是什么。 它们是 goin GTO 包含系数的数组 传递函数中分解出来。 现在、为了 满足这些要求、您需要 只需将 Minto the ts 脚本 因为 它们是系数数组。 这将会生产 传输功能、 样子的拓扑。 这是一 个 NIC 秒顺序传输 一个零点。 至少会查看 我们以前使用的内容。 然后、我要做的是 、将状态的响应进行分割 空间系统并绘制 传输的波形 信息。 希望 它们都是相同的。 以下是 stat 空间说明。 它看起来非常熟悉。 现在、当我预制 Srun 并推进时、 同样、希望这个 问题也会一样。 它将被覆盖在上面。 祝您好运、我们 的成功将会改变 是颜色、因为 它们非常完美地匹配 您将不会看到任何与颜色不同的颜色 硬件设计。 它完全覆盖了它 本身。 这个很短的演示将介绍 ss2tf 和事实 这是 一个国家的忠实代表 RAMPP 模型 让我们继续 进行小测验。 谁能给我带来 国家空间的优势 表示 男士、咖啡闻起来不错。 不是吗? 您能否-- 好的。 您可以执行多路输入 、多路输出。 当然、Matxri 函数 也是一样的、 情况。 但我会告诉您、 因为这就是原因 我们今天已经做了介绍。 您能否-- 电脑很喜欢,不喜欢吗? 是的,这是一个好问题。 最重要的一个。 [听不清] 是的。 这是您 可以代表每个系统的真正关键、 无论其复杂性如何、 都可以使用相同的方程。 这是简化的判据。 您还可以说 离散时间理论 而连续 Tim esystems 是相同的。 但我认为我们已经捕获 了所有[? 一个。因此必须选择 您已经拥有了所有这些功能。 您能定义 系统的空间吗? 现在、我要为她寻找 的是这三个数量 实际设计。 第一 个是第个初始条件、即 t0的 x。 我们还需要另外两件事情。 您能否-- 来同时解决这些问题。 好。 您需要 t 和 t0之间的时间间隔、或 t0和 t、 比如说[听不清]。