累计贡献等高线图

14日视图(30天)
奥斯卡Hartogensis
奥斯卡Hartogensis 2011年1月24日
评论道: K E 2014年8月15日
我有一个2 d权重函数的特定区域,让1当求和所有行和列。我想要一个等高线图iso-lines代表总累积百分比贡献。我见过几个问题在网上把这个练习,但没有找到答案。谁能帮忙吗?
. .
下面的一个示例,演示了轮廓。米给(这不是我想要的):
%构造权重函数的例子
x1 = 3: .02:3;x2 = 3: .02:3;
(X1, X2) = meshgrid (X1, X2);
F = mvnpdf ((X1 (:) X2 (:)), [0 0], [。25。3;3 1]);
F =重塑(F,长度(x2)、长度(x1));
F = F /笔(金额(F));
. .
%使等高线图
[C, h] =轮廓(x1, x2, F, 10);
集(gca),“xlim”[-1.5,1.5],“ylim”[-2.5,2.5]);
clabel (C、h、“labelspacing”,500)
. .
- - >而不是这些标准轮廓线我想第一个iso-line代表第一个贡献10%,第二轮廓线,总等贡献20%。

接受的答案

奥斯卡Hartogensis
奥斯卡Hartogensis 2011年1月28日
我找到了一个解决方案!它不是很优雅但效果很好。它利用我的加权函数(F)从一个最大值处向外扩张,他们是收线。这些属性允许累积加权函数由排序和累计求和F:
%对权重函数进行排序和cumsum
(FF,我)=排序(F (:), 1,“下”);
FFsum = cumsum (FF);
% FFsum的值加载到YY根据F的原始顺序
%的指数
YY = 1(长度(FF), 1);
YY (I) = FFsum;
%重塑YY及形式的F
多=重塑(YY,大小(F));
%绘制的轮廓cumulaitve重量
pcolor (x1, x2, F)
阴影插值函数
contour_levels = (0.98 [0.1:0.1:0.9]);
contour_labels = (0.98 [0.1:0.2:0.9]);
[C, h] =轮廓(x1, x2, YYY contour_levels);
clabel (C、h、contour_labels“labelspacing”,500)
1评论
K E
K E 2014年8月15日
inpolygon。m函数可能是有用的(适用于一个多边形内点,它可以来自你的轮廓线)。

登录置评。

更多的答案(3)

安德鲁·纽厄尔
安德鲁·纽厄尔 2011年1月26日
你似乎试图绘制多元正态累积分布函数。为此,只是改变mvnpdf mvncdf。你不需要标准化的步骤。试试这个:
(X1, X2) = meshgrid (X1, X2);
F = mvncdf ((X1 (:) X2 (:)), [0 0], [。25。3;3 1]);
[C, h] =轮廓(x1, x2, F, 10);
集(gca),“xlim”[-1.5,1.5],“ylim”[-2.5,2.5]);
clabel (C、h、“labelspacing”,500)
1评论
奥斯卡Hartogensis
奥斯卡Hartogensis 2011年1月26日
@Andrew:谢谢你的回应
. .
我使用了mvnpdf函数产生一个例子空间权重字段类似于真正的东西是基于物理模型。所以我不使用mvnpdf。
. .
真正的模型和基于mvnpdf例子是相似的轮廓从一个最大值处向外扩张,他们是收线。而非加权值本身的轮廓我想轮廓代表的累积贡献在每个区域轮廓线的总重量。首先轮廓线贡献10%,第二个20%等。

登录置评。


安德鲁·纽厄尔
安德鲁·纽厄尔 2011年1月27日
奥斯卡,真正的问题是如何定义的运作功能。一旦你可以计算它,你可以做一个像其他函数的等高线图。只有你能回答的问题是,你想如何定义它?例如,mvncdf (X)计算一个随机向量的概率将属于一些半无限矩形上限由X(参见文档)。等效为pdf,你需要能够整合分析或数值(可能使用Matlab的符号工具箱或一个正交函数)。但还有其他的方法可以定义——例如,距离的最大值。这一切都取决于你想使用这个函数。

约翰·莫斯利
约翰·莫斯利 2013年6月27日
这是伟大的奥斯卡。谢谢你的帖子。
约翰

类别

找到更多的在轮廓图帮助中心文件交换

下载188bet金宝搏

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!