通过拟合许多具有不同 z 值的 2D 图生成 3D 曲面图

Generate a 3D surface plot by fitting over many 2D plots with varying z value

我想实现一个3D曲面图。我的输出如下。

对于特定的 z 值,我为每个 x 值得到 y(x 的范围如 0:0.1:1.4)。

然后我改变 z,对于相同的 x 范围,我得到 y 值。

结果可以可视化为离散 z 值的二维图,由 x 的范围及其对应的 y 组成。这是我的原始情节:

我想创建一个 3D 曲面图,就像在上面的 2D 图上包裹一条毯子。

下面是两种绘图的示例:

figure
hold on
grid on
view(30,40)
x = 0:.01:4;
z = .3:.3:3;
y = NaN(numel(x), numel(z));
for k = 1:numel(z)
    y(:,k) = abs((4-x).*sin(x/(1+z(k)))); % compute a vector as function output
        % for input vector x, for each z. Store as a column in matrix y
    plot3(x,repmat(z(k),size(x)),y(:,k)) % plot in 3D space
end

figure
surf(x,z,y.','edgecolor','none') % surface plot
view(30,40)
grid on