你可以使用reshape函数进行处理。
例子如下:
A = 1:10;该命令具体的用法可以用下面命令来查看:
doc reshape下面是Matlab里面关于这个命令的解释:
B = reshape(A,sz) reshapes A using the size vector, sz, to define size(B). For example, reshape(A,[2,3]) reshapes A into a 2-by-3 matrix. sz must contain at least 2 elements, and prod(sz) must be the same as numel(A).
B = reshape(A,sz1,...,szN) reshapes A into a sz1-by-...-by-szN array where sz1,...,szN indicates the size of each dimension. You can specify a single dimension size of[] to have the dimension size automatically calculated, such that the number of elements in B matches the number of elements in A. For example, if A is a 10-by-10 matrix, thenreshape(A,2,2,[]) reshapes the 100 elements of A into a 2-by-2-by-25 array.
下面是关于上面那个例子的解释:
Reshape a 1-by-10 vector into a 5-by-2 matrix.
A = 1:10;
B = reshape(A,[5,2])
B =
1 6
2 7
3 8
4 9
5 10
可以用reshap(),也可以直接“捋直”了。
为了清晰点,给你举个例子吧:
a=[1,2;3,4;];
b=a(:);
c=reshape(a,[],1);
得到的b,c都是一样的一维列向量。
reshape介绍:
reshape函数重新调整矩阵的行数、列数、维数。在matlab命令窗口中键入docreshape或helpreshape即可获得该函数的帮助信息。
用法:
B = reshape(A,m,n)
B = reshape(A,m,n,p,...)
B = reshape(A,[m n p ...])
B = reshape(A,...,[ ],...)
B = reshape(A,siz)
程序示例:
close all; clear; clc;
A = [1 2 3; 4 5 6; 7 8 9; 10 11 12] % 4 by 3
B = reshape(A, 2, 6) % 2 by 6
% C = reshape(A, 2, 4) % error
% D = reshape(A, 2, 10) % error
E = reshape(A, 2, 3, 2) % 2 by 3 by 2
注意:reshape函数对原数组的抽取是按照列抽取的(对原数组按列抽取,抽取的元素填充为新数组的列)
本回答被网友采纳matlab中怎样将一维数组转化为二维矩阵
1、首先需要知道matlab中将一维数组转化为二维矩阵的,使用的是reshape函数,可以在命令行窗口help reshape,看一下函数用法,如下图所示。2、输入a=[1 2 3 4 5 6 7 8],创建一个一维数组a,如下图所示。3、接着输入reshape(a,2,4),将一维数组转化为2行4列的二维矩阵,如下图所示。4、按...
matlab中怎样将一维数组转化为二维矩阵
1、可以使用内置的reshape函数 2、reshape把指定的矩阵改变形状,但是元素个数不变,例如,行向量:a = [1 2 3 4 5 6]执行下面语句把它变成3行2列:b = reshape(a,3,2)执行结果:b = 1 4 2 5 3 6 觉得有帮助就采纳吧
matlab中用for循环将一维数组变二维数组 程序代码
对于你的问题,不需要用for循环将一维数组变二维数组。由于reshape函数要求的数据格式为double,而你导入的数据格式为其他型式,所以用reshape函数处理出现错误。根据你的问题,我分别从含有17200行x1列数据文件(lhm.txt;lhm.mat)导入matlab后,可以成功用reshape函数分解成43行400列的矩阵。
matlab怎样将一维行列数据读成二维?
>> a = [1,2,3,4,5,6]a = 1 2 3 4 5 6>> b = reshape(a,3,2)'ans = 1 2 3 4 5 6
MATLAB中,在一个三维矩阵中如何提取出一个二维矩阵?
设原三维数组为a,用permute(a(:,1,:),[1 3 2]):>> a=rand(2,3,4)a(:,:,1) = 0.3046 0.1934 0.3028 0.1897 0.6822 0.5417a(:,:,2) = 0.1509 0.3784 0.8537 0.6979 0.8600 0.5936a(:,:,3) = 0.4966 0.8216 ...
在MATLAB环境如何生成一个二维矩阵?
fid=fopen('a.txt','r');x=fscanf(fid,'%f %f',[2,inf])
如何运用matlab对数据转化为矩阵?
这创建了一个 cell 数组 c,其中包含两行三列的字符串元素。通过:a = cell2mat(c)将 c 转换为矩阵 a。现在,a 将以数字形式存在,与定义矩阵时类似。在实际应用中,数据转换为矩阵可能需要处理更复杂的数据结构。例如,CSV 文件或 Excel 表格可能需要先读取数据,然后使用相应的 MATLAB 函数进行...
matlab 知道一个矩阵,怎么将它变为二维坐标,并画出直线。
D=[3 3;3 5;4 2;4 7];figure(1)plot(D(1:2,1),D(1:2,2))%%%前两个点 figure(2)plot(D(3:4,1),D(3:4,2))%%%后两个点
matlab把矩阵翻转怎么操作?
将一维数组逆序排列步骤(如a=[1,2,3,4,5]转成b=[5,4,3,2,1]):1、双击打开matlab应用程序。2、在matlab界面中的“命令行窗口”中输入命令。3、根据红色区域位置,在“命令行窗口”输入“a=[1,2,3,4,5]”。4、通过函数fliplr求矩阵逆序排列,在“命令行窗口”输入“b=fliplr(a)”,...
matlab中怎样将三维数组的一个维赋给二维 如A(:,:,1)赋给一个二维...
1 三维数组中的各个为也是二维数组,所以赋值可以直接赋即可!假设A是三维数组,B是二维数组 B=A(:,:,1),B=A(:,:,2),B=A(:,:,3)分别把A的三维中的一、二、三维赋给B。2 matlab操作比较简单,用一个循环即可,控制其列 >> a=rand(5,5)a = 0.9501 0.7621 0.6154 0....