查看: 280|回复: 9|关注: 0

[已解决] 如何将矩阵扩大

[复制链接]

新手

9 麦片

财富积分


050


3

主题

13

帖子

0

最佳答案
在运算处理中遇到一个要把矩阵扩大的问题,比如将一个2*2的矩阵[1,2;3,4]扩大到4*4的矩阵[1,1,2,2,;1,1,2,2,;3,3,4,4,;3,3,4,4](实际上是将300*300的矩阵扩大到600*600的矩阵),如何实现?感觉for循环可以,但是到手上就是敲不出来....
回复主题 已获打赏: 0 积分

举报

论坛优秀回答者

中级

622 麦片

财富积分


5001500


22

主题

945

帖子

105

最佳答案
  • 关注者: 9
发表于 2020-3-31 21:40:18 | 显示全部楼层
矩阵扩大方法有多种:
(1)zeros(m,n)扩大,然后用原来的数据填补
(2)直接用A(某个值) =某个值来扩大
(3)在原来矩阵添加,比如B,C =【B,A】之类的
回复此楼 已获打赏: 0 积分

举报

新手

9 麦片

财富积分


050


3

主题

13

帖子

0

最佳答案
 楼主| 发表于 2020-3-31 21:43:29 | 显示全部楼层
onlye_caisA 发表于 2020-3-31 21:40
矩阵扩大方法有多种:
(1)zeros(m,n)扩大,然后用原来的数据填补
(2)直接用A(某个值) =某个值来扩 ...

我会把矩阵扩大,但是我需要填补的是600*600的矩阵,能否指点一下,如何把300*300的矩阵里的数填补到600*600的矩阵里呢?
回复此楼 已获打赏: 0 积分

举报

论坛优秀回答者

中级

622 麦片

财富积分


5001500


22

主题

945

帖子

105

最佳答案
  • 关注者: 9
发表于 2020-3-31 21:45:01 | 显示全部楼层
Richardyang1 发表于 2020-3-31 21:43
我会把矩阵扩大,但是我需要填补的是600*600的矩阵,能否指点一下,如何把300*300的矩阵里的数填补到600* ...

填补位置?你都没说情况,单纯的填补方法有多种
回复此楼 已获打赏: 0 积分

举报

新手

9 麦片

财富积分


050


3

主题

13

帖子

0

最佳答案
 楼主| 发表于 2020-3-31 21:50:41 | 显示全部楼层
onlye_caisA 发表于 2020-3-31 21:45
填补位置?你都没说情况,单纯的填补方法有多种

比如将
  1. 1 2
  2. 3 4
复制代码

扩大到
  1. 1 1 2 2
  2. 1 1 2 2
  3. 3 3 4 4
  4. 3 3 4 4
复制代码

回复此楼 已获打赏: 0 积分

举报

论坛优秀回答者

中级

622 麦片

财富积分


5001500


22

主题

945

帖子

105

最佳答案
  • 关注者: 9
发表于 2020-3-31 21:59:01 | 显示全部楼层

类似这样
>>  A =[1,2;3,4]

A =

     1     2
     3     4

>> B =zeros(4,4)

B =

     0     0     0     0
     0     0     0     0
     0     0     0     0
     0     0     0     0

>> B([1,2,5,6]) =1

B =

     1     1     0     0
     1     1     0     0
     0     0     0     0
     0     0     0     0
主要看你数据规律进行扩充。
回复此楼 已获打赏: 0 积分

举报

论坛优秀回答者

权威

4292 麦片

财富积分



4

主题

4395

帖子

934

最佳答案
  • 关注者: 212
发表于 2020-3-31 22:12:09 | 显示全部楼层 |此回复为最佳答案
kron([1 2;3 4],ones(2))
回复此楼 已获打赏: 0 积分

举报

新手

9 麦片

财富积分


050


3

主题

13

帖子

0

最佳答案
 楼主| 发表于 2020-3-31 22:22:44 | 显示全部楼层
onlye_caisA 发表于 2020-3-31 21:59
类似这样
>>  A =[1,2;3,4]

这样填补少量的可行,但是我这个是一个300*300的矩阵要扩大到600*600的矩阵,这样赋值好像有点不太现实...
回复此楼 已获打赏: 0 积分

举报

论坛优秀回答者

中级

622 麦片

财富积分


5001500


22

主题

945

帖子

105

最佳答案
  • 关注者: 9
发表于 2020-3-31 22:31:21 | 显示全部楼层
本帖最后由 onlye_caisA 于 2020-3-31 22:35 编辑
Richardyang1 发表于 2020-3-31 22:22
这样填补少量的可行,但是我这个是一个300*300的矩阵要扩大到600*600的矩阵,这样赋值好像有点不太现实.. ...

数据扩大,都是有规律的扩大,即使随机也是有规律的。即使是for循环,也需要有填充位置和所需填充数据的位置。
回复此楼 已获打赏: 0 积分

举报

MATLAB 基础讨论
版块优秀回答者

入门

226 麦片

财富积分


50500


4

主题

695

帖子

44

最佳答案
  • 关注者: 32
发表于 2020-4-1 11:17:21 | 显示全部楼层
  1. repelem([1 2;3 4],2,2)
复制代码
回复此楼 已获打赏: 0 积分

举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐上一条 /4 下一条

快速回复 返回顶部 返回列表