Please suggest a method using Vectorization.

I want to do the following operation using vectorization technique of Matlab. I am a novice user of matlab. So please tell me how i can get the following operation done without using the FOR Loop.
x=[1 2 3 4 5 6 7 8 9 10 11 1 2];
for i=1:length(x)
x(i)=((-1)^i)*x(i);
end

 Akzeptierte Antwort

Matt Fig
Matt Fig am 13 Okt. 2012
Bearbeitet: Matt Fig am 13 Okt. 2012

0 Stimmen

Many ways to do it.
Here is one:
x = x.*(-1).^(1:length(x))
and here is another:
x(1:2:end) = -x(1:2:end)

Weitere Antworten (0)

Kategorien

Mehr zu Data Type Identification finden Sie in Hilfe-Center und File Exchange

Produkte

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by