我想访问和修改非连续子矩阵视图中的单个条目。我试过这样的话:
#include <armadillo> // version 5.200.2
int main()
{
arma::mat A(4, 4, arma::fill::zeros);
arma::uvec b(4);
b << 2 << 3;
auto view = A.elem(b, b);
view(0, 0) = 1.0; // Error: No operator()
}
这不起作用,因为A.elem(b,b)返回的表达式似乎没有定义operator()。我发现同样的事情适用于连续的视图,例如子阵列()。是否有任何解决方案/解决方法,或者在非连续的情况下是不可能的?