kaven_2001 发表于 2006-11-24 15:47

求助,关于二维分布

找遍所有资料,好象matlab里没有直接二维分布的命令啊?
有高手能帮我绘制几个二维分布函数得图形嘛?谢谢了

happy 发表于 2006-11-24 15:58

Y = rand(m,n)
Y = randn(m,n)
不都是二维的吗?

kaven_2001 发表于 2006-11-26 12:44

不是啊,二维分布其实是三维图形的,是概率里面的概念,比如二维正态分布什么的

jieli 发表于 2006-11-26 13:54

自己写概率密度函数表达式,用meshgrid分网,然后计算,最后用mesh画图,就得到二维分布图形。

kaven_2001 发表于 2006-11-26 16:35

......好复杂啊,楼上的高手能给我遍个二维正态的例子吗?谢谢了

jidiangaopei 发表于 2006-11-26 17:09

二维分布是三维图没错的,支持二楼

happy 发表于 2006-11-27 11:36

真晕,自己不会琢磨一下阿

=meshgrid(1:20,1:20);
z=randn(20,20);
mesh(x,y,z);

kaven_2001 发表于 2006-11-27 11:55

原帖由 happy 于 2006-11-27 11:36 发表
真晕,自己不会琢磨一下阿

=meshgrid(1:20,1:20);
z=randn(20,20);
mesh(x,y,z);

谢谢了,不过这仅仅是画了一个三维图而已啊,不是标准分布的呢~~z和x,y都没有关系的,不满足我的要求哦

[ 本帖最后由 kaven_2001 于 2006-11-28 12:37 编辑 ]

kaven_2001 发表于 2006-11-28 12:38

有高手继续吗?

kaven_2001 发表于 2006-11-29 11:54

顶上来,没人能帮我解决问题吗?

jieli 发表于 2006-11-30 08:50

按照上面的meshgrid做,二维标准正态分布的cdf有吧,计算每个x,y对应的z,采用griddata函数插值,最后用mesh画图。

xjzuo 发表于 2006-11-30 09:13

回复

希望自己还是多想想比较好.
Happy教授已经提醒得很明显了,你只要按照他的思路,自己写入相应的分布函数就可以了.
我再给你一个提示吧: 以正态分布为例,
%%%%%%%%%%%%%%%%%%%%%
先meshgrid得到二维网格;
再根据相应的分布函数计算函数值矩阵;
最后用mesh或者surf等函数均可得到图形.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
其它类型的分布可作类似处理.

kaven_2001 发表于 2006-11-30 10:01

再根据相应的分布函数计算函数值矩阵;

就是这一步不会啊,其实提醒的内容都知道的,就这关键一步不知道怎么建立

zhuwei04 发表于 2006-11-30 10:55

晕!

eight 发表于 2007-1-12 16:39

原帖由 kaven_2001 于 2006-11-30 10:01 发表
再根据相应的分布函数计算函数值矩阵;

就是这一步不会啊,其实提醒的内容都知道的,就这关键一步不知道怎么建立


写了一个,希望以后自己多动手:

x = [-2:0.05:5];
y = [-2:0.05:5];
if length(x) ~= length(y)
    error('The size of vector x and y should be the same!');
end
= meshgrid(x,y);
sigma = 1;
MU = ;
Z = 1/(sqrt(2*pi)*sigma)*exp(-((X-MU(1)).^2+(Y-MU(2)).^2)/(2*sigma^2));
mesh(X,Y,Z)
axis tight
页: [1] 2
查看完整版本: 求助,关于二维分布