3

我有以下代码来生成二维图或 2 个正态分布:

        res = zeros(2, 320); 
        index = 1:320;

        % assign some data to the res array and then approximate:  

        PD = fitdist(index','normal', 'frequency', res(1,:)')
        pdfNormal = normpdf(index',PD.mu,PD.sigma);
        plot(index', pdfNormal, 'Color', 'r', 'LineWidth', 2);
        hold on;
        PD = fitdist(index','normal', 'frequency', res(2,:)')
        pdfNormal = normpdf(index',PD.mu,PD.sigma);
        plot(index', pdfNormal, 'Color', 'b', 'LineWidth', 2);            

这段代码生成我然后下面的图片:

我的数据的 2D 绘图

现在我想知道如何在这个情节中添加第三个维度?本质上,我想绘制另外 2 个正态分布,但这次是在 Z 轴上,即在第三维上。

有人知道我怎么能轻松做到这一点吗?

非常感谢!

4

1 回答 1

4

如果我理解正确,您可以简单地为绘图提供不同的 z 值。例子:

%# some random data
x = 1:300;
y = zeros(5,300);
for i=1:5
    y(i,:) = normpdf(x,100+i*20,10);
end

%# plot
hold on
clr = lines(5);
h = zeros(5,1);
for i=1:5
    h(i) = plot(x, y(i,:), 'Color',clr(i,:), 'LineWidth',2);
    set(h(i), 'ZData',ones(size(x))*i)
end
zlim([0 6]), box on, grid on
view(3)
hold off

截屏

于 2012-07-24T12:57:43.497 回答