有沒有更簡單的方法來創建這樣一個向量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