[英]Matlab 3D surface normal distribution
我有兩個正態分布,我正試圖從它們構成一個體積表面。 我得到以下圖
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曲面,將紅色的點保留為紅色,將藍色的點保留為藍色。 有人能幫我嗎? 問候
我現在無法編寫經過測試的解決方案-無法訪問Matlab許可證服務器。 但是您這里有兩個問題。
首先是創建密度的表面圖。 您可以為此使用hist3
函數-如果返回bin的值,則可以自己控制繪圖:
[NC] = histc(X)
(很抱歉,我不清楚您真正想繪制什么-是R
, S
, Z
還是R+S
?這就是為什么我使用X
)。
然后,要給圖形着色,可以使用補丁着色-有關操作方法,請參見http://www.mathworks.com/help/matlab/visualize/specifying-patch-coloring.html 。
這兩種方法的結合應該可以使您走得很遠……但是仍然不清楚您真正想做什么。 希望這些提示對您有所幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.