.NET的数学库NMath中如何进行矢量的复制和视图
发表于:2025-12-01 作者:千家信息网编辑
千家信息网最后更新 2025年12月01日,本篇文章为大家展示了.NET的数学库NMath中如何进行矢量的复制和视图,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。NMath是一个适用于所有.NET语言,
千家信息网最后更新 2025年12月01日.NET的数学库NMath中如何进行矢量的复制和视图
本篇文章为大家展示了.NET的数学库NMath中如何进行矢量的复制和视图,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。
NMath是一个适用于所有.NET语言,如C#、Visual Basic、F#和.NET的数学库,它包含了.NET平台上的面向对象数字计算的基础类。我们将以连载的形式向大家介绍NMath的实用教程,下面主要介绍向量的隐式转换、如何复制矢量以及新的矢量视图。
向量的隐式转换
向量类的隐式转换运算符如下图所示,其中箭头表示隐式提升。
复制矢量
矢量类提供三种复制方法:
Clone():返回向量的深层副本。数据将被复制,因此每个向量引用不同的数据。
ShallowCopy():返回向量的浅表副本。数据不会被复制,两个向量都引用相同的数据。
DeepenThisCopy():将向量查看的数据复制到新数据块,这可以保证只有一个对基础数据的引用,并且该数据位于连续存储中。
C#向量代码示例
var v = new DoubleVector( "[1 2 3 4 5]"> VB向量代码示例Dim V As New DoubleVector("[1 2 3 4 5]")Dim U As DoubleVector = V.ShallowCopy()U(0) = 0 ' V(0) = U(0)U.DeepenThisCopy()U(1) = 0 ' V(1) <> U(1) 新的矢量视图在NMath中创建向量的常用方法是为引用另一个对象的数据创建一个新的矢量视图。这是使用Slice和Range对象实现。 C#向量代码示例var v = new DoubleVector( 10, 1, 1 );// v = [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ] var first3Elements = new Slice( 0, 3 );DoubleVector u = v[first3Elements]; VB向量代码示例Dim V As New DoubleVector(10, 1, 1)' v = [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ] Dim First3Elements As New Slice(0, 3)Dim U As DoubleVector = v(First3Elements) 注意:向量索引器已重载以接受索引对象,并返回索引数据的新视图。矢量u的行为完全类似于用1、2、3这三个元素来构建载体。 C#向量代码示例u[0] == 1; // trueu[1] == 2; // trueu[2] == 3; // trueu[3]; //Index out of bounds exception! VB向量代码示例U(0) = 1 ' trueU(1) = 2 ' trueU(2) = 3 ' trueU(3) 'Index out of bounds exception! 当u中的值改变时,u和新构建的矢量之间的差异变得清晰。这会更改v中的相应值,因为它们都引用相同的数据。 C#向量代码示例u[2] = 99;v[2] == 99; // true! VB向量代码示例U(2) = 99V(2) = 99 ' true! 这是使用Range对象的另一个示例: C#向量代码示例var v = new DoubleVector( "[1 2 3 4 5 6]" );DoubleVector everyOther = v[new Range( 0,Position.End,2 )]; VB向量代码示例Dim V As New DoubleVector("[1 2 3 4 5 6]")Dim EveryOther As DoubleVector = V(New Range(0, Position.End, 2)) 如Row()、Column()、Diagonal()和Slice()等在基质类上的方法也可以创建矢量视图。上述内容就是.NET的数学库NMath中如何进行矢量的复制和视图,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注行业资讯频道。
向量
矢量
数据
示例
代码
视图
对象
C#
数学
方法
索引
相同
内容
副本
基础
技能
知识
这是
不同
实用
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
金山区市场软件开发成本价
多媒体网络技术队
网络安全专题研修班
我的世界tb2t服务器的主机
家教软件开发
云服务器安全不
网络彩票赌博软件开发
中国航信软件开发工程师
文旅局网络安全和信息化工作
三级网络技术周跃讲义
扬州学软件开发
牙套日记软件开发
广州华辰网络技术
把妹数据库
股票软件开发和编程哪个好
带端口服务器怎么域名
荣耀路由器网络安全
四联创业集团招聘软件开发
数据库技术计算机三级
重庆服务器机柜厂商云主机
服务器内存频率
景德镇市第八届网络安全宣传周
精益生产软件开发
安装ubuntu服务器版
小学生网络安全法律知识观后感
廊坊软件开发厂家价格
人员管理软件开发需求
对日企软件开发
深圳南山区计算机培训软件开发
服务器设置启动时间