I have these points
Ax=2:4:14;
Ay=2:4:14;
Z=rand(4,4)+20;
I would like to plot the surface in 3D but not as a unite surface but rather multiple individual surfaces. I would like each point to be a square surface of surface area=4*4, parallel to xy axes where Ax and Ay is the centre of each square surface.
I tried the below but no luck
surf(Ax,Ay,Z)
bar3(Z,4)

 채택된 답변

Star Strider
Star Strider 2017년 11월 23일

1 개 추천

I am not certain what you want.
This should get you started:
Ax=2:4:14;
Ay=2:4:14;
figure(1)
for k1 = 1:length(Ax)
surf(cumsum(ones(4),1)+Ax(k1), cumsum(ones(4),2)+Ay(k1), zeros(4)+rand)
hold on
end
hold off
grid on

댓글 수: 8

Spyros Polychronopoulos
Spyros Polychronopoulos 2017년 11월 24일
편집: Spyros Polychronopoulos 2017년 11월 24일
Thank you very much Star Strider for your answer was very helpful. But I am still missing few things:
1. only 4 surfaces are plotted. I would like all the combinations of Ax and Ay to be plotted as surf(Ax,Ay,Z) would do but I want the surfaces to be parallel to xy axes (as the ones that are plotted with your code)
2. I want them to be a certain length and width for example 4*4
Thank you in advance
Here you go:
Ax=2:4:14;
Ay=2:4:14;
N = 4; % Surface Segments
figure(1)
for k1 = 1:length(Ax)
for k2 = 1:length(Ay)
surf(cumsum(ones(N+1),1)+Ax(k1), cumsum(ones(N+1),2)+Ay(k2), zeros(N+1)+rand)
hold on
end
end
hold off
grid on
Spyros Polychronopoulos
Spyros Polychronopoulos 2017년 11월 24일
Thank you Star Strider!
that's it! :)
Star Strider
Star Strider 2017년 11월 24일
As always, my pleasure!
Spyros Polychronopoulos
Spyros Polychronopoulos 2017년 11월 27일
편집: Spyros Polychronopoulos 2017년 11월 27일
Hi Star Strider, two minor things if they are easily done:
1. could I get rid of the grid of the surfaces. I mean the 4*4 grid each surface has.
2. could I have surfaces that they are 4.3*4.3 for example rather than 4*4?
Try this:
Ax=2:4:14;
Ay=2:4:14;
N = 4; % Surface Segments
SF = 4.3; % Surface Size Scale Factor
figure(1)
for k1 = 1:length(Ax)
for k2 = 1:length(Ay)
surf(SF/4*cumsum(ones(N+1),1)+Ax(k1), SF/4*cumsum(ones(N+1),2)+Ay(k2), zeros(N+1)+rand, 'LineStyle','none')
hold on
end
end
hold off
grid on
Spyros Polychronopoulos
Spyros Polychronopoulos 2017년 11월 27일

Thank you

Star Strider
Star Strider 2017년 11월 27일
My pleasure.

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Community Treasure Hunt

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

Start Hunting!

Translated by