提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
翻译|使用教程|编辑:况鱼杰|2019-06-12 10:26:39.210|阅读 320 次
概述:NMath是NMath套包中基础的.NET函数库,它包含了复数类,通用向量与矩阵类,结构化稀疏矩阵类与因式分解,通用稀疏矩阵类与因式分解,通用矩阵分解,最小二乘解,随机数生成器,快速傅里叶变换(FFT算法) ,数值积分与微分方法,函数最小化,曲线拟合,求根法,线性与非线性编程等内容,本教程介绍NMath中向量的逻辑运算和算术运算。
# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>
相关链接:
NMath是一个适用于所有.NET语言,如C#、Visual Basic、F#和.NET的数学库,它包含了.NET平台上的面向对象数字计算的基础类。我们将以连载的形式向大家介绍NMath的实用教程。本节内容展示向量的逻辑运算和算术运算。
向量的逻辑运算
Operator== 测试两个向量的相等性, 如果两个向量具有相同的维度且所有值相等,则返回 true ; 否则,返回false。遵循.NET Framework准则,如果两个对象都为null,则两个向量相等。
DoubleVector 和DoubleComplexVector的值的比较是使用operator == for double完成的。
FloatVector和 FloatComplexVector的值的比较是使用operator == for floats完成的。
向量的值必须完全相等才能使此方法返回 true。
注意:equals函数也需测试是否相等。NaNEquals忽略 Not-a-Number (NaN)的值。
向量的算术运算
对于支持向量的.NET语言,NMath提供带有常规意义的重载算术运算符,以及和那些不支持向量的语言等效的命名方法。下表列出等效的运算符:
算术运算符
操作符 | 等效命名 |
+ | Add() |
- | Subtract() |
* | Multiply() |
/ | Divide() |
Unary - | Negate() |
++ | Increment() |
-- | Decrement() |
注意:
Unary -,Increment()和Decrement()运算符应用于向量中的每个元素,Negate()返回一个新矢量对象,Increment() 和Decrement()不会。
所有二元运算符和等效命名方法都可以使用两个向量,或者使用向量和标量。
向量必须具有相同的长度才能使用 element-wise运算符进行组合。否则,抛出MismatchedSizeException。
例如:
Code Example – C# vector
var v = new FloatVector(5,0,1); // [0,1,2,3,4] var u = new FloatVector(5,1,1); // [1,2,3,4,5] float scalar = 2;FloatVector w = v + scalar*u;
此Visual Basic代码使用等效的命名方法:
Code Example – VB vector
Dim V As New FloatVector(5, 0, 1) Dim U As New FloatVector(5, 1, 1) Dim Scalar As Single = 2 Dim W As FloatVector = FloatVector.Add(V, FloatVector.Multiply(Scalar, U))
NMath 还提供接受三个向量参数算术命名方法的重载。第三个向量保存对前两个向量合理操作的结果,因为不会分配新内存,所以效率更高,这对于重复操作很有用。当添加两个向量并将结果存储在第三个中时:
Code Example – C# vector
var v = new DoubleVector( "[ 0 1 2 3 4 ]" ); var u = new DoubleVector( 5, 1 ); var w = new DoubleVector( u.Length );DoubleVector.Add( v, u, w );DoubleVector.Add( v, u++, w );DoubleVector.Add( v, v, w ); // Still only three vectors allocated
Code Example – VB vector
Dim V As New DoubleVector("[ 0 1 2 3 4 ]") Dim U As New DoubleVector(5, 1) Dim W As New DoubleVector(U.Length)DoubleVector.Add(V, U, W)DoubleVector.Add(V, U.Increment(), W)DoubleVector.Add(V, V, W) ' Still only three vectors allocated
如果三个向量的长度不同,则抛出MismatchedSizeException,第三个向量参数也可以与前两个参数中的一个相同,在这种情况下,它会被结果覆盖:
Code Example – C# vector
DoubleVector.Subtract( u, v, v );
Code Example – VB vector
DoubleVector.Subtract(U, V, V)
在线答谢惠,限量优惠限时抢:FastReport. NetMyEclipse Zend Guard等产品优惠请点击>>
想要了解更多资讯,更多优惠的朋友请
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@capbkgr.cn
Unity 是一款功能极其丰富的游戏引擎,允许开发人员将各种媒体集成到他们的项目中。但是,它缺少最令人兴奋的功能之一 - 将 Web 内容(例如 HTML、CSS 和 JavaScript)直接渲染到 3D 场景中的纹理上的能力。在本文中,我们将介绍如何使用 DotNetBrowser 在 Unity3D 中将 Web 内容渲染为纹理。
DevExpress v24.2帮助文档正式发布上线了,请按版本按需下载~
本教程将向您展示如何用MyEclipse构建一个Web项目,欢迎下载最新版IDE体验!
在处理电子表格时,尤其是在专业和数据导向型环境中,正确设置 Excel 单元格内的数字格式至关重要。本文将介绍如何使用 Spire.XLS for Java 设置 Excel 单元格的数字格式,帮助轻松创建精美且结构清晰的电子表格。
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@capbkgr.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢