我在Eigen3库中有一些复杂,密集的矢量/矩阵,我想将实部和虚部提取到单独的数组中.在Matlab中,我可以做类似的事情

cplxFoo = [1,1i; -1i -1]

re = real(cplxFoo)

im = imag(cplxFoo)

期望收益率

cplxFoo =

1.0000 + 0.0000i 0.0000 + 1.0000i

0.0000 - 1.0000i -1.0000 + 0.0000i

re =

1 0

0 -1

im =

0 1

-1 0

在Eigen3中有没有类似于real()和imag()的Matlab函数?

现在,我所知道的唯一可行的东西就是类似的东西

MatrixXcd cplxFoo = ...;

MatrixXd re(cplxFoo.rows(),cplxFoo.cols());

MatrixXd im(cplxFoo.rows(),cplxFoo.cols());

for(size_t j=0; j

for(size_t i=0; i

re(i,j) = cplxFoo(i,j).real();

im(i,j).imag();

}

}

它工作,我甚至可以把它放在一个函数中,但后来我不得不做我自己的循环矢量化,展开等,而且我必须做一个额外的副本.

我想要做的是包装几个Map< MatrixXd>在cplxFoo周围有适当的步幅来获得真实和虚构的部分.但问题是MatrixXcd的元素是std :: complex< double>,我不确定它的布局是什么.我的猜测是std :: complex< T>基本上就像struct {T real; T imag;};当你创建一个std :: complex< T>数组时,实部和虚部被紧密打包和交错. (这似乎也是this SO question的共识),但是C标准是否有保证? AFAICT,一个兼容的C编译器可以像struct {T imag; T real;}; (注意改变的顺序),或更具异国情调的东西

class {

T radius;

T angle;

public:

T real() const { return radius * cos(angle); }

T imag() const { return radius * sin(angle); }

/* ... */

};

那么,可以包装几个Map< MatrixXd>在cplxFoo周围有适当的步伐?如果是这样,我该如何正确设置步幅?

或者,有没有办法让Eigen的复杂数据类型为真实和虚部使用单独的内存块?

对于它的价值,我需要这样做的原因是因为我需要将Eigen库与MATLAB接口,MATLAB只能处理实部和虚部的单独数组,而不是以任何方式交错.

matlab分离实部虚部,c – 如何在Eigen3库中有效地提取复杂矩阵的实部/虚部?相关推荐

  1. 【超简单!】如何在ZINC库中批量下载虚拟筛选小分子数据集 (Windows环境下)

    文章目录 前言 一.选择合适的分子范围 二.数据集下载 三.Windows安装Wget 四.准备就绪,傻瓜式下载分子集! 总结 前言 使用Windows环境,在进行分子对接或者人工智能分子筛选时需要从 ...

  2. 复变函数与积分变换matlab,MATLAB软件在《复变函数与积分变换》教学中的几点应用...

    ? 184?价值工程MATLAB软件在<复变函数与积分变换>教学中的 几点应用 Several Application of the M ATLAB in the Teaching of ...

  3. fftw3/gsl/kissfft/OouraFFT库中傅里叶变换/反傅里叶变换函数和Matlab中的fft/ifft的对应关系

    先分析一维度的 一.fftw_plan_dft_1d 正变换: fftw_complex *in = fftw_malloc ( sizeof ( fftw_complex ) * n ); fftw ...

  4. 转载:如何将一个新函数加到MATLAB函数库中

    如何将一个新函数加到MATLAB函数库中 nkszjx2 2017-09-29 11:25:26 13864 收藏 2 分类专栏: matlab 文章标签: matlab 库 </div> ...

  5. 如何在python3.x中使用pip3安装you-get及下载网页视频资源

    如何在python3.x中使用pip3安装you-get 一.安装you-get 1. 确保添加了环境变量 搜索"系统设置">高级>环境变量>用户变量>双击 ...

  6. 如何在Thymeleaf 模板中使用片段Fragments

    1. 引言 在本文中,我们将展示如何在Thymeleaf 模板中使用片段.表示可包含在其他模板中的模板片段的片段.它可以是页眉,菜单,页脚和文档的任何其他部分,通常在许多页面上重复.片段可以参数化并包 ...

  7. 如何在sqlite3连接中创建并调用自定义函数

    #!/user/bin/env python # @Time :2018/6/8 14:44 # @Author :PGIDYSQ #@File :CreateFunTest.py '''如何在sql ...

  8. Iar环境c语言调用汇编函数,如何在IAR EWARM中通过内联汇编程序在另一个模块中调用C函数?...

    我在硬故障处理程序中有一些程序集.程序集基本上是为了传递当前堆栈指针作为参数(在R0中).它看起来像这样...如何在IAR EWARM中通过内联汇编程序在另一个模块中调用C函数? __asm(&quo ...

  9. 学习如何在AutoCad土木工程中绘制建筑设计图

    学习如何在AutoCad中绘制建筑设计图从平面图到AutoCad土木工程中的整栋建筑 你会学到: 如何绘制房屋地图 如何绘制建筑设计 如何从AutoCad打印或出图 AutoCaD使用 AutoCaD ...

最新文章

  1. 河南acret计算机报名,Acret, Ex Parte U.S. Supreme Court Transcript of Record with Supporting Pleadings...
  2. 什么是Java Marker Interface(标记接口)
  3. 智能客户端ios_为什么现在的客户端开发越来越不吃香了
  4. Leetcode--1371. 每个元音包含偶数次的最长子字符串(Java)
  5. 【linux】ubuntu11.10下各种问题以及解决方案
  6. 如何使用JavaScript从字符串中删除空格?
  7. ffmpeg支持的扩展库有哪些
  8. 二十年前割麦的童年(看哭了)
  9. 使用Everything清理垃圾文件
  10. 理财趣事:要想财富滚滚来 先学普京打野猪
  11. 怎么把ppt文字大小设置一致_iPhone12暖屏怎么办 iPhone12暖屏解决方法
  12. 《用户至上:用户研究方法与实践》用户体验入门
  13. dede {dede:channel currentstyle 中使用~seotitle~
  14. 图像互信息(MI)的计算(Python版本)
  15. 1945:【09NOIP普及组】多项式输出
  16. Linux 文件/目录管理
  17. 探索EDM(Entity Framework)的EDM元数据
  18. Python3 数字组合
  19. 【Excel VBA】VBE
  20. 如何在 Pandas DataFrame 中插入一行

热门文章

  1. Flask - uwsgi使用
  2. Python glob使用
  3. python使用RCON,连接游戏服务器求生之路2、我的世界等
  4. 医疗机器人:让医生更轻松地进行手术和治疗
  5. 光伏防逆流系统的介绍
  6. ❤️【Python】精彩解析拉钩网反反爬虫,❤️采集各行业招聘数据,分析行业行情❤️
  7. 树莓派--7寸触摸显示屏问题处理
  8. Bugku-富强民主-这不是md5
  9. 独立博客在韩国的发展状况
  10. AI照骗恐怖如斯!美女刷屏真假难辨,网友:AI聊天+AI照片,AI网恋诈骗时代开启...