基于多个指标阈值分配值-向量化解决方案?

1次查看(最近30天)
琼娜Fyffe
琼娜Fyffe 2020年3月20日
评论道: 琼娜Fyffe2020年3月20日
我想给变量赋不同的值(SRF),它是在循环中使用的,它是运行的时间(每小时间隔)。目前在一个矩阵(41,3)中有一个SRF值矩阵。我希望根据年份(1:3)提取值列表(全部41个)。在后面的循环中,我从列表中取出每个值,但首先我需要使用年份设置列表。我已经在一个变量中提取了每年的最小和最大指标(与时间有关):
year_no_idx =
1 3816
3817 11832
11833 16392
我希望在已经超过每小时的时间循环中做这件事,但我不想再添加一个超过一年的循环,因为之后还会有其他几个维度(3个),我不想让事情变得更复杂。我觉得一定有一种简单的方法可以用矢量化的方式来做这件事,但我真的找不到任何有用的线索。我不能只写三个if语句,因为以后我要为其他数据运行相同的代码,以后还要为每个月运行相同的代码,所以它必须健壮。谢谢你的建议!
1评论
琼娜Fyffe
琼娜Fyffe 2020年3月20日
没关系,我决定在主循环之前实现一个单独的循环,它做我在主循环之后做的事情。如果你能对这类东西进行矢量化,那就更好了。
y = 1:马克斯(year_no)
我= x1, x2
如果(year_no_idx (y, 1) < =我)& & (year_no_idx (y, 2) > =我)
SRF_hourly_year(我:)= SRF_list_fine_year (:, y);
结束
结束
结束

登录评论。

答案(0)

社区寻宝

在MATLAB中心找到宝藏,并发现社区如何可以帮助你!

开始狩猎!