我正在尝试通过将2D曲线一个堆叠在另一个上来在MATLAB中创建一个3D区域。我在每个高度位置都有一个特定的2D曲线,总高度为h,我需要将2D曲线放在一个上面。另一个是获得高度为h的3D区域。如何做到这一点?
例如,如果我的曲线是通过高度间隔[1,10]均匀增加半径的圆圈,那么我应该能够获得高度为9的圆锥台。
非常感谢你的帮助。
答案 0 :(得分:0)
这样的事情:
plot3(x1, y1, repmat(z1,size(x1))),hold on
plot3(x2, y2, repmat(z2,size(x2))),hold on
plot3(x3, y3, repmat(z3,size(x3))), hold on
%...
其中xi
,yi
是zi
上的平面上的曲线。
如果您的xi
长度相同,您也可以循环编写。
答案 1 :(得分:0)
假设您将单元格数组curves
中的曲线保持为Nx2数组:
cellfun(@(x) plot(x(:,1),x(:,2)),curves);