我不能得到与之关联的值的最大频率“histcounts”功能。

1视图(30天)
标题可能不是最好的,但我想写一个for循环,将地震数据。我有一个网格点,代码将每个地震计算每个点的距离,并撤出200事件接近这一点。我然后每个地震的震级使用“histcounts”,我试着把大小与最大频率由“histcounts”。这一点就是代码了,总是在14日迭代出于某种原因。我运行代码,我粘贴下面的错误消息:
k = 43%这个错误出现在k = 14,我没有能够克服这一点。
半径= R *这些“可信赖医疗组织”(信德(网格(k, 2))。*信德(lat1) + cosd(网格(k, 2))。* cosd (lat1)。* cosd(网格(k, 1) -lon1));
事件= (mag半径);
= sortrows事件(事件,2);
一般=事件(:1);
maxr (k) =事件(200 2);
dmag =一般(1:200);
[magcount,杂志]= histcounts (dmag,“BinWidth”,0.1);
maxct = max (magcount);%到目前为止工作
comag =杂志(maxct);%这里休息
Mc (k) = comag;
结束
指数超过数组元素的数量(26)。
我已经尝试使用“histcounts”代码做类似的事情和工作,但我不确定这是怎么回事。我认为问题是有不同大小相同的发生频率,因此在技术上有多个最大值时,只能打印一个代码,但这似乎是这样一个可能的问题,一定有办法解决。
任何帮助将不胜感激。

接受的答案

史蒂文的主
史蒂文的主 2020年11月5日
如果你想要的杂志元素对应元素magcount是最大的向量,您需要使用 第二个 输出 马克斯 。第一个输出值,第二个是指数。考虑一个例子向量[1 2 4 42 5]。
x = 42 (1 2 4 5];
m = max (x)%最大值
m = 42
(m, loc) = max (x)%最大值和最大值的位置
m = 42
loc = 3
我没有测试这段代码,但我希望它工作。因为我没有你的数据我包装这一块的评论可以评估第一个代码部分。
% {
[maxct, maxctloc] = max (magcount);%到目前为止工作
comag =杂志(maxctloc);%这里休息
流(“magcount的最大值,% d,发生在元素% d。元素% d杂志% f。\ n”,
maxct、maxctloc maxctloc comag)
%}
由于magcount是第一个输出 histcounts 这是一个计数,所以一个整数值。这就是为什么我可以使用% d 格式字符串来显示它。同样maxctloc索引,因此是一个整数值。边向量的元素杂志可能不是整数,所以我用% f格式。

更多的答案(0)

标签

社区寻宝

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

开始狩猎!