查找索引号

时间:2015-02-27 21:41:36

标签: matlab

我有以下功能,其中我尝试接收向量(VectorX)和标量(thresholdY)。我想检查1)vectorX中的任何元素是否小于thresholdY和2)vectorX的最小元素是否小于{{1}的第二个最小元素的0.8倍}。

如果1)和2)都满意,那么我想返回我们当前所在的vectorX索引。

这就是我现在所知道的(抱歉它有点乱):

vectorX

有人能告诉我哪里出错了吗?我期待的答案是44,但我一直都是0。

如果它有用,请按以下方式将参数传递给我的函数:function [Z] = findCorr(vectorX, thresholdY) Z = 0; %A is our vector (for easier use) A = vectorX; %As is our sorted vector As = sort(vectorX,'ascend'); %Am is A's min and Am2 is the second smallest value in A Am = min(As); Am2 = As(2); %Ap is 0.8 of Am2 Ap = Am2 / 100 * 80; %flag for breaking out of all loops flag = 0; for i = 1:A if A(i) < thresholdY && Am < Ap Z = find(A(:,i)); flag = 1; break else Z = 0; end %use a flag to break out of loop if flag == 1 break end end Z

0 个答案:

没有答案