2014-11-03 110 views
0

我有两个正态分布,我试图从它们中获得一个体积表面。我得到了下面的图Matlab 3D表面正态分布

enter image description here

clear; clc; 

nsamp = 100000; 

% 

% Basic variables 

% 

m1=2.724; 

dp1=0.375; 

R = normrnd(m1,dp1, nsamp, 1); 

m2=1.345; 

dp2=0.135; 

S = normrnd(m2,dp2, nsamp, 1); 

% 

Z = R - S; 


    I = (Z < 0); 

pf = sum(I)/nsamp 

beta = -norminv(pf) 

% 

% Histograms 

hist(S,20) 

hold on 

hist(R,40) 

set(findobj('Type','patch'),'Facecolor','none','Edgecolor','black') 

set(gca,'Fontsize',18,'Fontname','euclid') 

xlabel('R & S') 


figure 

scatterhist(R,S) 

xlabel('R'),ylabel('S') 

,我想作一个3D曲面和红点留在红色和蓝色的蓝点。有人能帮我吗?问候

+0

“体积”意味着三个维度。您想要第三个维度代表什么? – Floris 2014-11-03 03:04:11

+0

blitzstat 2014-11-03 03:19:19

+0

这是假装的表面。但颜色不是。我只想成为蓝色和红色。谢了哥们! – blitzstat 2014-11-03 03:20:57

回答

0

我现在不能编写测试的解决方案 - 不能访问Matlab许可证服务器。但这里有两个问题。

第一个是创建密度的曲面图。您可以使用hist3功能对于这一点 - 如果你返回仓的值就可以控制自己绘制:

[NC] = histc(X)

(对不起,这不是我清楚你真的想要什么 - 是R,S,ZR+S?这就是为什么我用X)。

然后为图表着色,可以使用补丁着色 - 请参阅http://www.mathworks.com/help/matlab/visualize/specifying-patch-coloring.html了解如何做到这一点。

这两者的结合应该会让你有很长的路要走......但它还是有点不清楚你真正想做什么。我希望这些提示可以帮助你。