如何迭代平均 matlab 矩阵中的元素明智的连续列以创建逐渐变大的中点矩阵?
How to iteratively average element wise contiguous columns in a matlab matrix to create a progressively larger midpoint matrix?
在尝试使用 midpoint method to create geodesics on a surface 时,但我对迭代更新矩阵所需的 Matlab 语法不满意,该矩阵包含嵌入在 R3 中的表面上的点,因此由 3 行和 n 组成第一个元素为 A[:,1],最后一个元素为 A[:,n].
的列
最初会在 XY 平面上沿一条直线选择两个点。 XY 平面 运行 通过 A[:,1] 和 A[:,n] 的线段上的多个点将使用函数 f(x,y) 投影到表面上,这样我们就结束了与初始矩阵一起使用,第一行包含 X 轴上的多个坐标;第二行,Y轴坐标;第三行是 f(x,y) 各点的曲线高度。每列是一个点。
因此,如果前两列是 A[:,1] 和 A[:,2],我想获得一个更新后的矩阵,其中第一列 A[:,1] 和第二列是 A[:,1] 和 A[:,2] 的逐项平均值。换句话说,列 (x) 的第一个条目将是第一列和第二列的第一个条目的平均值;第二个(y)和第三个(z)条目相同。在另一端,矩阵将以倒数第二列中的 A[:,n - 1] 和 A[:,n] 以及最后一列中的 A[:,n] 的平均值结束。
然后将进行最小化步骤以将每一列投影到曲面 f(x,y),然后再次开始相同的平均过程。
请注意,每走一步矩阵都会增长一列。
从逻辑上讲,这个过程将在函数的循环中。
我想问一下如何迭代地实现平均步骤,例如第一步从
A =
0 2 1 4
1 3 3 2
1 2 2 2
至
A =
0 1 1.5 2.5 4
1 2 3 2.5 2
1 1.5 2 2 2
接受答案后,这是代码:
A = [0, 2, 1, 4; 1, 3, 3, 2; 1, 2, 2, 2]
A = [A(:,1), (A(:,1:end-1) + A(:,2:end))/2, A(:,end)]
以下行根据您的描述更新 A
。但是,由于 A
的列数增加了(如您所知),您最好预先分配它并稍微调整以下分配(这将进入 for
循环)。
A = [A(:,1), (A(:,1:end-1) + A(:,2:end))/2, A(:,end)];
但是,您可能想检查 Image Processing Toolbox, such as imfilter
中的某些功能。
在尝试使用 midpoint method to create geodesics on a surface 时,但我对迭代更新矩阵所需的 Matlab 语法不满意,该矩阵包含嵌入在 R3 中的表面上的点,因此由 3 行和 n 组成第一个元素为 A[:,1],最后一个元素为 A[:,n].
的列最初会在 XY 平面上沿一条直线选择两个点。 XY 平面 运行 通过 A[:,1] 和 A[:,n] 的线段上的多个点将使用函数 f(x,y) 投影到表面上,这样我们就结束了与初始矩阵一起使用,第一行包含 X 轴上的多个坐标;第二行,Y轴坐标;第三行是 f(x,y) 各点的曲线高度。每列是一个点。
因此,如果前两列是 A[:,1] 和 A[:,2],我想获得一个更新后的矩阵,其中第一列 A[:,1] 和第二列是 A[:,1] 和 A[:,2] 的逐项平均值。换句话说,列 (x) 的第一个条目将是第一列和第二列的第一个条目的平均值;第二个(y)和第三个(z)条目相同。在另一端,矩阵将以倒数第二列中的 A[:,n - 1] 和 A[:,n] 以及最后一列中的 A[:,n] 的平均值结束。
然后将进行最小化步骤以将每一列投影到曲面 f(x,y),然后再次开始相同的平均过程。
请注意,每走一步矩阵都会增长一列。
从逻辑上讲,这个过程将在函数的循环中。
我想问一下如何迭代地实现平均步骤,例如第一步从
A =
0 2 1 4
1 3 3 2
1 2 2 2
至
A =
0 1 1.5 2.5 4
1 2 3 2.5 2
1 1.5 2 2 2
接受答案后,这是代码:
A = [0, 2, 1, 4; 1, 3, 3, 2; 1, 2, 2, 2]
A = [A(:,1), (A(:,1:end-1) + A(:,2:end))/2, A(:,end)]
以下行根据您的描述更新 A
。但是,由于 A
的列数增加了(如您所知),您最好预先分配它并稍微调整以下分配(这将进入 for
循环)。
A = [A(:,1), (A(:,1:end-1) + A(:,2:end))/2, A(:,end)];
但是,您可能想检查 Image Processing Toolbox, such as imfilter
中的某些功能。