我基本上是在尝试制作一个随时间变化的具有不同周期性的两条增长曲线的图形。X 是时间,Y 是人口 1 Z 是人口 2 X、Y 和 Z 是向量
对于时间 Xi,我希望在 YZ 平面上绘制一个椭圆,其长轴尺寸为 Y(Xi),短轴尺寸为 Z(Xi)。然后,我想在 X 平面上进行网格划分,以创建一个管状结构。
我有 Matlab R2013Aa
有什么建议么?
您想要做的与 meshgrid 和 surf 的标准使用非常相似,只是在这里,您的网格表面缠绕在管子上。
我认为下面的代码可以满足您的需求:
NX=80; 'number of X values
X=1:NX; 'replace with actual X vector
Y=5+cos(X/4); 'replace with actual Y vector
Z=10+sin(X/4); 'replace with actual Z vector
Nth=100; %number of points around each ellipse
theta=linspace(0,2*pi,Nth);
y=Y'*cos(theta);
z=Z'*sin(theta);
x=repmat(X',1,Nth);
surf(x,y,z);