首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在MATLAB中改变矩阵的大小

在MATLAB中改变矩阵的大小
EN

Stack Overflow用户
提问于 2015-05-18 06:56:28
回答 2查看 296关注 0票数 1

给我的矩阵是3x1大小的A和5x1大小的B

代码语言:javascript
复制
A =   B=

1     A
2     B
3     C
      D 
      E

我想在15x2矩阵中转换矩阵C

代码语言:javascript
复制
C =  

1   A  
1   B  
1   C  
1   D
1   E
2   A
  .
  .
  .
3   E

我怎么能做到呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-05-18 07:24:11

下面是一种基于代码的不同选择,用于从Generate All Possible combinations of a Matrix in Matlab生成真值表

代码语言:javascript
复制
ind = dec2base(0:power(5,2)-1,5)-47;
C = [A(ind(1:15,1) + 48, B(ind(1:15,2)];

如果你想概括一下

代码语言:javascript
复制
m = max(size(A,1),size(B,1));
n = size(A,1)*size(B,1);
col = 2;
ind = dec2base(0:power(n,col)-1,n)-47;
ind = ind(1:n,:);
C = [A(ind(:,1) + 48, B(ind(:,2)];

+ 48只是将你的A矩阵从一个数值矩阵转换成一个字符矩阵,这样C就可以同时保存数字和字母。如果A已经是一个char矩阵,您可以忽略它。

这项技术的有用之处在于,通过更改col,这可以概括为以类似的方式组合两个以上的向量

票数 2
EN

Stack Overflow用户

发布于 2015-05-18 07:09:17

可以用repmat完成

代码语言:javascript
复制
D = repmat(A',size(B,1),1);
C = [D(:),repmat(B,size(A,1),1)]
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30296835

复制
相关文章

相似问题

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