我可以使用冒号表示法创建向量v3 = [1,100,2,99,3,98,...,100,1]吗?
我只是设法使用循环创建它。
答案 0 :(得分:4)
试试这个。如果它不能完全发挥作用,那么这台机器上的MATLAB就不会道歉。
vforward = [1:100];
vback = [100:-1:1];
vtot = [vforward; vback];
vtot = vtot(:)
答案 1 :(得分:0)
不需要重新塑造的替代版本:
v3 = zeros(1,200);
v3(1:2:end) = 1:100;
v3(2:2:end) = 100:-1:1; %# or: fliplr(v3(1:2:end))
答案 2 :(得分:0)
这是我在星期天早上能够做到的最好的事情:
cumsum([1, ((-1).^(mod(0:198,2))).*(99:-1:-99)])
其他答案的唯一优点是它是一个单行。这可能不是什么好事。