作业帮 > 数学 > 作业

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

来源:学生作业帮 编辑:作业帮 分类:数学作业 时间:2024/10/05 10:15:58
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].需要一般的方法,即增加倍数可变亦可实现.
本来想用矩阵乘法实现(即4*2的矩阵乘以a,再乘以2*8的矩阵),不过构造那个左右矩阵,我好像也要用for
干脆直接用for得了.
a=[1,2;3,4];
x=4;
y=2;
[m,n]=size(a);
for i=1:m
for j=1:n
A([(i-1)*y+1:i*y],[(j-1)*x+1:j*x])=a(i,j);
end
end
再问: 谢谢,如果有m行 n列呢?原题为2行2列?求教~
再答: 我这个代码是通用的。 你可以试一下。 把a改成 a=rand(3,5)的试试。 代码还是可以的。