MATLAB:将多个值应用于2D笛卡尔坐标系中的每个(x,y)坐标点

时间:2017-03-19 03:28:28

标签: matlab vector cartesian-coordinates

我有一个(5x1)向量V = (V1, V2, V3, V4, V5),并希望将这五个值分配给(x,y)坐标系中的每个网格点。因此,例如(x,y) = (1,1)可能包含V = (1, 0.432, -5, 2, 67)(x,y) = (2,3)的值,可能会为其分配值V = (-43, 3.53, 0.423, -4, -0.432)。有没有一个好的数据结构可以在MATLAB中完成这个?

1 个答案:

答案 0 :(得分:2)

到处都有相同数量的值

如果要为每个网格点分配相同数量的值,最好创建一个5xXxY矩阵,例如

xy_vals = rand([5 nx ny]);

您可以通过

访问点(xx,yy)的值
test_vals = xy_vals(:,xx,yy);

每个网格点的灵活数值

如果你想对每个网格点的值数量保持灵活性,我建议使用数组的数组。例如:

xy_cell = cell([nx ny]);
for ix = 1:nx
    for iy = 1:ny
        xy_cell{ix,iy} = randi([1 randi(10)]);
    end
end

现在,通过

访问点(xx,yy)的vaues
test_vals = xy_cell{xx,yy};