小编hen*_*xdl的帖子

如何从 Octave 的传递函数矩阵中提取元素?

我正在控制包中使用 Octave,我想采用一组传递函数(初始化如下)并提取矩阵的对角线元素。每当我尝试这样做时,都会遇到以下错误。我尝试了很多解决方法(将其转换为状态空间图、将元素存储在单元格中等),但我要么遇到类似的错误,要么最终得到一个无法再与其他矩阵交互的对象传递函数。文档中有一些未实现的函数(如 ss2ss),我认为这些函数很有用,但不可用。

我该如何解决这个问题?

初始化我正在使用的对象类型的代码:

s = tf('s');
m = inv(s*e - mat); // e and mat are just square matrices of numbers
Run Code Online (Sandbox Code Playgroud)

我用来尝试提取对角线分量的代码:

function D = getD(W) // W is of the similar type as above
    n = size(W,1);
    Dtemp = tf(eye(n));
    for i = 1:n
        Dtemp(i,i) = W(i,i);
    end
    D = Dtemp;
end
Run Code Online (Sandbox Code Playgroud)

我不断收到的错误:

error: lti: subsasgn: invalid subscripted assignment type '()'.  you must select an LTI key first, i.e.  sys.keyname(...) = ...
Run Code Online (Sandbox Code Playgroud)

请注意,当我将 Dtemp 初始化为单元格 (n,n) 时,我得到以下类型: …

octave control-theory transfer-function

5
推荐指数
1
解决办法
114
查看次数

如何在 CSS 中减慢悬停时的背景平移速度

我有一个 div 背景平移,我想在悬停时减慢速度:

@keyframes backgroundScroll {
  0% {
    background-position: 100% 50%;
  }
  100% {
    background-position: 0% 50%;
  }
}
div {
  width: 30vw;
  height: 30vh;
  background: repeating-linear-gradient(
    45deg,
    #EE0000,
    #EE0000 10px,
    #990000 10px,
    #990000 20px
  );
  background-size: 150%;
  background-position: 50% 50%;
  animation: backgroundScroll 3s linear infinite;
}
div:hover{
  animation: backgroundScroll 20s;
}
Run Code Online (Sandbox Code Playgroud)
<div></div>
Run Code Online (Sandbox Code Playgroud)

理论上,这样的东西是可行的,但它不会保留状态。我去挖掘并发现可以保留动画状态:StackOverflow-Change Animation speed on hoover。解剖之后,我发现它使用了一种幻象,归结为我的目的就是这个。我想知道是否有办法将其应用于原始代码。

html css hover css-animations

4
推荐指数
1
解决办法
126
查看次数