MATLAB 数组加权平均值计算:根据数据范围赋予权重
%20输入数据数组%0Adata%20%3D%20%5B1%2C%202%2C%203%2C%204%2C%205%5D%3B%0A%0A%20%2F%2F%20计算数据的范围%0Adata_min%20%3D%20min(data)%3B%0Adata_max%20%3D%20max(data)%3B%0A%0A%20%2F%2F%20根据数据范围为每个数据赋予权重%0Aweights%20%3D%20zeros(size(data))%3B%0Afor%20i%20%3D%201%3Alength(data)%0A%20%20if%20data(i)%20%3C%3D%20data_min%20%2B%20(data_max%20-%20data_min)%20%2F%203%0A%20%20%20%20weights(i)%20%3D%200.2%3B%0A%20%20elseif%20data(i)%20%3C%3D%20data_min%20%2B%202%20*%20(data_max%20-%20data_min)%20%2F%203%0A%20%20%20%20weights(i)%20%3D%200.5%3B%0A%20%20else%0A%20%20%20%20weights(i)%20%3D%200.3%3B%0A%20%20end%0Aend%0A%0A%20%2F%2F%20计算加权平均值%0Aweighted_mean%20%3D%20sum(data%20.*%20weights)%20%2F%20sum(weights)%3B%0A%0A%20%2F%2F%20输出结果%0Adisp(%22加权平均值为%3A%20%22%20%2B%20weighted_mean)%3B%0A%0A%20%2F%2F%20在这个程序中,我们首先输入数据数组data,然后计算数据的范围data_min和data_max。接下来,我们使用一个循环为每个数据赋予权重,根据数据所处的范围不同,将不同的权重值赋给weights数组。最后,我们使用加权平均值的公式计算加权平均值,并将结果输出。
原文地址: https://www.cveoy.top/t/topic/qb7P 著作权归作者所有。请勿转载和采集!