MATLAB 矩阵 扩展 如a=[1 2;3 4] 需每个向行增加x倍,向列增加y倍.

学习 时间:2026-04-08 23:41:32 阅读:3087
MATLAB 矩阵 扩展 如a=[1 2;3 4] 需每个向行增加x倍,向列增加y倍.在x=4 y=2时 需得结果为[1 1 1 1 2 2 2 2;1 1 1 1 2 2 2 2;3 3 3 3 4 4 4 4;3 3 3 3 4 4 4 4].需要一般的方法,即增加倍数可变亦可实现.

最佳回答

小巧的荷花

懵懂的仙人掌

2026-04-08 23:41:32

本来想用矩阵乘法实现(即4*2的矩阵乘以a,再乘以2*8的矩阵),不过构造那个左右矩阵,我好像也要用for干脆直接用for得了。a=[1,2;3,4];x=4;y=2;[m,n]=size(a);for i=1:mfor j=1:nA([(i-1)*y+1:i*y],[(j-1)*x+1:j*x])=a(i,j);endend 再问: 谢谢,如果有m行 n列呢?原题为2行2列?求教~ 再答: 我这个代码是通用的。 你可以试一下。 把a改成 a=rand(3,5)的试试。 代码还是可以的。

最新回答共有2条回答

  • 明理的小海豚
    回复
    2026-04-08 23:41:32

    本来想用矩阵乘法实现(即4*2的矩阵乘以a,再乘以2*8的矩阵),不过构造那个左右矩阵,我好像也要用for干脆直接用for得了。a=[1,2;3,4];x=4;y=2;[m,n]=size(a);for i=1:mfor j=1:nA([(i-1)*y+1:i*y],[(j-1)*x+1:j*x])=a(i,j);endend 再问: 谢谢,如果有m行 n列呢?原题为2行2列?求教~ 再答: 我这个代码是通用的。 你可以试一下。 把a改成 a=rand(3,5)的试试。 代码还是可以的。

上一篇 三摩尔氢气和一摩尔氮气放入密闭容器中在催化剂存在下反正,理论上放出热量多少

下一篇 地球的几个纪、代从太古宙到新生代,哪个纪里包含什么代?具体年代排列?