问题findpeaks 3 d网格
2视图(30天)
显示旧的评论
嘿,所有的,
我有一个速度值除以720时间步曲线网格(40 x144x720)。我想获得所有网格点的峰值。我有一个问题是,山峰的数量在所有的点都是不同的。
我试着使用函数findpeaks,如果我离散化,它工作得很好。我的问题是,当我尝试´循环和我不知道我存储输出。
u_atl =挤压(u (:,: 1:));%的大小(40 x144x720)
n = 720;%的时间步骤
我= 0 (40144);% latitud和longitud
j = 0 (40144);
为i = 1时
为j = 1:144
为k = 1: n
[pval (i, j, k), ploc (i, j, k)] = findpeaks (u_atl (i, j, k),“minpeakdistance”6);
[peak_ebb (i, j, k), ploc (i, j, k)] = findpeaks (-u_atl (i, j, k),“minpeakdistance”6);
结束
结束
结束
Matlab中我很新,因此我希望你能帮助我。
谢谢你的建议,
米格尔。
0评论
接受的答案
埃米尔哈姆萨
2020年5月9日
编辑:埃米尔哈姆萨
2020年5月9日
findpeaks()需要一个向量,而你通过一个标量。它将无法正常工作。同样,如果峰值的数量是不同的,那么您将需要使用一个细胞数组来存储所有值。正常数组只能持有价值当所有的尺寸是相同的长度。这样的尝试
u_atl =挤压(u (:,: 1:));%的大小(40 x144x720)
pval =细胞(144);
ploc =细胞(144);
peak_ebb =细胞(144);
ploc_ebb =细胞(144);
为i = 1时
为j = 1:144
[pval {i, j}, ploc {i, j}] = findpeaks(挤压(u_atl (i, j,:)),“minpeakdistance”6);
[peak_ebb {i, j}, ploc_ebb {i, j}] = findpeaks(挤压(u_atl (i, j,:)),“minpeakdistance”6);
结束
结束