MATLAB Answers

Auryn_
0

How to show the values are constant inside a cell array

Auryn_
さんによって質問されました 2018 年 9 月 12 日
最新アクティビティ dpb
さんによって コメントされました 2018 年 9 月 13 日
Hi,
I have a cell array that is 4x6. Inside each cell I have 1x31 values.
I am studying the change of my variables in time. Thus, for a t_length=31 (31 values in each cell), I would like to show whether in each cell the values are or not constant.
Could you please help me with it?

  0 件のコメント

サインイン to comment.

タグ

1 件の回答

dpb
回答者: dpb
2018 年 9 月 12 日

Presuming interpreted the meaning of "constant" in each cell,
>> c{:} % small demo cell array first,last constant, other two alike
ans =
3 3 3 3
ans =
1 2 3 4
ans =
1 2 3 4
ans =
3.1416 3.1416 3.1416 3.1416
>> cellfun(@(x) all(x==x(1)),c)
ans =
2×2 logical array
1 0
0 1
>>
returns locations in the cell array that all are constant (every value in the vector in the cell are the same).
If the Q? is which cells are equal to each other, that's a "compare one to every other" combinational thing.

  2 件のコメント

Auryn_
2018 年 9 月 13 日
Hi,
At the end I would like to plot (in 2D) those regions where my variables are constant in time. So I have my cell array of 4x6. Inside each cell I have 1x31 values. In the end I want to plot the constant regions in time on a 2d plot (4x6). Does it make sense? Thanks!
dpb
2018 年 9 月 13 日

You're talking about subsections within these vectors that are constant? Is that anywhere within them that diff() two or more points is zero or what other definition is "constant"? What about

v=[0 1 2 2 1 1 2 2 3 4 ...

? What is desired output or what are constraints on inputs?

サインイン to comment.



Translated by