2016-06-22 24 views
-4

私は現在、大学で行う必要のあるMatlabの練習問題にいくつか問題があります。あなたが助けることができるかもしれない。Matlabの問題 - 平均値に最も近い値を見つける

約100個の配列xがあり、今では配列の平均値に最も近いものを見つける必要があります。 私はそれを行う方法が分かりません - 私を助けることができますか?

+1

何を試しましたか?あなたは、平均を見つけて、各点がそれからどのくらい離れているかを見つけることによって始めてもよいでしょう – Steve

+0

あなたのコードを教えてください。これまでに何を試しましたか? – jonie83

答えて

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 
0

は本当に難しい問題ではないのです。つまり、それは今ですか? mean-コマンドを使用して平均を検索します。今アレイ定義アレイ

  • は/平均= SUM(A)を検索
  • 和を定義し、あなたの配列と平均値との差を計算し、

    [min_value, index] = min(abs(difference)); 
    
  • 1
    1. を使用して最小値を決定します長さ(A)
    2. 差=平均検索 - ステップ5の位置を見つける差=分(差分)
    3. の最小値を探すループ
    4. を使用して(I)%を上記の配列の上にあなたに答えを与えるでしょう..

    これは非常に簡単な問題です!これが助けてくれることを願って...

    関連する問題