[英]Generating all points of grid from given vectors of vertical and horizontal coordinates - MATLAB
我有一個10 x 10點的正方形網格。 v1
是水平坐標的向量,而v2
是包含垂直坐標的向量。 從這兩個向量,我想構造所有100個點。 這是一個2 x 2的示例:
v1 = [1 2];
v2 = [3 4];
然后,我要生成的4個點是:
p(1,:) = [1,3]
p(2,:) = [1,4]
p(3,:) = [2,3]
p(4,:) = [2,4]
如何在MATLAB中完成?
您將要使用meshgrid
或更好的方法: ndgrid
。 這兩個函數的概念是相同的,但是ndgrid
更通用,並且對輸出進行排序通常更有用。
x = [1,2];
y = [3,4];
[X, Y] = ndgrid(x, y);
P = [X(:), Y(:)];
調用ndgrid
將生成兩個矩陣X
和Y
,它們將具有所需的網格結構,並且值X(i,j)
和Y(i,j)
對應。 因此,要獲得點P
,只需要將這些數組重塑為列向量並將它們連接起來。
如果您有神經網絡工具箱,那么您正在尋找combvec函數,該函數從2個向量創建所有組合。
例:
v1=[1 2]
v2=[3 4]
V = combvec(v1,v2)
輸出:
V =
1 2 1 2
3 3 4 4
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.