MATLAB问题,如何将一列一维数组按每m个一组平均拆解为m行*n列的矩阵??

供稿:hz-xin.com     日期:2025-01-15
matlab中如何将矩阵转化为一维数组

x=[1 2 3;4 5 6;7 8 9]
x=x(:)

x =

1 2 3
4 5 6
7 8 9


x =

1
4
7
2
5
8
3
6
9

用mean函数可以求每一列的平均值
求每一行的平均值可以矩阵转置的方法
========================
对矩阵A,
mean(A)%每一列的平均值
mean(A')%每一行的平均值

==================
for循环复制数组A
for i = 1:max(size(A))
B(i) = A(i)

end

用reshape吧,reshape默认按照列取,假定A是一个一维数组:
tmpA = A(:); % 保证数据为列向量
result = reshape(tmpA, m, n); % 其中length(tmpA) = m*n,需要保证数据长度变换前后一致

reshape(A,m,n)