lzth.net
当前位置:首页 >> MATLAB中怎么将一个二维矩阵写成一个一维的 >>

MATLAB中怎么将一个二维矩阵写成一个一维的

可以用reshap(),也可以直接“捋直”了。为了清晰点,给你举个例子吧。 a=[1,2;3,4;]; b=a(:); c=reshape(a,[],1); 得到的b,c都是一样的一维列向量。但是他们都是[1,3,2,4]';这是因为matlab里边是按列算坐标的,如果你想按行,那就先对a做一下转置吧~

可这样如:a=magic(3);b=a(:)' 结果是: b = 8 3 4 1 5 9 6 7 2

可以使用内置的reshape函数 2、 reshape把指定的矩阵改变形状,但是元素个数不变

可以用reshap(),也可以直接“捋直”了。 为了清晰点,给你举个例子吧: a=[1,2;3,4;]; b=a(:); c=reshape(a,[],1); 得到的b,c都是一样的一维列向量。 reshape介绍: reshape函数重新调整矩阵的行数、列数、维数。在matlab命令窗口中键入docreshap...

一维行向量: [row,col]=size(x); r_vec=reshape(x,1,row*col); 一维列向量: c_vec=reshape(x,row*col,1);

matlab reshape使用 matlab reshape使用 reshape把指定的矩阵改变形状,但是元素个数不变, 例如,行向量: a = [1 2 3 4 5 6] 执行下面语句把它变成3行2列: b = reshape(a,...

a = cell(3,4);for i = 1:3 for j = 1:4 a{i,j} = i+j; endendaa = [2] [3] [4] [5] [3] [4] [5] [6] [4] [5] [6] [7]

matlab本身就是通过列向量存储数据的(俗称“列优先”),任意维度的矩阵都可以用一维向量调用;不必转换。比如 a=[1 2 3;4 5 6;7 8 9] , a(4) 就是指 a(1,2) ,即 2。所以,虽然没有必要,但还是可以通过 b=a(:); 生成一个列向量

imshow(I) 具体用法help imshow

一定要用你说的函数,直接算也很快啊! clc; a=[1;2]; b=[1,2,3]; a*ones(1,3) ones(2,1)*b

网站首页 | 网站地图
All rights reserved Powered by www.lzth.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com