犰狳相当于MATLAB操作

Armadillo equivalent for MATLAB operations

本文关键字:操作 MATLAB 相当于      更新时间:2023-10-16

嗨,我是犰狳新手。我正在寻找在 MATLAB 中执行的以下操作的犰狳等效物:

B(B_t>=0) = 1;
B(B_t<0) = -1;

这里 B 和 B_t 是两个具有相同维度的矩阵。我可以在这里使用犰狳符号函数(符号),但随后我需要将所有零元素设置为 1。我相信这是一个简单的问题。感谢您的帮助。

另外,任何人都可以告诉我如何将犰狳矩阵中的非连续索引设置为特定值吗?

谢谢。

如果你有两个相同维度的矩阵 A 和 B,你可以设置 A 的所有元素,其中 B 的相应元素> 0 为一个值

using namespace arma;
// A and B are matrices of the same shape.
mat A = randu<mat>(5,5) - 0.5;
mat B = randu<mat>(5,5) - 0.5;
// Change elements of A where B > 0 to 10.0
A.elem( find(B > 0) ).fill(10.0);

我们使用 find 来生成满足所需条件的指示列表。 .elem 然后创建 A 的这些元素的视图。最后 .fill 将这些元素设置为所需的值。