如何在特征库中手工构造复矩阵
How to manually construct complex matrix in Eigen library?
本文关键字:特征 更新时间:2023-10-16
例如,以下代码生成一个复数矩阵,虚部等于0
#include <Eigen/Dense>
#include <iostream>
using namespace std;
using namespace Eigen;
int main()
{
MatrixXcf m(2,2);
m<<1,2,3,4;
cout<<m<<endl;
}
输出
(1,0) (2,0)
(3,0) (4,0)
但是如何手动输入虚部为非零的任意复数矩阵呢?
由于MatrixXcf
只是元素类型为std::complex<float>
的矩阵的别名,因此可以提供该类型的任意初始值设定项。在C++14中,您可以方便地使用用户定义的文字i
、if
、il
来制作各种浮点类型的虚单位。因此以下工作:
#include <Eigen/Dense>
#include <complex>
#include <iostream>
using namespace std::literals;
int main()
{
Eigen::MatrixXcf m(2,2);
m << 1.0f + 2.0if, 2.0f + 1.0if, 3.0f - 1.0if, 4.0f - 2.0if;
std::cout << m << std::endl;
}
如果你没有文字,你可以自己制作并相乘:
const std::complex<float> If(0.0f, 1.0f); // use x * I etc
即,上述代码变为:
m << 1.0f + 2.0f * If, 2.0f + 1.0 * If, 3.0f - 1.0 * If, 4.0f - 2.0 * If;
您必须注意为所有文字提供正确的类型,否则运算符重载将不起作用。
相关文章:
- 如何声明特征矩阵,然后通过嵌套循环初始化它
- 特征::矩阵<双精度,1,3> 结构类型函数中的返回类型函数
- 有没有一种方法可以通过"typedef"为重新定义的基本类型定义特征和强制转换运算符
- 特征命名访问向量段
- 将特征矩阵的向量设置为0
- 特征:模板函数中矩阵的平面图
- basic_string的前导/尾部不区分空格的特征
- 特征 3 类的模板专用化
- 特征 c++:复矩阵的面积双曲正切(atanh)
- C++ 中的特征向量计算
- 根据C++标准的定义实现"is_similar"类型特征
- C++类型特征,以查看是否可以<uint32_t>对类型"K"的任何变量调用"static_cast(k)"
- 有没有办法找到特征矩阵系数的中值?
- 如何将高维数据映射到特征类型?
- 将平面阵列重塑为复杂的特征类型
- 特征 LLT 模块给出不正确的结果?
- 特征模板化函数和维度
- 特征稀疏向量:求最大系数
- 特征 3.3.x:如何在所有行中操作 lamba?
- 如何将向量断言到特征矩阵