Modifying a function (2D Plot and 3D Plot)

  • I currently have a grid that goes from 1 to 20 for x and y.
function [ ] = make3DGrid( )
x=zeros(20*20,1);
y=zeros(20*20,1);
count = 1;
for i=1:20
for j=1:20
x(count) = i;
y(count) = j;
count = count+1;
end
end
  • How do I modify this function so that it takes 6 arguments (in this order): xmin, xmax, numx, ymin, ymax, numy. I want these to be the min and max ranges for a grid of data points.
  • Also, instead of having just the x and y variables, how could I modify the function to use/return a single matrix (gridXY) which would be a nx2 matrix of the x and y locations on the grid.
For the first part, I know linspace might be involved but I'm not sure. Any help would be appreciated! Thanks.

2 个评论

Why did you materially change your question? Now my answer doesn't make sense.
(Answers Dev) Restored edit

请先登录,再进行评论。

回答(1 个)

Rik
Rik 2020-4-26
编辑:Rik 2020-4-26
Use linspace separately for x and y and then use meshgrid or ndgrid.
%create the vectors
x=linspace(xmin,xmax,numx);
y=____
%create the grid of all combinations
[x,y]=ndgrid(x,y);
%reshape x and y into vectors
x=x(:);
____
%create nx2 matrix
result=____

4 个评论

would I have to change anything with the for loops?
Yes, you can remove them. This code will be a complete replacement.
what should the result be ?
If you fill in the missing parts of this code you will end up with two vectors. How would you make an nx2 matrix from two vectors?

请先登录,再进行评论。

类别

在 帮助中心 和 File Exchange 中查找有关 Annotations 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by