首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将向量连在MATLAB中生成非矩形矩阵?

如何将向量连在MATLAB中生成非矩形矩阵?
EN

Stack Overflow用户
提问于 2015-02-04 21:53:35
回答 1查看 787关注 0票数 0

有没有一种创建非矩形矩阵的方法?例如,如果我有一个矩阵a=[6 8 10]和另一个矩阵b=[1 5],我是否可以垂直连接它们以获得一行中的[6 8 10]和另一行中的[1 5]

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-02-04 21:58:07

直接的答案是no。MATLAB不支持粗糙的或非矩形或非方形的矩阵。一种方法就是制作一个单元格数组,每个单元格都是一个长度不等的向量。

类似于:

代码语言:javascript
复制
a = [6 8 10];
b = [1 5];
c = cell(1,2);
c{1} = a;
c{2} = b;

celldisp(c)

c{1} =

     6     8    10

c{2} =

     1     5

另一种方法是创建一个矩阵,其中那些不包含任何内容的值被映射到一个预设的数字,比如零。因此,您可以将ab连接成一个矩阵,使其成为[6 8 10; 1 5 0];。如果这是你喜欢的,你可以这样做:

代码语言:javascript
复制
a = [6 8 10];
b = [1 5];
c = zeros(2, 3);
c(1,1:numel(a)) = a;
c(2,1:numel(b)) = b;
disp(c)

 6     8    10
 1     5     0

关于这个特定主题的更全面的论文可以在新手的回答中找到:如何在MATLAB中将不同长度的细胞累积成一个矩阵?

另一个相关的答案是由Jonas创建的:如何将不均匀矩阵组合成单个矩阵?

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28332204

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档