有没有更简单的方法来创建这样一个向量b = [1,3,5,7,9,7,5,3,1]?如何在matlab中向量中递增和递减
我所做的是什么,我基本上分为载体整合入增加和减少部件和使用horzcat如下:
a=horzcat((1:2:9),(7:-2:1));
disp(a);
然而,这似乎并不十分efficent。 有没有更简单的方法来做到这一点,而不必声明和concatanate两个向量?
谢谢。
有没有更简单的方法来创建这样一个向量b = [1,3,5,7,9,7,5,3,1]?如何在matlab中向量中递增和递减
我所做的是什么,我基本上分为载体整合入增加和减少部件和使用horzcat如下:
a=horzcat((1:2:9),(7:-2:1));
disp(a);
然而,这似乎并不十分efficent。 有没有更简单的方法来做到这一点,而不必声明和concatanate两个向量?
谢谢。
这不是非常低效,没有。不过,你不需要用名字来称呼horzcat
:
a = [1:2:9 7:-2:1]
但是,如果你想避免第二组colon
运营商,你可以翻转的第一面:
a = 1:2:9;
a = [a fliplr(a(1:end-1))]
但有你还有另一个colon
,这样做第一种方法肯定更有效率。
可能通过c = 9; s = 2; b = 1:s:c-2; a = [b c fliplr(b)];
如果c-1
可以被s
整除,但我没有看到像这样简单的操作复杂化的重点......除非这是你如何得到你的踢。 ;)
该代码似乎非常有效。 – Daniel