필터 지우기
필터 지우기

transform a radius into a circle

조회 수: 4 (최근 30일)
Nicolas
Nicolas 2014년 12월 26일
댓글: Nicolas 2014년 12월 28일

I have some data along a line in a Cartesian coordinate. I know I can transform the Cartesian into polar coordinates using cart2pol. I would like to know how could I create a grid to map a quarter circle with the data along the initial line (to have a top view)?

thank you

  댓글 수: 1
Nicolas
Nicolas 2014년 12월 26일
편집: Nicolas 2014년 12월 26일
I have rho (2991*1), data (2991*1), and I created theta = (0:0.5:90)*pi/180; to represent a quarter of a circle. I can mesh rho and theta together using meshgrid. but then I don't know how to use my data to be correlated to the mesh?

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

채택된 답변

Nicolas
Nicolas 2014년 12월 28일
here is the solution:
%%Example data
x = (2:0.1:8);
data = sin(x);
%%Shift the values towards the center, so you get a circle instead of an annulus.
x = x-min(x);
%%Your meshgrid generation code.
rho = x;
theta = (0:0.5:90)*pi/180;
[th, r] = meshgrid(theta, rho);
%%Plotting the values
surf(r.*cos(th), ...
r.*sin(th), ...
repmat(data(:), 1, size(th,2)), ...
'linestyle', 'none');
view(2);
axis equal tight;
colorbar;

추가 답변 (2개)

Star Strider
Star Strider 2014년 12월 26일
The polar plot may be what you want.

Image Analyst
Image Analyst 2014년 12월 26일
  댓글 수: 5
Image Analyst
Image Analyst 2014년 12월 28일
What do you want out? An image (2D array)? A plot/graph?
All I can think of was a not very efficient method based on the FAQ. I hesitate to show it because it's not fast, efficient, or clever. Hopefully someone else will come up with a fast and clever method.
Nicolas
Nicolas 2014년 12월 28일
thank you, I didn't know how to explain properly what I wanted. by digging I found out the repmat option.. and that's what I was looking for.

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

카테고리

Help CenterFile Exchange에서 Surface and Mesh Plots에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by