有啥办法可以把 uvec 变成 vec?

Posted

技术标签:

【中文标题】有啥办法可以把 uvec 变成 vec?【英文标题】:Is there any way to turn a uvec into vec?有什么办法可以把 uvec 变成 vec? 【发布时间】:2020-05-20 14:24:59 【问题描述】:

想要这样做:

#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?

【问题讨论】:

【参考方案1】:

使用arma::conv_to&lt;DesiredType&gt;::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,这样分配就可以工作了。

【讨论】:

谢谢朋友!太有用了! 我很乐意提供帮助。如果它完全回答了您的问题,那么您应该接受答案。 对不起,我是新来这里的。。如何接受。。我找到那个按钮了!!

以上是关于有啥办法可以把 uvec 变成 vec?的主要内容,如果未能解决你的问题,请参考以下文章

最近开始学习用spine做骨骼动画,有啥办法把一张完整的切片大图重新变成一张张小图?

我的电脑文件夹都变成“只读”属性了,IIS里数据库无法写入删除?有啥办法可以解决???

为啥下载的文件经常出现以下情况,有啥解决办法么?怎么才能变成(下载)自己想要的文件?

将不同类型的值传递给着色器

部分文件后缀名全部变成.ZEPTO文件,已经证实是勒索病毒,有啥办法解开吗?

excel输入数字的时候 超过九位数就会变成 数字E+数字 有啥办法可以让它显示原来的数字么?