Matlab 选择子矩阵的元素
我有一个由100个子矩阵组成的矩阵。每个子矩阵有6个元素(1*6) 我需要计算每个子矩阵的第一个元素的平均值,然后 第二,等等 例如:Matlab 选择子矩阵的元素,matlab,submatrix,Matlab,Submatrix,我有一个由100个子矩阵组成的矩阵。每个子矩阵有6个元素(1*6) 我需要计算每个子矩阵的第一个元素的平均值,然后 第二,等等 例如: B=[4,**3**,2,1,1,2] C=[4,**3**,5,1,1,2] D=[6,**3**,2,1,1,2] A={B,C,D} …等等 所以我要求的平均值,然后是下一个等 我该怎么做 提前感谢,我想您需要的是命令cell2mat。这里有一个小脚本,说明如何在不知道数据大小的情况下自动计算。让我知道这是否是你想要的 % Problem vec1 =
B=[4,**3**,2,1,1,2]
C=[4,**3**,5,1,1,2]
D=[6,**3**,2,1,1,2]
A={B,C,D}
…等等
所以我要求的平均值,然后是下一个等
我该怎么做
提前感谢,我想您需要的是命令
cell2mat
。这里有一个小脚本,说明如何在不知道数据大小的情况下自动计算。让我知道这是否是你想要的
% Problem
vec1 = [4,3,2,1,1,2];
vec2 = [4,3,5,1,1,2];
vec3 = [6,3,2,1,1,2];
A = {vec1,vec2,vec3};
% get dimensions
cols = numel(cell2mat(A(1)));
rows = numel(A);
% convert list of vectors to matrix
M = cell2mat(A);
M = reshape(M,[cols,rows]);
M = M';
means = mean(M)
你能举一个矩阵的小例子吗?我不知道它是
100x6
,1x600
,还是什么。矩阵A(1100)包含100个子矩阵B,C,D。。。那么,B是一个1*6的矩阵,这对我来说毫无意义。是一种结构吗?细胞阵列?你能举一个小例子说明你的矩阵是什么样子吗?请使用有效的MATLAB语法。。。我删除了我的答案,因为你真正的问题与选择子矩阵的元素无关。这意味着首先要有一个矩阵,而事实显然并非如此。如果您向我们展示您的真实数据并告诉我们真正的问题是什么,也许我们可以提供帮助。是的,这正是我们所需要的!Thks为您提供帮助如果您在将A转换为矩阵之前转置M=cell2mat(A.),会容易得多
或者更快的是,means=mean(cell2mat(A.)
。