有什么办法可以把 uvec 变成 vec 吗?
Is there any way to turn a uvec into vec?
想这样做:
#include <armadillo>
int main(){
arma::mat mat=arma::randn(5,5);
mat.each_col( [](arma::vec& vec){
vec=arma::sort_index(vec);
} );
return 0;
有没有办法把uvec变成vec?
使用arma::conv_to<DesiredType>::from(value)
.
见下文
#include <armadillo>
int main(){
arma::mat mat=arma::randn(5,5);
mat.print("mat");
mat.each_col( [](arma::vec& vec){
vec = arma::conv_to<arma::vec>::from(arma::sort_index(vec));
} );
mat.print("mat");
return 0;
}
有了这个,我们可以将 arma::sort_index
的输出,即 arma::uvec
,转换为 arma::vec
,赋值就可以了。
想这样做:
#include <armadillo>
int main(){
arma::mat mat=arma::randn(5,5);
mat.each_col( [](arma::vec& vec){
vec=arma::sort_index(vec);
} );
return 0;
有没有办法把uvec变成vec?
使用arma::conv_to<DesiredType>::from(value)
.
见下文
#include <armadillo>
int main(){
arma::mat mat=arma::randn(5,5);
mat.print("mat");
mat.each_col( [](arma::vec& vec){
vec = arma::conv_to<arma::vec>::from(arma::sort_index(vec));
} );
mat.print("mat");
return 0;
}
有了这个,我们可以将 arma::sort_index
的输出,即 arma::uvec
,转换为 arma::vec
,赋值就可以了。