A matrix/grid from two vectors

Dear all,
I am trying to construct a matrix (or a grid) with specific limits on the x and y axes from two vectors:
ns = 20; %number of points on S axis
np = 20; %number of points on P axis
S = linspace(0,1,ns); %S variable
P = linspace(-1,1,np); %P variable
The resulting grid I want has the follwoing shape (just for an illustrative purpose. Surely the number of points would be larger):
I have thought about "meshgrid(S,P)" command, but it won't help as it doesn't let me have the specific P limits that I want, as shown in the photo above.
Any help would be appreicated!
Thanks,
Lama

 Risposta accettata

Cris LaPierre
Cris LaPierre il 12 Mar 2021

0 voti

meshgrid creates the matrices of x and y coordinates you wlil need to plot a mesh/surface plot.
Lookin at the examples on the mesh documentation page for how to use these two functions.

4 Commenti

Thank you for your answer. However, although meshgrid will generate a grid of the same size that I want, but it won't let me access each grid cell (or pixel) of the grid. Also, it would be hard (I guess) to strict the limit of the y axis to be from -1 to 1 and the x axis to be from 0 to 1. When using meshgrid, it generates two axes with the same limits.
Cris LaPierre
Cris LaPierre il 12 Mar 2021
Modificato: Cris LaPierre il 12 Mar 2021
Meshgrid does not create axes. It creates matrices that can be used as the coordinates (x and y, or in your case, S and P).
To place a point in a 2D grid, you need the X and Y values. To access a value, you need its index number in the vector/matrix.
ns = 20; %number of points on S axis
np = 20; %number of points on P axis
s = linspace(0,1,ns); %S variable
p = linspace(-1,1,np); %P variable
[S,P] = meshgrid(s,p);
% mesh needs X,Y and Z so create z
Z = zeros(size(S));
mesh(S,P,Z,'Marker','o','MarkerFaceColor','k','EdgeColor',"k")
axis equal tight
view(2)
Great! Many thanks!

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Mathematics in Centro assistenza e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by