matlab中怎样将一维数组转化为二维矩阵

作者&投稿:司马燕 (若有异议请与网页底部的电邮联系)
MATLAB中怎么把一维数据转换成二维数据~

一维转二维的方法:
"数据"菜单有个"数据透视表和数据透视图"
点"下一步"
点击上述窗口中选择数据范围,如:"课程号,课程名称,学分,管理班,学号,姓名"
选好后点"下一步"
以上窗口点"完成"

可以用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函数对原数组的抽取是按照列抽取的(对原数组按列抽取,抽取的元素填充为新数组的列)

1、首先需要知道matlab中将一维数组转化为二维矩阵的,使用的是reshape函数,可以在命令行窗口help reshape,看一下函数用法,如下图所示。

2、输入a=[1 2 3 4 5 6 7 8],创建一个一维数组a,如下图所示。

3、接着输入reshape(a,2,4),将一维数组转化为2行4列的二维矩阵,如下图所示。

4、按回车键之后,可以看到a数组转化为二维矩阵了,如下图所示。

5、最后输入reshape(a,4,2),可以转化为4行2列的矩阵,需要注意的一维数组需要和转化的二维矩阵元素相等,如下图所示。



你可以使用reshape函数进行处理。

例子如下:

A = 1:10;
B = reshape(A,[5,2])

该命令具体的用法可以用下面命令来查看:

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中如何将一维数组转换成图像
matlab创建数组 其他类似问题2015-05-28 matlab怎样读取图像得到图像的矩阵?这个矩阵再怎么转换为... 2 2016-02-08 matlab中怎样将一维数组转化为二维矩阵 3 2013-06-08 matlab中怎样把图像转化为一维数组,谢谢,急求答案!!! 4 2015-04-26 matlab中怎样将一维数组转化为二维矩阵 1 2013-05-26 使用matlab...

你好,向您请教一下,如何在MATLAB中实现,将.txt文件中数据前后颠倒?
在MATLAB中实现,读入a.txt文件中数据(忽略英文分号、逗号和换行),再前后颠倒每一行的数字顺序,再输出,代码如下:p=textread('a.txt','%s','delimiter',',;\\n','whitespace','');p=cell2mat(p);disp('input');disp(p);disp('output');q=p(:,end:-1:1);disp(q);输入的a.txt...

matlab怎样才将循环输出的数据结果放进一个矩阵中后用作他用?_百度知...
n = 10;\\x0d\\x0aB = zeros(1,n);\\x0d\\x0afor k = 1:n\\x0d\\x0a r = k; % 运算后数据\\x0d\\x0a B(k) = r; % 存入矩阵内\\x0d\\x0aend;

matlab如何将运行的结果保存在txt中?
fprintf(f_id,'\\n');%换行 end fclose(f_id);%关闭文件 运行结束后,打开当前目录的test.txt,会看到被输出的内容:值得注意的一点:fopen里面的模式对于文本文件,用的是'wt',后面要加一个t表示是文本文件,不然换行会出问题。如果用'w'模式则需要'\\r\\n'才会换行。对此matlab给出了如下解释...

怎么将matlab中mat数据保存为txt格式
1、首先在Matlab中生成一组数据data=0:1:1000;生成了0到1000的1001个数据,数据之间间隔为1。2、使用save函数,这是最简单的一种方法。首先查看一下save函数的介绍,在命令行窗口中输入doc save。3、可以看到save函数的功能是将工作控件中的变量保存到文件中,其格式如下。4、在命令行窗口输入save(...

matlab怎样将循环输出的数据结果放进一个矩阵中,然后用作他用?_百度知...
n = 10;B = zeros(1,n);for k = 1:n r = k; % 运算后数据 B(k) = r; % 存入矩阵内 end;

怎样用matlab将图像转化为矩阵?
用matlab将图像转化为矩阵的方法 1、a=imread('1.jpg');2、图像imread后,a已经是矩阵了(彩色的3维,灰度2维);3、matlab操作数据以矩阵为基础,也就是计算都是矩阵啦。matlab的作用 它可以用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境。我曾经用它做运筹学方面的...

如何用Matlab将txt中的许多16进制数转化为10进制数
16进制转10进制 转化方法二 [wenjian_ming,lujing_ming] = uigetfile('c:\\a.txt','导入数据');fid=fopen(strcat(lujing_ming,wenjian_ming),'r');data=[];while ~feof(fid)m=fscanf(fid,'%3x',[1 inf]);data=[data;m]; %将读出的数据存入data矩阵中 end alpha=data;保存文件方...

MATLAB如何将excel数据导入matlab中?
将Excel数据导入MATLAB中,需要先将数据录入到Excel中,然后再将其导入到MATLAB中参与矩阵运算。具体步骤如下:1. 将需要导入的矩阵结构数据输入Excel,注意列与列与原矩阵的一一对应。2,输入保存数据后,使用以下步骤,我们有更好的名字作为变量的名称,我们想参考在MATLAB(例如,在MATLAB矩阵B矩阵参与操作,你...

怎样在MATLAB中将字符串中的数据读入矩阵,如将字符串S0169S1230S5641读...
\/\/ end else if my_mc.cat._visible =0;dati = filexml.firstChild.childNodes[categoriasito].childNodes;for (i=0; i<dati.length; i++) { my_mc.cat.duplicateMovieClip("cat"+i, i*1+5000);my_mc["cat"+i].loader.loadMovie(dati[i].attributes.urlimage);my_mc["cat"+i]....

南湖区13235343073: matlab中怎样将一维数组转化为二维矩阵 -
狄珍头孢: 1、可以使用内置的reshape函数2、 reshape把指定的矩阵改变形状,但是元素个数不变,例如,行向量:a = [1 2 3 4 5 6] 执行下面语句把它变成3行2列:b = reshape(a,3,2) 执行结果:b =1 42 53 6 觉得有帮助就采纳吧

南湖区13235343073: MATLAB如何将一维数组转化为三维数组 -
狄珍头孢: 6*30*15=2700,与原始数据量不同.所以...用reshape一下子就转换了,不用编程.

南湖区13235343073: matlab里面一个2000X1的一维数组,怎样转换成400X5的数组,reshape函数不是按照顺序来排的 -
狄珍头孢: MATLAB数组是以列序为主序存储的.如果希望以行序为主序,转成5x400的数组再转置:reshape(A,[5 400]).'例如:>> A=[1 2 3 4 5 6 7 8 9 10]';>> reshape(A,[5 2]) ans = 1 6 2 7 3 8 4 9 5 10>> reshape(A,[2 5]).' ans = 1 2 3 4 5 6 7 8 9 10

南湖区13235343073: 一维数组如何用matlab转换成傅里叶频谱图 -
狄珍头孢: 假设数据名叫data 那么fftdata = fft(data);是数据的频域数据,是复数 absfftdata = abs(fftdata);是数据频率成分的模值平方 可以用absfftdata作为数据的傅里叶频谱图 画图是plot(absfftdata);你可以试试

南湖区13235343073: Matlab中数组转化为矩阵的函数是什么 -
狄珍头孢: reshape.reshape函数重新调整矩阵的行数、列数、维数.在matlab命令窗口中键入doc reshape或help reshape即可获得该函数的帮助信息.调用格式:B = reshape(A,m,n) 返回一个m*n的矩阵B, B中元素是按列从A中得到的.如果A中元素个数没...

南湖区13235343073: Matlab怎么把一维二进制数组[1 0 0 1 1 0 1 0]转换成二进制数组[10 01 10 10] -
狄珍头孢: 如果指变成2*4矩阵,用reshape 如果要变成字符串,用num2str

南湖区13235343073: matlab中,怎么把几个一维数组合成一个一维数组. -
狄珍头孢: 比如有已知数组a,b,c.......n,然后用下面的语句实现:m=[a b c ........n]中间的数组用逗号或者空格隔开就可以了,此类问题可参看matlab基础书籍,希望对你有帮助.

南湖区13235343073: Matlab中怎么把1x1xN维数组转换成1xN维数组? -
狄珍头孢: % A是1*1*N矩阵B = A(:)';或B = reshape(A, 1, N);

南湖区13235343073: Matlab中怎么把1x1xN维数组转换成1xN维数组? -
狄珍头孢: 1234 % A是1*1*N矩阵 B = A(:)'; 或 B = reshape(A, 1, N);

南湖区13235343073: matlab中如何把一个数组转换为给定行,列的矩阵 -
狄珍头孢: reshape(x,y) 转换成x行,y列的矩阵如 [1 2 3 4 5 6 7 8 9] reshape(3,3) [1 4 72 5 8 3 6 9]

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网