使用循环累积数据
5视图(30天)
显示旧的评论
嗨,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))
,并将报告行大小如果这是最大的尺寸。它通常是更可靠的使用
大小
与数组函数,
元素个数
与向量,所以你知道你得到你想要的信息。