【问题标题】:Matlab - replacing all negative and positive valuesMatlab - 替换所有负值和正值
【发布时间】:2013-04-20 02:02:16
【问题描述】:

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

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

希望这很清楚。

非常感谢!

【问题讨论】:

  • 你想用 1 替换所有正数,用 -1 替换所有负数吗?还是仅针对某些行?你说的 (22,:) 是什么意思?

标签: matlab


【解决方案1】:

如果 A 是你的矩阵 NxN。

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

其中 X 是您要更改的行。

【讨论】:

  • 是的。但是这个case没有具体说明那我就不说了
【解决方案2】:

如果我对您的理解正确,您需要做的就是这个,假设您的输入矩阵是 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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-10-09
    • 2019-11-04
    • 1970-01-01
    • 2015-12-31
    • 1970-01-01
    • 2021-11-14
    • 1970-01-01
    相关资源
    最近更新 更多