我目前在大学时必须做的一些Matlab练习有些问题。也许你可以帮忙。
有一个大约100个数字的数组x,我现在必须找到一个最接近数组平均值的数字。 我不知道怎么做 - 你能帮助我吗?
答案 0 :(得分:1)
有很多方法可以解决这个问题,首先要说你有一个长度为100的向量:
A = randi(100,1,100); %generate 100 random ints
Mu = mean(A) %mean of A
%for example - subtract by mean and take abs
B = abs(A-Mu);
[C idx] = min(B); %index of closest value
result = A(idx); %closest value
%Another method perhaps:
[sortA indA]= sort(A); %sort A
[N,bin]=histc(Mu,sortA); %use histc to find the bin closest
index=bin+1;
if abs(Mu-sortA(bin))<abs(Mu-sortA(bin+1))
fclosest=sortA(bin)
index=bin;
else
fclosest=sortA(index)
end
答案 1 :(得分:1)
这是一个非常简单的问题!希望这会有所帮助,......
答案 2 :(得分:0)
这不是一个很难的问题,现在是吗?使用mean
- 命令搜索平均值。现在计算数组和均值之间的差异,并使用
[min_value, index] = min(abs(difference));