使用循环累积数据

5视图(30天)
里斯•米尔福德
里斯•米尔福德 2019年2月25日
评论道: 明星黾 2019年2月28日
嗨,MatLab向导,
我有一个作业的问题,我无法弄清楚如何完成。
我有一个txt文件与地震数据(年月日小时分钟第二lat长深度大小),我要创建一个数组的所有地震7级和更高的每一年。
这是我迄今为止。
eq_cat =负载(“usgs_events.txt”);
找Mag_7 = ((eq_cat (: 10) > = 7));
然后我需要使用找到类似的
i = 1920:2020
找Mag_7_year = ((eq_cat (: 10) > = 7) & (eq_cat(: 1) = =我))
但我真的不知道接下来要去哪里。
谁能帮忙吗?
谢谢
编辑:文本文件上传,小心这几乎是76000线长

接受的答案

明星黾
明星黾 2019年2月25日
你是一个好的开始。你需要使用 独特的 函数和 accumarray 函数来得到你想要的结果。唯一的一部分,这不是显而易见的是,你需要用你的 “Mag_7” 向量的 “val” 论点。你可以找出自己的其余部分。您将需要使用一个匿名函数(第四个参数 accumarray 细胞)来创建数组来得到你想要的输出。编码的匿名函数非常简单。
当然还有其他的方法可以做到这一点,但是这可能是最有效的。(我能做四行,包括 负载 电话。)
4评论
明星黾
明星黾 2019年2月28日
像往常一样,我的荣幸。
直方图函数一定会工作。这是问题的关键 accumarray 所做的事。
我以为你想要的所有信息,而不仅仅是数量。我的代码前,尽管它很容易可以改变它让后者。
我会提醒你的 长度 函数。本质上它输出 max(大小(x)) ,并将报告行大小如果这是最大的尺寸。它通常是更可靠的使用 大小 与数组函数, 元素个数 与向量,所以你知道你得到你想要的信息。

登录置评。

更多的答案(0)

社区寻宝

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

开始狩猎!