编写脚本文件对于二维数组A,通过在水平,垂直以及对角线方向加以复制来时的数组大小加倍
A=[1 2 7:7 8 9]
变为:
1 1 2 2 7 7
1 1 2 2 7 7
7 7 8 8 9 9
7 7 8 8 9 9
不能迭代!
上面这个怎么做啊!
我看了 半天数 为什么一到做题了就一点思路都没有啊!
这些和数学能力有关系吗? 还是自己对语言不会灵活运用还是压根没有在掌握?
编写脚本文件对于二维数组A,通过在水平,垂直以及对角线方向加以复制来时的数组大小加倍
A=[1 2 7:7 8 9]
变为:
1 1 2 2 7 7
1 1 2 2 7 7
7 7 8 8 9 9
7 7 8 8 9 9
不能迭代!
上面这个怎么做啊!
我看了 半天数 为什么一到做题了就一点思路都没有啊!
这些和数学能力有关系吗? 还是自己对语言不会灵活运用还是压根没有在掌握?
A = [1 2 7;7 8 9];
fprintf('首先按列扩张,结果为:');
for i=3:-1:1
A(:,2*i) = A(:,i);
A(:,2*i-1) = A(:,i);
end
A
fprintf('然后按行扩张,结果为:');
for i=2:-1:1
A(2*i,:) = A(i,:);
A(2*i-1,:) = A(i,:);
end
A
将上面的代码保存为expand.m
然后在matlab命令行中敲入expand即可看到结果。
其中最主要的就是对数组的行列进行复制,matlab提供这种直接对数组行列复制的机制
B=[A A ;A A];
temp=B(2,:);B(2,:)=B(3,:);B(3,:)=temp;
temp=B(:,2);B(:,2)=B(:,4);B(:,4)=temp;
temp=B(:,3);B(:,3)=B(:,5);B(:,5)=temp;
程序未运行过,但是思想应该是对滴