问题标签 [state-space]

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 投票
3 回答
913 浏览

r - R矩阵乘法

我有一个列表,R=

我想这样做F %*% R

F[1,]矩阵乘以R[[1]]F[2,]矩阵乘以R[[2]]

我该怎么做呢?

对不起。我想我被误解了。我真正想要的是F[1,]%*%R[[1]]%*%t(F[1,])F[2,]%*%R[[2]]%*%t(F[2,]) @Sven Hohenstein

0 投票
1 回答
308 浏览

visualization - 是否可以使用 SPIN 打印出状态空间?

我希望 SPIN 打印出计算的状态空间,以便我可以对其进行可视化,然后手动探索它。那可能吗?

我已经检查了诸如 -DCHECK 和 -DVERBOSE 之类的标志,但我想,这些不是我想要的……

0 投票
1 回答
4868 浏览

matlab - 使用 MATLAB 将 2 输入 2 输出传递函数转换为状态空间模型

我有 4 个传递函数,分别是 G11、G12、G21 和 G22。以及如何将这 4 个传递函数转换为状态空间模型?以下是我的代码,但是,状态空间模型的结果与使用 SIMULINK 的线性化不同。

下面的结果使用 SIMULINK 窗口中的线性分析进行线性化。

感谢您的帮助 =)

0 投票
1 回答
919 浏览

arrays - 如何从 MATLAB 中的数组生成多个状态空间

我想问一下如何从数组创建多个状态空间

输入是:

例子:

其中每一个都包含一百个各自类型(A、B、C 或 D)的矩阵。

输出应该是:

每组矩阵对应一个状态空间。

第一个系统的示例:

使用此代码

我得到了正确的输出。四个数字,一个系统 <1x1 ss>。这个:

但是,使用此代码:

虽然我应该得到 2 个与第一个相同的系统,但我得到了这个:

这是一个错误的答案。

方法一:

这已经生成了 100 个矩阵尺寸为 200x200 的状态空间,这是错误的,因为我期望尺寸为 2x2。显然,考虑了整个矩阵的维度。

示例输入向量的示例输出:

方法二:

以这个错误结束。

当前未实现使用 arrayfun ss 输出类型的错误。

谢谢你的帮助,彼得

0 投票
1 回答
1280 浏览

algorithm - 为什么状态空间是网格维度的幂集?(edX CS 188.1x 人工智能)

我正在通过 edX 课程 CS 188.1x 人工智能自学。自一年前课程结束以来,它处于“存档模式”,没有教员帮助解决问题。这也意味着我没有完成课程的功劳,所以希望在这里就“家庭作业”问题寻求帮助是可以的。

在第一个家庭作业中,提出了以下问题:

问题 9:夜间迷失的蜂巢思维 这是夜晚,你控制了一只昆虫。你知道迷宫,但你不知道昆虫将从哪个方格开始。你必须提出一个搜索问题,其解决方案是一个通用的动作序列,这样,在执行这些动作之后,昆虫将在出口方格上,与初始位置无关。昆虫无意识地执行这些动作,不知道它的动作是否成功:如果它使用一个动作将它移动到一个被阻挡的方向,它会留在原地。例如,在下面的迷宫中,向右移动两次可确保昆虫无论其起始位置如何都将在出口处。

样品迷宫

然后它询问状态空间的大小。答案为2^MN,其中 M 和 N 是迷宫的水平和垂直尺寸。为什么答案是幂集MN?在我看来,bug 一开始只能在一个方格中,而我们只有一个 bug,所以我知道开始状态的数量是MN. 但是number of start states != state space,这就是我感到困惑的地方。

仅供参考 - 每次移动的成本为 1,并且该错误一次只能向左、向右、向上或向下移动 1 个方格。目标是到达 X(目标方格)。

0 投票
1 回答
1285 浏览

matrix - 用变量 A 矩阵求解状态空间响应

我正在尝试验证我的 RK4 代码并有一个状态空间模型来解决相同的系统。我有一个具有初始条件的 14 状态系统,但条件随时间而变化(每次迭代)。我正在尝试制定 A、B、C、D 矩阵并使用syslsim以便在整个时间跨度内编译我所有状态的结果。我正在尝试这样做:

换句话说,我试图用来sto(t,14)存储从 1 到 5401 的每个时间步的所有状态的每个迭代lsim并最终得到一个矩阵。我不断收到此错误消息:

非常感谢任何有用的输入。谢谢

0 投票
1 回答
12225 浏览

r - FORECAST 包中的 STLF 函数

我正在尝试以每周为基础(每年 52 周,我有 164 周的数据)预测年度时间序列。由于频率大于 24,R 建议我使用“stlf”而不是“ets”以避免忽略季节性。“stlf”功能运行良好,我得到以下信息:

点预测给出预测值的平均值。但是,我想要的是实际预测值而不是平均值。因此,我试图了解它是如何工作的并分解这些步骤。我首先在时间序列上使用“stl”分解

然后我使用“趋势+剩余”作为新的时间序列来预测 3 个月(12 个周期)。我在下面的公式中使用“stlf”函数获得的最后一个状态向量作为初始状态向量。并将去年同一周的季节性值添加回预测值,因为“stlf”函数显示模型为 ETS(A,A,N)。

我对吗?

我尝试在新的分解时间序列上使用“ets”函数,它给出了不同的参数(alpha、beta、l、b、sigma),但没有给出任何预测值。

任何意见表示赞赏。

0 投票
3 回答
26013 浏览

java - 使用 DFS 解决 8-Puzzle

我正在寻找通过给定初始状态为 8 拼图游戏实现 DFS 和 BFS 的 java 代码:

和目标状态

我需要打印从初始状态到目标状态的解决方案路径(尚未完成)

这是我的代码。到目前为止,我只能实现 DFS。到目前为止,我的程序所做的是,一旦找到目标状态,它就会输出 SUCCESS。然而,它永远不会达到这一点。

有人可以告诉我哪里出错了吗?

0 投票
1 回答
2179 浏览

matlab - 使用 'ss' 在 MATLAB 中实现卡尔曼滤波器

我正在尝试实现一个卡尔曼滤波器来估计振荡器的状态“x”(位移和速度)。代码如下,应该很容易理解。

这是我的问题。我收到错误消息:'在“kalman(SYS,QN,RN,NN,...)”命令中,QN 必须是最多 1 行的实方阵。'。

我认为 QN = Q = const 应该是 2 x 2,但它要求一个标量。也许我不明白 MATLAB 的“卡尔曼”帮助描述中 Q 和 QN 之间的区别。有什么见解吗?

谢谢。

0 投票
4 回答
2048 浏览

matlab - 状态空间系统给出不同的波特图然后传递函数矩阵

我有一个带有矩阵 A、B、C 和 D 的状态空间系统。

我可以创建一个状态空间系统sys1 = ss(A,B,C,D)或者计算传递函数矩阵sys2 = C*inv(z*I - A)*B + D

但是,当我绘制两个系统的波特图时,它们是不同的,但它们应该是相同的。

这里出了什么问题?有人有线索吗?我知道 btw 生成的 bodeplotsys1是正确的。

系统可以在这里下载:https ://dl.dropboxusercontent.com/u/20782274/system.mat


编辑:我犯了一个小错误,传递函数矩阵是sys2 = C*inv(z*I - A)*B + D,而不是sys2 = C*inv(z*I - A)*B - D我之前写的。问题仍然存在。


编辑2:我注意到当我计算分母时,它是正确的。