1

我有一个包含许多通道和许多试验的数据集(每个都对应一个单独的 .mat 文件或数据数组)。

我想用 -1 替换所有负值,用 +1 替换所有正值(对于 i = 1:n(试验次数))用 +1 替换 (22,:) 中的所有正值和所有负值-1 的值)。

希望这很清楚。

非常感谢!

4

2 回答 2

6

如果 A 是您的矩阵 NxN。

A(X,:) = sign(A(X,:));

其中 X 是您要更改的行。

于 2013-04-19T18:02:16.510 回答
0

如果我理解正确,您需要做的就是这个,假设您的输入矩阵是A并且您想要更改它第 22 行中的值:

A(22,(A(22,:)<0)) = -1;
A(22,(A(22,:)>0)) = 1;

例如:

>> A = randint(25,5,[-10,10]);
>> A(22,:)

ans =

   -10    -1    -5     1    10

>> A(22,(A(22,:)<0)) = -1;
>> A(22,(A(22,:)>0)) = 1;
>> A(22,:)

ans =

   -1    -1    -1     1    1
于 2013-04-19T18:00:49.933 回答