How to return a true/false logical array from a string array of repeating numbers?
古いコメントを表示
ans = 3 2 1 5 1 4 0
I want this to return a 7x1 logical array 0 0 1 0 1 0 0. Corresponding to the repeating “1” in the ans variable. Or 1 1 0 1 0 1 1. Whichever is easier to program. How do I do this?
採用された回答
その他の回答 (1 件)
Jon
2022 年 7 月 7 日
x = [3 2 1 5 1 4 0]
L = x == 1
5 件のコメント
Liv
2022 年 7 月 7 日
Sorry I misunderstood what you were looking for. I think this does what you want:
x = [3 3 2 1 5 1 0 4]
u = unique(x)
[N,edges,bin]= histcounts(x,[u,u(end)+1])
N(bin)>1
Jon
2022 年 7 月 7 日
Does this also do what you want?
Liv
2022 年 7 月 7 日
That's fine as long as you have a solution, but I'm puzzled, as to why you would have array bounds errors, when as you can see it ran without issues in the small example I show above. As you had an array bounds error, are you sure you used :
[N,edges,bin]= histcounts(x,[u,u(end)+1])
and not:
[N,edges,bin]= histcounts(x,[u,u(end+1)])
カテゴリ
ヘルプ センター および File Exchange で Operators and Elementary Operations についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!