求助,关于二维分布
找遍所有资料,好象matlab里没有直接二维分布的命令啊?有高手能帮我绘制几个二维分布函数得图形嘛?谢谢了 Y = rand(m,n)
Y = randn(m,n)
不都是二维的吗? 不是啊,二维分布其实是三维图形的,是概率里面的概念,比如二维正态分布什么的 自己写概率密度函数表达式,用meshgrid分网,然后计算,最后用mesh画图,就得到二维分布图形。 ......好复杂啊,楼上的高手能给我遍个二维正态的例子吗?谢谢了 二维分布是三维图没错的,支持二楼 真晕,自己不会琢磨一下阿
=meshgrid(1:20,1:20);
z=randn(20,20);
mesh(x,y,z); 原帖由 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 编辑 ] 有高手继续吗? 顶上来,没人能帮我解决问题吗? 按照上面的meshgrid做,二维标准正态分布的cdf有吧,计算每个x,y对应的z,采用griddata函数插值,最后用mesh画图。
回复
希望自己还是多想想比较好.Happy教授已经提醒得很明显了,你只要按照他的思路,自己写入相应的分布函数就可以了.
我再给你一个提示吧: 以正态分布为例,
%%%%%%%%%%%%%%%%%%%%%
先meshgrid得到二维网格;
再根据相应的分布函数计算函数值矩阵;
最后用mesh或者surf等函数均可得到图形.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
其它类型的分布可作类似处理. 再根据相应的分布函数计算函数值矩阵;
就是这一步不会啊,其实提醒的内容都知道的,就这关键一步不知道怎么建立 晕! 原帖由 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