1

行列の列の 2 行おきに、現在の符号と反対の符号を持つように変更する方法を誰かに教えてもらえますか (たとえば、4 を -4 に、または -4 を 4 に変更します)。for ループでそれを行うことができますが、それを行うためのより効率的な方法があることを望んでいました。

4

2 に答える 2

3

If you have an even number of rows, try

c(1,-1)*M

Where M is your matrix.

Otherwise, use

(2*(row(M) %% 2)-1)*M

EDIT: Carl Witthoft's suggestion:

rep(c(1,-1),length=nrow(M))*M

works with any matrix.

于 2013-09-27T15:02:18.223 に答える
0

最終的な答え: rep(c(1,-1),length=nrow(M))*M

于 2013-09-30T10:24:28.490 に答える