问题findpeaks 3 d网格

2视图(30天)
米格尔安德烈斯
米格尔安德烈斯 2020年5月9日
评论道: 埃米尔哈姆萨 2020年5月10日
嘿,所有的,
我有一个速度值除以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中我很新,因此我希望你能帮助我。
谢谢你的建议,
米格尔。

接受的答案

埃米尔哈姆萨
埃米尔哈姆萨 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);
结束
结束
6个评论
埃米尔哈姆萨
埃米尔哈姆萨 2020年5月10日
我很高兴有帮助。

登录置评。

更多的答案(0)

社区寻宝

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

开始狩猎!