from 1D vector to mesh plot

If I have a 1D vector in space(radius) and concentration for example, is there a simple way to create a meshplot with a circular simmetry? as if the plot has been rotated around the (0,0) and the concentration is displayed with colors (as in surf)
like from the image on the left to the image on the right (sorry I am bad at drawing)

 采纳的回答

% The grid:
x = linspace(-3, 3, 50);
y = linspace(-3, 3, 50);
R = sqrt(x.^2 + (y.').^2);
% The concentration:
Cx = linspace(0, 3, 100);
Cy = zeros(size(Cx));
Cy(1:50) = 3;
Cy(51:90) = linspace(3, 0, 40);
% The value:
z = interp1(Cx, Cy, R);
mesh(x, y, z)
imagesc(z)

4 个评论

thank you really appreciated!
@Jan is there a way to use interp1q instead of interp1? since i need to draw that figure for each time i need to interpolate many data and the plot is pretty slow
interp1 and interp1q are slower than griddedInterpolant.

请先登录,再进行评论。

更多回答(0 个)

类别

帮助中心File Exchange 中查找有关 2-D and 3-D Plots 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by