finding the mean and reducing the value

2 ビュー (過去 30 日間)
johnson saldanha
johnson saldanha 2018 年 11 月 19 日
編集済み: Andrei Bobrov 2018 年 11 月 19 日
suppose i have a matrix x=[ 0.01 0.02 0.034 0.045 0.054 0.06]
and y=[1 1 1 2 1 1]
i want the output to be x1=[0.021 0.045 0.057] and y1=[1 2 1]
the number of elements in x and y are the same. whenever a repeating digit is encountered in the matrix y, the mean of the values in x for the number of reapeted values should be calculated and shown in x1 and the repeated values should be reduced to a single value and shown in y1

採用された回答

Andrei Bobrov
Andrei Bobrov 2018 年 11 月 19 日
編集済み: Andrei Bobrov 2018 年 11 月 19 日
y = [1 1 1 2 1 1]';
x = [ 0.01 0.02 0.034 0.045 0.054 0.06]';
ii = [true;diff(y(:)) ~= 0];
x1 = accumarray(cumsum(ii),x,[],@mean);
y1 = y(ii);

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeData Types についてさらに検索

Translated by