Matlab如何求一组数据平均值

2025-01-20 15:42:35
推荐回答(3个)
回答1:

  a=randint(4,4,[1 2])%%标记图像矩阵
  a =
  2 2 2 2
  1 2 1 2
  2 1 2 1
  1 1 2 1
  b=rand(4,4)%%原图像矩阵
  b =
  0.9355 0.0579 0.1389 0.2722
  0.9169 0.3529 0.2028 0.1988
  0.4103 0.8132 0.1987 0.0153
  0.8936 0.0099 0.6038 0.7468
  >> n1=0;n2=0;sum1=0;sum2=0;%%初始化各个参数
  >> for i=1:size(a,1)
  for j=1:size(a,2)
  if a(i,j)==1
  sum1=sum1+b(i,j);%%累加第一个区域的各个像素值
  n1=n1+1;
  else
  sum2=sum2+b(i,j);%%累加第二个区域的各个像素值
  n2=n2+1;
  end
  end
  end
  >> mean1=sum1/n1%%第一个区域的像素平均值
  mean1 =
  0.5141
  >> mean22=sum2/n2%%第二个区域的像素平均值
  mean22 =
  0.3521

回答2:

假设2264个数据为列向量data,代码就可以这样子写~
data=reshape(data,65,[]);
junzhi=mean(data,2);
junzhi就是要求的值了

回答3:

原始数据B、C列含有“,”,需要先行处理。
将数据粘贴到matlab目录下新建的pingjun.txt文档中。代码如下:

load pingjun.txt;
A=pingjun;
for i=1:12
for j=2:3
mean_l(i,j)=mean(A(find(A(:,1)==i),j));
end
end
以上回答你满意么?