How to plot six concentric circles using meshgrid and plot?
조회 수: 2 (최근 30일)
이전 댓글 표시
I am trying to plot six concentric circles using meshgrid() and plot(). The circles' radii vary between 0.5 and 1.75 (with intervals of 0.25). I am wondering whether the code below is sufficiently efficient and whether indeed it should be performed as delineated below:
theta = linspace(0, 2*pi, 50);
[X, Y] = meshgrid(0.5:0.25:1.75, theta);
plot(a+cos(Y).*X, b+sin(Y).*X);
?
채택된 답변
Matt J
2013년 3월 27일
You could conserve a little memory if you did it this way, but I don't know anyone who cares about efficiency for such a small plotting task,
theta = linspace(0, 2*pi, 50).';
R=0.5:0.25:1.75;
plot(a+cos(theta)*R, b+sin(theta)*R);
댓글 수: 8
Matt J
2013년 3월 27일
편집: Matt J
2013년 3월 27일
Yes, the transposition of theta was only relevant to my proposed approach -- the one that does not use meshgrid. Notice that you use elementwise .* multiplication whereas I use pure matrix multiplication '*'. Matrix multiplication requires the operands to be appropriately shaped.
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Logical에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!