小编ale*_*xxx的帖子

当参数是一个数组时,C++如何开始和结束?

C++入门中的一个问题,当向量上的开始和结束工作我知道有vector :: size()可能会有所帮助,但是当我给出一个数组参数时它们是如何工作的.就像:

int arr[] = {1, 2, 3};
size = end(arr) - begin(arr);
Run Code Online (Sandbox Code Playgroud)

end(arr)和begin(arr)如何正常工作?

c++ arrays stl

5
推荐指数
1
解决办法
184
查看次数

Matlab pyversion 命令找不到python3.4的库

我想从 matlab 调用 python3.4。默认版本是python2.7,当我在matlab中运行pyversion时,它显示:

   version: '2.7'
executable: '/usr/bin/python'
   library: 'libpython2.7.so.1.0'
      home: '/usr'
  isloaded: 0
Run Code Online (Sandbox Code Playgroud)

我通过py.list()在 matlab 中运行进行了测试,它有效。

然后我想将版本更改为python3,所以我运行

pyversion(/usr/bin/python3)
Run Code Online (Sandbox Code Playgroud)

更改python的版本。

不过现在py.list()不行了,据说Undefined variable "py" or class "py.list".。此外,现在我运行pyversion,信息显示:

version: '3.4'
executable: '/usr/bin/python3.4'
library: ''
home: '/usr'
isloaded: 0
Run Code Online (Sandbox Code Playgroud)

“图书馆”变空了。

我怎样才能解决这个问题以正确运行 python3.4?

我使用 Ubuntu 14.04,并且已经为 python3.4 安装了 Cython。我通过运行得到以下输出find /usr/lib -name libpython*

/usr/lib/python3.4/config-3.4dm-x86_64-linux-gnu/libpython3.4.so
/usr/lib/python3.4/config-3.4dm-x86_64-linux-gnu/libpython3.4dm.so
/usr/lib/python3.4/config-3.4dm-x86_64-linux-gnu/libpython3.4dm.a
/usr/lib/python3.4/config-3.4m-x86_64-linux-gnu/libpython3.4.so
/usr/lib/python3.4/config-3.4m-x86_64-linux-gnu/libpython3.4m.a
/usr/lib/python3.4/config-3.4m-x86_64-linux-gnu/libpython3.4m.so
/usr/lib/python3.4/config-3.4m-x86_64-linux-gnu/libpython3.4m-pic.a
/usr/lib/python2.7/config-x86_64-linux-gnu/libpython2.7.so
/usr/lib/python2.7/config-x86_64-linux-gnu/libpython2.7.a
/usr/lib/python2.7/config-x86_64-linux-gnu/libpython2.7-pic.a
/usr/lib/libpeas-1.0/loaders/libpython3loader.so
/usr/lib/libpeas-1.0/loaders/libpythonloader.so
/usr/lib/debug/usr/lib/libpython3.4m.so.1.0-gdb.py
/usr/lib/debug/usr/lib/x86_64-linux-gnu/libpython3.4m.so.1.0
/usr/lib/libreoffice/program/libpythonloaderlo.so
/usr/lib/x86_64-linux-gnu/libpython3.4m.so.1
/usr/lib/x86_64-linux-gnu/libpython3.4dm.so.1
/usr/lib/x86_64-linux-gnu/libpython3.4m.a
/usr/lib/x86_64-linux-gnu/libpython2.7.so
/usr/lib/x86_64-linux-gnu/libpython3.4m.so
/usr/lib/x86_64-linux-gnu/libpython3.4dm.so.1.0
/usr/lib/x86_64-linux-gnu/libpython2.7.a
/usr/lib/x86_64-linux-gnu/libpython2.7.so.1 …
Run Code Online (Sandbox Code Playgroud)

python matlab python-3.x

4
推荐指数
1
解决办法
2015
查看次数

如何在Eigen中对MatrixXd进行FFT?

看来下面的代码是正确的:

#include <Eigen/Core>
#include <unsupported/Eigen/FFT>

int main ()
{
    Eigen::FFT<float> fft;
    Eigen::Matrix<float, dim_x, dim_y> in = setMatrix();
    Eigen::Matrix<complex<float>, dim_x, dim_y> out;

    for (int k = 0; k < in.rows(); k++) {
        Eigen::Matrix<complex<float>, dim_x, 1> tmpOut;
        fft.fwd(tmpOut, in.row(k));
        out.row(k) = tmpOut;
    }

    for (int k = 0; k < in.cols(); k++) {
        Eigen::Matrix<complex<float>, 1, dim_y> tmpOut;
        fft.fwd(tmpOut, out.col(k));
        out.col(k) = tmpOut;
    }
}
Run Code Online (Sandbox Code Playgroud)

但是这必须在编译时指定矩阵的大小,当我将Matrix更改为MatrixXd时,编译时会出错.我想知道如何在MatrixXd上进行FFT,这样我就可以在运行时指定矩阵大小.

c++ eigen eigen3

2
推荐指数
1
解决办法
915
查看次数

标签 统计

c++ ×2

arrays ×1

eigen ×1

eigen3 ×1

matlab ×1

python ×1

python-3.x ×1

stl ×1