MATLAB:将多个值应用于二维笛卡尔坐标系中的每个 (x,y) 坐标点
MATLAB: Applying multiple values to each (x,y) coordinate point in a 2D Cartesian coordinate system
我有一个 (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 中做到这一点?
到处都有相同数量的值
如果要给每个格点分配相同数量的值,最好创建一个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) 点的值
test_vals = xy_cell{xx,yy};
我有一个 (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 中做到这一点?
到处都有相同数量的值
如果要给每个格点分配相同数量的值,最好创建一个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) 点的值test_vals = xy_cell{xx,yy};