【问题标题】:Octave/Matlab: Arranging Space-Time Data in a MatrixOctave/Matlab:在矩阵中排列时空数据
【发布时间】:2018-04-16 01:29:58
【问题描述】:

这是一个关于编码惯例的问题,而不是特定的错误或其他故障。

我有一个随空间和时间变化的变量值矩阵。使用不同的列作为时间或空间值的常见做法是什么?

如果有明确的惯例,首先

更新:这是表格形式的数据示例。时间向量比空间向量长很多。

t  y(x1)  y(x2)
1  100    50
2  100    50
3  100    50
4  99     49
5  99     49
6  99     49
7  98     49
8  98     48
9  98     48
10 97     48

【问题讨论】:

  • 你能提供一个minimal working example吗?
  • 如果t 是一个向量,其中值之间的差异是恒定的,则不应将其保存为向量,而应保存为范围(您的“空间”数据是等距(按时间)采样的)
  • 是的,在实际代码中我有时间作为一个范围。以上数据仅用于说明目的。

标签: matlab sorting matrix octave


【解决方案1】:

这取决于您的目标,最终并没有那么重要。这更多的是您方便的问题。

如果您确实关心性能,则存在细微差别。当您的代码遍历单调递增的内存位置时,您的代码实现了最大的缓存效率。在 Matlab 中,数据按列存储,因此processing data column-wise results in maximum cache efficiency. 因此,如果您在某些时间层频繁访问所有数据,请将空间存储在列中。如果您经常访问特定空间点的所有数据,请将时间存储在列中。

【讨论】:

  • 我需要的是特定位置的整个时间跨度的数据。所以我会按照上面的例子来排列矩阵。谢谢。
猜你喜欢
  • 2018-05-16
  • 2014-08-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-02-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多