当前位置: 首页 > news >正文

上传下载网站建设wordpress翻译文件

上传下载网站建设,wordpress翻译文件,个人网页官方网站,wordpress全站静态页面文档总目录 本文目录什么是Array类#xff1f;Array类型访问Array中的值加法与减法Array乘法其他按元素操作的运算array和matrix表达式之间的转换英文原文(The Array class and coefficient-wise operations) 本页旨在提供有关如何使用Eigen的Array类的概述和说明。 什么是A…文档总目录 本文目录什么是Array类Array类型访问Array中的值加法与减法Array乘法其他按元素操作的运算array和matrix表达式之间的转换英文原文(The Array class and coefficient-wise operations) 本页旨在提供有关如何使用Eigen的Array类的概述和说明。 什么是Array类 与Matrix类用于线性代数计算不同的是Array类提供了通用目的数组。此外Array类提供了一种执行按系数运算的简单方法这可能没有线性代数意义例如对每一个元素都加一个常数或按系数将两个数组相乘。 Array类型 Array是一个类模板采用与Matrix相同的模板参数。与Matrix一样前三个模板参数是必需的 Arraytypename Scalar, int RowsAtCompileTime, int ColsAtCompileTime最后三个模板参数是可选的。由于这与Matrix完全相同因此不再在此解释仅参考Matrix 类。 Eigen还提供了一些常见的类型定义其方式类似于Matrix类型定义但有一些细微差别因为Array一词用于一维和二维数组。使用ArrayNt代表一维N个大小的标量其中 N 和 t 是大小和标量类型详见[矩阵与向量运算](# 3.1.2 矩阵与向量运算)。对于二维数组类型使用 ArrayNNt 表示。示例如下 类型类型定义Arrayfloat,Dynamic,1ArrayXfArrayfloat,3,1Array3fArraydouble,Dynamic,DynamicArrayXXdArraydouble,3,3Array33d 访问Array中的值 就像矩阵一样使用括号运算符可以访问数组中的值。另外运算符可用于初始化数组使用逗号初始化或打印它们。 例如 #include Eigen/Dense #include iostreamint main() {Eigen::ArrayXXf m(2,2);// assign some values coefficient by coefficientm(0,0) 1.0; m(0,1) 2.0;m(1,0) 3.0; m(1,1) m(0,1) m(1,0);// print values to standard outputstd::cout m std::endl std::endl;// using the comma-initializer is also allowedm 1.0,2.0,3.0,4.0;// print values to standard outputstd::cout m std::endl; }输出如下 1 2 3 51 2 3 4有关逗号初始化的更多信息请参阅高级初始化。 加法与减法 两个数组的加减法与矩阵相同。如果两个数组的大小相同并且加法或减法是按系数进行的则该操作有效。 Array 还支持 array scalar 的表达形式这实现了对数组的每个系数都加一个常数。并且这是在Matrix类中不能直接使用的功能。 示例如下 #include Eigen/Dense #include iostreamint main() {Eigen::ArrayXXf a(3,3);Eigen::ArrayXXf b(3,3);a 1,2,3,4,5,6,7,8,9;b 1,2,3,1,2,3,1,2,3;// Adding two arraysstd::cout a b std::endl a b std::endl std::endl;// Subtracting a scalar from an arraystd::cout a - 2 std::endl a - 2 std::endl; }输出如下 a b 2 4 65 7 98 10 12a - 2 -1 0 12 3 45 6 7Array乘法 当然你可以将一个数组乘以一个标量这与矩阵相同。数组与矩阵不同的地方在于自身相乘矩阵将乘法解释为矩阵乘积而数组将乘法解释为系数乘积。因此两个数组相乘时它们必须具有相同的维度。 示例如下 #include Eigen/Dense #include iostreamint main() {Eigen::ArrayXXf a(2,2);Eigen::ArrayXXf b(2,2);a 1,2,3,4;b 5,6,7,8;std::cout a * b std::endl a * b std::endl; }输出如下 a * b 5 12 21 32其他按元素操作的运算 除了上述的加法、减法和乘法运算符之外Array 类还定义了其他按系数计算的运算。例如abs() 方法对每个元素取绝对值而sqrt()计算每个系数的平方根。如果你有两个相同大小的数组你可以调用min(.)来构造一个数组其元素是两个给定数组对应元素的最小值。这些操作在以下示例中进行了说明 #include Eigen/Dense #include iostreamint main() {Eigen::ArrayXf a Eigen::ArrayXf::Random(5);a * 2;std::cout a std::endl a std::endl;std::cout a.abs() std::endl a.abs() std::endl;std::cout a.abs().sqrt() std::endl a.abs().sqrt() std::endl;std::cout a.min(a.abs().sqrt()) std::endl a.min(a.abs().sqrt()) std::endl; }输出如下 a 1.36 -0.4221.131.191.65 a.abs() 1.36 0.4221.131.191.65 a.abs().sqrt() 1.17 0.65 1.06 1.09 1.28 a.min(a.abs().sqrt()) 1.17 -0.4221.061.091.28array和matrix表达式之间的转换 什么时候应该使用Matrix 类的对象什么时候应该使用 Array 类的对象呢 首先 Matrix 类和Array类的方法不通用。如果需要进行线性代数运算例如矩阵乘法那么应该使用 Matrix 类如果需要做元素运算那么应该使用Array类。然而有时并没有那么简单而是需要同时使用Matrix 类和Array类。这种情况下需要将Matrix 转换为Array或相反。这样就可以使用所有操作而不管对象声明为Matrix 还是Array。 Matrix 类有一个 .array() 方法可以将Matrix 转换为Array。同样Array有一个 .matrix() 方法。由于Eigen表达式的抽象这些转换发生在编译的时候所以不需要任何运行时间成本。.array()和.matrix()既可以作为左值也可以作为右值。 Eigen 禁止在表达式中混合使用Matrix 和Array。例如不能将Matrix 和Array直接相加运算符的操作对象要么都是Matrix要么都是Array但转换后是可以的。此规则的例外是赋值运算符允许将Matrix 赋值给Array或将将 Array 赋值给Matrix。 以下示例展示了如何通过使用.array()方法对 Matrix 对象使用Array的方法。例如语句 result m.array() * n.array() 将两个矩阵m和n都转换为数组并使它们按系数相乘再将结果分配给矩阵变量这是合法的因为Eigen允许将数组表达式赋值给矩阵变量。 事实上这种用例非常普遍以至于Eigen为矩阵提供了一个 const .cwiseProduct(.) 方法来满足按元素相乘的需求。 示例如下 #include Eigen/Dense #include iostreamusing Eigen::MatrixXf;int main() {MatrixXf m(2,2);MatrixXf n(2,2);MatrixXf result(2,2);m 1,2,3,4;n 5,6,7,8;result m * n;std::cout -- Matrix m*n: --\n result \n\n;result m.array() * n.array();std::cout -- Array m*n: --\n result \n\n;result m.cwiseProduct(n);std::cout -- With cwiseProduct: --\n result \n\n;result m.array() 4;std::cout -- Array m 4: --\n result \n\n; }输出如下 -- Matrix m*n: -- 19 22 43 50-- Array m*n: --5 12 21 32-- With cwiseProduct: --5 12 21 32-- Array m 4: -- 5 6 7 8同样如果array1和array2是数组则表达式array1.matrix() * array2.matrix()可以计算他们的矩阵乘积。 接下来是一个更复杂一点的示例表达式(m.array() 4).matrix() * m对每一个元素都加4然后计算表达式结果与矩阵m的矩阵乘积。类似的表达式(m.array() * n.array()).matrix() * m按元素计算矩阵m和n的乘积然后计算其结果与m的矩阵乘法。 示例如下 #include Eigen/Dense #include iostreamusing Eigen::MatrixXf;int main() {MatrixXf m(2,2);MatrixXf n(2,2);MatrixXf result(2,2);m 1,2,3,4;n 5,6,7,8;result (m.array() 4).matrix() * m;std::cout -- Combination 1: --\n result \n\n;result (m.array() * n.array()).matrix() * m;std::cout -- Combination 2: --\n result \n\n; }输出如下 -- Combination 1: -- 23 34 31 46-- Combination 2: --41 58 117 170
http://www.yayakq.cn/news/3205/

相关文章:

  • 建设新闻博客类网站要多大空间口碑营销案例2021
  • 站群服务器如何让百度收录我的网站
  • 做设计在哪个网站找图片做ppt的网站有哪些内容
  • 沙漠风网站建设6企业信用信息查询公示系统天津
  • 怎样做网站制作团队做企业形象网站
  • 四川省城乡和住房建设厅官方网站统计局门户网站建设背景
  • 深圳地区网站建设公众号怎么制作二维码
  • 怎么在网站注册账号一个网站空间可以做多少个网站
  • 桃源县建设局网站浙江省住建厅网站
  • 学校门户网站作用钓鱼网站免费空间
  • 网站通知系统做食品生产的网站
  • 旅游网站开发网站设计报告书wordpress指定上传目录
  • 我的网站wordpresswordpress登录攻击
  • 深圳龙岗企业网站建设一级造价工程师含金量
  • 深圳市盐田区住房建设局网站wordpress调用搜索框
  • 做a小视频网站网络营销的方法有哪些
  • wordpress 建站容易吗wordpress显示代码框
  • 响应式网站建设流程帮公司做网站运营
  • 域名网站免费建站腾讯地图如何标注自己店铺位置
  • 手机可以设计网站吗重庆专业网站推广报价
  • 溧阳市建设网站商丘网上房地产查询系统
  • 做营销网站制作网站建设公司合同
  • 做类似猪八戒网的网站wordpress中文版 乱码
  • 网站用ps下拉效果怎么做的苏州微信小程序开发公司
  • 网页制作注意事项seo兼职58
  • asp.net 做电子购物网站的网银结算功能如何实现的猎头公司电话
  • python做的网站如何部署企业网页建设公司哪家比较好
  • 免费 个人网站网站建设是做什么
  • 网站推广链接怎么做如何做一份网站的数据分析
  • 建网站的步骤网站建设:中企动力