draw a mesh by entering elements and nodes by Location
26 views (last 30 days)
Show older comments
Having matrix of different nodes with their location, how we can plot a mesh and exert a code on the nodes?
Imagine there are 4 differet type of nodes, with index number of 1,2,3 and 4, total number of 16. A very simple material matrix can be for instance : M=[1,1,1,1,1,1,1,2,2,3,4,4,4,4,4,4], and the corresponding location matrixs are: x=[0.1, 0.2, 0.3, 0.4, 0.2, 0.3, 0.4, 0.2, 0.3, 0.4, 0.2, 0.3, 0.4] and y=[0.1, 0.1, 0.1, 0.1, 0.2, 0.2, 0.2, 0.3, 0.3, 0.3, 0.4, 0.4, 0.4]. So this domain is the following where the numbers are different type of nodes.
So, how this input can be applied in matlab?
0 Comments
Answers (1)
Vinayak Gupta
on 9 Feb 2023
Hi Sara,
To my understanding, you want to create a mesh plot for a set of nodes with their given location (in X, Y).
Taking your example, you need to pre-process the given arrays into a set of three matrices as the mesh function requires. You can read about mesh function here.
Also, the arrays in your question were not appropriately sized as M has 16 elements, while the others have 13 elements, respectively. I have assumed values based on the image attached.
M= [1,1,1,1,1,1,1,2,2,3,4,4,4,4,4,4];
x= [0.1, 0.2, 0.3, 0.4, 0.1, 0.1, 0.1, 0.2, 0.3, 0.4, 0.2, 0.3, 0.4, 0.2, 0.3, 0.4];
y= [0.1, 0.1, 0.1, 0.1, 0.2, 0.3, 0.4, 0.2, 0.2, 0.2, 0.3, 0.3, 0.3, 0.4, 0.4, 0.4];
Assuming x and y represent locations, we will convert these into a mesh grid of unique and sorted values. We require sorted values to plot data sequentially and avoid unnecessary folds
X = unique(x);
Y = unique(y);
[X, Y] = meshgrid(X, Y);
Now, we will create a matrix Z of the same size as X and Y. And then fill in the values of M according to their positions. Z will be our nodal matrix.
Z = zeros(size(X));
for i=1:16
Z(X == x(i) & Y == y(i)) = M(i);
end
Now, we have the required three matrices, and we can pass them to the mesh function.
mesh(X, Y, Z);
And we should get an output figure as this one.
0 Comments
See Also
Categories
Find more on Scatter Plots in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!