Coordinates of each rectangular cell is required

1 view (last 30 days)
I have created a mesh using mesh command having 16 cells.
I want the coordinates of every cell in a separate array.I had tried the following code but it didnot work.Please help.
x=zeros(1,5)+5;
y=linspace(4,16,5);
xx=x';
yy=y';
[XX,YY]=meshgrid(xx,y);
Y=YY';
z=linspace(-1,3,5)';
zz=repmat(z,1,5);
A=mesh(XX,Y,zz);
axis([-10 40 -10 40])
for a=1:4
for b=1:4
C1X1(a,b)=[XX(a,b) XX(a,b+1) XX(a+1,b) XX(a+1,b+1)];
end
end
C1X1 should be 16 by 4 matrix as the loop runs 16 times but I am unable to define C1X1

Accepted Answer

Dyuman Joshi
Dyuman Joshi on 29 Nov 2021
You are defining C1X1 incorrectly (trying to fit 4 elements as 1) -
x=zeros(1,5)+5;
y=linspace(4,16,5);
xx=x';
yy=y';
[XX,YY]=meshgrid(xx,y);
Y=YY';
z=linspace(-1,3,5)';
zz=repmat(z,1,5);
A=mesh(XX,Y,zz);
axis([-10 40 -10 40])
C1X1=[];
for a=1:4
for b=1:4
C1X1=[C1X1; XX(a,b) XX(a,b+1) XX(a+1,b) XX(a+1,b+1)];
end
end
C1X1
C1X1 = 16×4
5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5
  5 Comments
MD EQBAL
MD EQBAL on 1 Dec 2021
By rotation of 10 deg, I mean that the mesh A is rotated by 10 degrees about an axis passing through its centre and parallel to z axis.
After rotation, the coordinates of the rectangular cell will change. I was trying to assign another variable B to the rotated mesh like this:-
B=rotate(A,direction,10,centre)
But the following error occurs :-
" Error using rotate
Too many output arguments."
I need the coordinates of the rectangular cell of the rotated mesh.
Please help.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!