我需要将一些特定大小的值(nsents
)存储到下面的scount
变量中。此数组存储数字(scores
),稍后变量scount
中的值将与类似数组的值分开,以获得总分数。其中一些值(scores
)为零。在评分期间,不会考虑阵列中的所有索引。具有0分的位置被视为“空”,而实际上考虑了该指数。我可以更改数组的大小,但这对我的其余代码不起作用。
scount = zeros(1,nsents);
如果我忽略了
之类的零totalscores(totalscores==0) = [];
然后连同未使用的索引我忽略那些已使用但得分为零的索引。你知道我怎么能解决这个问题吗?我对Matlab很新,所以如果我的问题不是很明确,我会道歉。谢谢
答案 0 :(得分:0)
很容易解决。首先,找到scount不为零的位置,代码为:
LL=find(scount~=0);
然后,仅对非零元素进行评分。例如,评分函数为score = 1. / scount,代码为:
score=zeros(1,nsents);
score(LL)=1./scount(LL);
因此,在位置变量LL的帮助下,评分过程与零值的跟踪无关。 希望它有所帮助。谢谢。