我有一些不同大尺寸的矢量,它们的值介于0
和1
之间。我想保存那些十进制有任何变化的元素索引。举个小例子,我们假设
V=[0.02,0.1,0.4,0.0054,0.05];
现在ouptput应该是
i={2,4,5}
请您告诉我怎么做?
答案 0 :(得分:0)
count = arrayfun(@(x) regexp(num2str(x),'\.','split'),V, 'UniformOutput', false)
dp = cell2mat(arrayfun(@(x) length(x{2}),count, 'UniformOutput', false))
find(diff(dp))+1
我是这样做的。首先我分开数字然后我找到第二个词的长度,最后,我发现长度是否与之前的长度不同..
答案 1 :(得分:0)
根据@Luis Mendo的建议(包括他删除〜= 0 的建议),这里的评论作为答案。您可以使用对数函数来确定您的小数位数。
i = find(diff(floor(log10(V))))+1
请务必使用 floor 来设置可与0比较的整数值。