matlab中怎么将一列数据按照顺序平均分成矩阵.有快速的方法吗?
来源:学生作业帮 编辑:神马作文网作业帮 分类:综合作业 时间:2024/11/10 20:44:01
matlab中怎么将一列数据按照顺序平均分成矩阵.有快速的方法吗?
例如[1;2;3;4;5;6;7;8;9;10;11;12...]
怎么分成
[1 2 3
4 5 6
7 8 9
10 11 12...]
或者
[1 4 7 10
2 5 8 11
3 6 9 12...]?
假设刚好可以分(如本例,数据量是3的倍数).有什么命令可以不遍历吗?数据量比较大.谢谢
例如[1;2;3;4;5;6;7;8;9;10;11;12...]
怎么分成
[1 2 3
4 5 6
7 8 9
10 11 12...]
或者
[1 4 7 10
2 5 8 11
3 6 9 12...]?
假设刚好可以分(如本例,数据量是3的倍数).有什么命令可以不遍历吗?数据量比较大.谢谢
假设x=[1;2;3;4;5;6;7;8;9;10;11;12...]是你的数据,
下面的代码可以实现你的功能:
A=zeros(length(x)/3, 3); % 预设矩阵A的大小
A(:,1) = x(1:3:end-2);
A(:,2) = x(2:3:end-1);
A(:,3) = x(3:3:end);
A就是你要的矩阵.
再问: 谢谢。我最终需要得到的是1080*3000的一个矩阵,感觉这个方法好像还是需要循环有些耗费资源。请问你怎么看 A = zeros(length(x)/3000,3000); for i = 1 : 3000 A(:,i) = x(i:3000:end-(3000-i)); end
再答: 上面的方法对少数行或列的比较适用,当行列都比较多时,可以这么做: A1 = reshape(x,3000,1080); A = A1';
下面的代码可以实现你的功能:
A=zeros(length(x)/3, 3); % 预设矩阵A的大小
A(:,1) = x(1:3:end-2);
A(:,2) = x(2:3:end-1);
A(:,3) = x(3:3:end);
A就是你要的矩阵.
再问: 谢谢。我最终需要得到的是1080*3000的一个矩阵,感觉这个方法好像还是需要循环有些耗费资源。请问你怎么看 A = zeros(length(x)/3000,3000); for i = 1 : 3000 A(:,i) = x(i:3000:end-(3000-i)); end
再答: 上面的方法对少数行或列的比较适用,当行列都比较多时,可以这么做: A1 = reshape(x,3000,1080); A = A1';
matlab中怎么将一列数据按照顺序平均分成矩阵.有快速的方法吗?
matlab中,怎么把一列数据生成一个矩阵呢.
有一个2列的矩阵,怎么用Matlab通过其中一列数据提取所需要的数据
matlab中怎么将一个m*n矩阵变成一个m*n维一列的
matlab中怎么把数据转为矩阵
matlab中有一列很长的数列,如何将其中每隔24个数据中最大数提取出来?
一个很长的列矩阵在matlab中怎么分成多行多列的矩阵?
怎么在MATLAB中快速的创立一个零矩阵之类的矩阵
matlab 一列矩阵中提取某个矩阵的表示?
MATLAB中怎么将含有变量的矩阵求逆?
MATLAB中怎么在一个矩阵中加一列
怎样在matlab中把矩阵的两列合并成一列,只是把两列的数据放在一起