Hello
I got a 6x6x365 matrix. 365 refers to days in the year 6x6 are individual values.
I am trying to find a way of writing a loop that would:
  • identify changes in the 6x6 values, BUT - the values have to change by (more or equal to) 24 and the change has to occur in the same place in the matrix AND the day after yesterday (for example there is a value of 50 in a third row, third column, the next day it drops to 20 also in a third row, third column)
  • create another 6x6x365 matrix with the results (I was thinking of a binary matrix - 0 everywhere where there's no change and 1 when the change occurs)
I'm slightly out of ideas on how to approach the problem (especially the same column-same row part and creating a Boolean matrix)
I'm also open to any other ideas of how to sort the data
Any help would be very appreciated, thank you

 채택된 답변

the cyclist
the cyclist 2023년 3월 27일

1 개 추천

If M is your data,
bigChange = abs(diff(M,1,3)) >= 24;

댓글 수: 5

That seems to be a good way of doing that; do you know why does it only look for the differences in a first column of my data?
Running the code below I get that kind of table:
6 1 3
7 1 3
8 1 3
11 1 3
12 1 3
22 1 7
23 1 7
3 1 24
4 1 24
9 1 24
15 1 34
21 1 34
27 1 34
25 1 50
26 1 50
30 1 50
31 1 50
36 1 50
27 1 53
drop24 = abs(diff(SLPlimited,1,3)) >= 24;
idx=find(drop24==1);
[row,col,day]=ind2sub(size(idx),idx);
ST=[row,col,day]
the cyclist
the cyclist 2023년 3월 27일
편집: the cyclist 2023년 3월 27일
This algorithm does not only look in the first column. It searches the whole array.
Can you upload SLPlimited, in a MAT file? (You can use the paper clip icon in the INSERT section of the toolbar.)
OcDrive
OcDrive 2023년 3월 28일
편집: OcDrive 2023년 3월 28일
I'm attaching it here.
I suppose it's possible that the change only occurs in the first column of the data but it wouldn't really make sense in the real life.
You need
[row,col,day]=ind2sub([6,6,364],idx);
instead of
[row,col,day]=ind2sub(size(idx),idx);
OcDrive
OcDrive 2023년 3월 28일
That works great. Thanks so much!

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Resizing and Reshaping Matrices에 대해 자세히 알아보기

제품

질문:

2023년 3월 27일

댓글:

2023년 3월 28일

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by