在6乘6矩阵

时间:2015-07-25 11:49:13

标签: matlab matrix parallel-processing sliding

背景:

我有一个6乘6的矩阵。我需要根据以下步骤通过滑动3乘3窗口来更新网格点之间的值:

enter image description here

(1)第一个滑动窗口是:将x8视为中心,我有w1 = {x1, x2, x3, x7, x8, x9, x13, x14, x15}

(2)通过在每个网格点上加1来更新这9个点的值。

(3)移至下一个窗口:将x9视为中心,我有w2 = {x2, x3, x4, x8, x9, x10, x14, x15, x16}。通过向每个网格点添加1来再次更新这些网格点的值。 请注意,我使用x2, x8 and x14的原始值代替步骤2中的更新值。

(4)过程继续,我将有16个窗口/ 9点数据集。

我的问题是:

(5)有些交叉点说,x8与4个窗口重叠。然后我想从4个窗口中取出x8并将它们加在一起,然后除以4(平均值)。

(6)有些交叉点,x15确实与9个窗口重叠。同样,我想获得x15的这9个值中的平均值。

(7)在这些更新之后,我希望有一个更新的6乘6矩阵来存储结果。

我的想法:

(1)在每个窗口w1, w2, ..., w16上应用“添加一个”。

(2)在窗口中选取常用值:

如果x8与4次相交,则添加x8并除以4;

如果x15与9次相交,则添加x15并除以9。

需要帮助:

我想在matlab中编写代码。因此,我计划使用ismember来提取窗口中的常见值,但似乎ismember不能有多个输入。我是否知道matlab中是否有任何巧妙的方法可以达到这个目的?

由于我是matlab的新手,我们将非常感谢更详细的代码。

0 个答案:

没有答案