Plotting curves with increasing radius
8 次查看(过去 30 天)
显示 更早的评论
Dear all,
I wanted to know if there is any way to plot a curve with increasing radius. This curve has to go around a circle.
Thanks for your help.
8 个评论
Image Analyst
2013-8-21
Bring up your diagram somehow on the computer, be it in Photoshop or whatever. Type alt-Printscreen to capture the current window into the clipboard. Go to http://snag.gy and type control-V to paste it in. Note the URL it gives you and come back here and tell us what it is.
采纳的回答
Walter Roberson
2013-8-21
Your sample diagram look like spirals to me, other than that the radius might not be increasing linearly.
Use pol2cart() to switch between an (r, theta) form vs (x,y) coordinates.
3 个评论
Kelly Kearney
2013-8-21
I see a circle and two spirals. Is this what you're looking for?
theta = linspace(pi/2+2*pi, pi/2, 100);
r = cell(3,1);
r{1} = ones(size(theta)); % The circle
r{2} = linspace(1, 0.5, 60); % Spiral in
r{3} = linspace(1, 1.5, 60); % Spiral out
for ii = 1:3
[x{ii}, y{ii}] = pol2cart(theta(1:length(r{ii})), r{ii});
end
xy = [x;y]; plot(xy{:}); axis equal;
更多回答(2 个)
Image Analyst
2013-8-21
You say "I have the data for them" so why don't you just use the plot() function and plot them? Am I missing something???
David Sanchez
2013-8-21
Try this out:
[x,y] = meshgrid(1:150,1:100);
[th, rho] = cart2pol(x - 75,y - 50); % convert to polar
% spiral centered at (75,50)
Img = sin(r/3 + th);
imagesc(Img); colormap(hot);
axis equal; axis off;
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Surface and Mesh Plots 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!