Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Matlab 查找分布范围内for循环的平均值_Matlab_For Loop_Matrix_Mean - Fatal编程技术网

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与第一列的范围相同。