Reputation: 219
I have a (5x1)
vector V = (V1, V2, V3, V4, V5)
and would like to assign these five values to each grid point in an (x,y) coordinate system. So for instance (x,y) = (1,1)
may have values of V = (1, 0.432, -5, 2, 67)
and (x,y) = (2,3)
may have values of V = (-43, 3.53, 0.423, -4, -0.432)
assigned to it. Is there a good data structure that will be able to do this in MATLAB?
Upvotes: 0
Views: 78
Reputation: 1060
If you want to assign the same number of values to each grid point, it is best to create a 5xXxY matrix, for example
xy_vals = rand([5 nx ny]);
where you can access the values at point (xx,yy) via
test_vals = xy_vals(:,xx,yy);
If you want to be flexible about the number of values per grid point, I suggest a cell-array of arrays. For example:
xy_cell = cell([nx ny]);
for ix = 1:nx
for iy = 1:ny
xy_cell{ix,iy} = randi([1 randi(10)]);
end
end
Now, access the vaues at point (xx,yy) via
test_vals = xy_cell{xx,yy};
Upvotes: 2