Matlab 查找分布范围内for循环的平均值
我有如下数据:Matlab 查找分布范围内for循环的平均值,matlab,for-loop,matrix,mean,Matlab,For Loop,Matrix,Mean,我有如下数据: 49.6 46.1 49.65 46.3 50.1 47.03 50.2 47.06 51.35 46.027 51.36 46.20 我想根据第一列的具体范围找到两列的平均值。例如,在[49-50]范围内,我应计算第一列的平均值和第二列中相应值的平均值。在本例中,子数组(仅第一列)带有数字 49.6 49.65 将在[49-50]范围内,因此我想在第2列中找到它们的平均值和相应值的平均值 范围类似于49:1:100。下面的代码无法
49.6 46.1
49.65 46.3
50.1 47.03
50.2 47.06
51.35 46.027
51.36 46.20
我想根据第一列的具体范围找到两列的平均值。例如,在[49-50]范围内,我应计算第一列的平均值和第二列中相应值的平均值。在本例中,子数组(仅第一列)带有数字
49.6
49.65
将在[49-50]范围内,因此我想在第2列中找到它们的平均值和相应值的平均值
范围类似于49:1:100
。下面的代码无法正常工作
for i=49:1:100
meanWithinRange(i) = mean(data(i,1));
end
我认为您正在寻找逻辑索引 首先,为列1的范围内值创建逻辑数组:
A=[49.6 46.1
49.65 46.3
50.1 47.03
50.2 47.06
51.35 46.027
51.36 46.20];
I = A(:,1)>=49 & A(:,1)<50;
因此,现在您可以简单地计算此结果的平均值
:
>> mean(A(I,:))
ans =
49.6250 46.2000
我认为您正在寻找逻辑索引 首先,为列1的范围内值创建逻辑数组:
A=[49.6 46.1
49.65 46.3
50.1 47.03
50.2 47.06
51.35 46.027
51.36 46.20];
I = A(:,1)>=49 & A(:,1)<50;
因此,现在您可以简单地计算此结果的平均值
:
>> mean(A(I,:))
ans =
49.6250 46.2000
“我想找到它们的平均值和第二列对应值的平均值”是什么意思?您为第二列选择的范围是什么?@Goldname与第一列的范围相同。什么意思“我想找到它们的平均值和第二列对应值的平均值”?您为第二列选择的范围是多少?@Goldname与第一列的范围相同。