Meshgrid is used to create rectangular structures from the given arrays which represent the indexing in the matrix. We can also create mesh surface plots from the specified functions or arrays which have different properties to customize the plot. They can be plotted in both two dimensional and three-dimensional space. They are used in many fields like geographical and designing sectors that have huge applications. Mesh plots have similar properties as those of other plots in Matlab.
Working of Meshgrid in Matlab
Meshgrid is mainly used in Matlab and Python. There are various syntaxes that are used in Matlab to denote the respective grid.
[A, B] =meshgrid (a, b)
This is used to create a two-dimensional grid with the respective coordinates mentioned in the given vector in a and b. The resultant grid will have the length of b rows and length of columns.
[A, B] =meshgrid (a)
This returns the same grid as the above one and is known as a square grid which has length of rows by length of columns.
[A, B, C] =meshgrid (a, b, c)
This is used to create a three-dimensional grid with the coordinates mentioned in a, b and c. The dimension of the resultant grid will have a length of b by length of a by the length of c respectively.
[A, B, C] =meshgrid (a)
This returns the three-dimensional grid with the coordinates and the size of the grid will have length of a by length of a.
Examples of Meshgrid in Matlab
Please find the below examples which will give you a clear idea in understanding the working principle of MeshGrid:
a = 1:4; b = 1:3; [A,B] = meshgrid(a,b)
To plot the two-dimensional grid with the given interval between -1 to 1.
a = -1:0.15:1; b = a; [A,B] = meshgrid(a); F = A.*exp(-A.^3-B.^2); surf(A,B,F)
The coordinates which are used to draw the grid are vector and the data types that can be accepted are single, double, int8, int32, int16, uint8, uint16, uint32, uint64, int64. The resultant grid or the output grid can be two dimensional or three-dimension array in their respective x, y and z coordinates. The mesh plot can be created using the mesh function in Matlab and they have different properties with respect to the mesh plot. Please find them below:
- Mesh plots can be customized by changing the edge color of the plot which can be flat, RGB value or interp values. The default value of the edge color is [0,0,0]. If it is mentioned as flat, then there are different colors for all the edges as mentioned in the property. We can also give the RGB triplet value which denotes the intensity levels of the colors Red, Green, and Blue.
- Depending on the intensity levels there will be different colors. We can also change the face color of the grid by specifying the various values to it. It can be flat, interp, texturemap and RGB triplet value which has the same properties as that of edge color but the default value here is flat. If the value of the property is interp then interpolated coloring is used in the face of the resultant grid.
- We can also change the shape of the line in the resultant plot of the mesh grid. They can be a dotted line, solid line, dashed-dotted line, or dashed line. We can also change the transparency level of each face in the plot. They can be in the interval, flat, interp, texturemap,1 being the default value. If the value of the property is flat, then there is a different transparency value for each face as given in the values mentioned in the AlphaData property.
- Similarly, if the value of the property is interp, then there will be an interpolated transparency level for each face according to the values set by the AlphaData property. If the Face color property is in the range of [0,1] then there will be equally transparency values across all the surfaces. If the value is 1 then the face is completely transparent, if the value is zero then the face is opaque and the values between 0 to 1 are considered as semitransparent.
- We can also change the lighting of the face for all the faces with the ‘Face Lighting’ property. They can be various values like flat, gouraud and none. If the face lighting is flat, then there will be uniform lighting across all the faces. Similarly, if the value of the property is gouraud then there will be different lighting across all the faces and none for no lighting.
a = 0:1:5; b = 0:2:5; [A,B] = meshgrid(a,b); F = A.^2 + B.^3 grids=size(F)
[A,B] = meshgrid(-4:.4:4); C = B.*sin(A) - A.*cos(B); F = mesh(A,B,C,'Facecolor','interp') surf(A,B,C)
We can also hide the lines from the mesh plot if not required by using hidden functions in Matlab. To change the shading of the various colors used in the face we can use the shading function. To draw the three-dimensional figure with different colors we can surf function.