C++ 数组的 matlab 风格索引

2024-02-25

我想知道以下 matlab 习语最有效的 C++ 实现是什么。

假设我在matlab中有3个向量,x,y和idx。

x = [13,2,5.5,22,107]
y = [-3,100,200]
idx = [1,2,5]

我想用 y 的内容替换 x 的位置 1,2 和 5。在matlab中我做

x[idx] = y

在 C++ 中执行此操作的最佳方法是什么?


The 犰狳 http://arma.sf.net库可能是最接近的,因为它的目标之一是让习惯 Matlab 的人变得更容易。

这是一个简短的例子(和uvec是无符号整数向量的 typedef)

// set four specific elements of X to 1
uvec indices;
indices << 2 << 3 << 6 << 8;

X.elem(indices) = ones<vec>(4);

显然,右侧可以是与索引具有相同维度的任何其他向量。

但有一些语言强加的限制是你无法克服的:

  • C++ 级别的从零开始的索引(您可以更改,但很少有 C/C++ 程序员会认为这是一个好主意)
  • 某些运营商,包括[
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C++ 数组的 matlab 风格索引 的相关文章

  • “RouteCollection”不包含“MapMvcAttributeRoutes”的定义

    我尝试使用基于属性的路由 但是当我尝试以下代码片段来激活基于属性的路由时 我收到以下错误消息 RouteCollection 不包含定义 MapMvcAttributeRoutes 这是我的代码 public class RouteConf
  • ASP Core HttpClientFactory 模式使用客户端证书

    任何人都知道在使用时如何使用客户端证书HttpClientFactory 在我发现的所有示例中 您需要提供HttpMessageHandler in the HttpClient构造函数 使用时不可用HttpClientFactory se
  • “字符串”是什么意思?信息'

    我刚刚在查看定义时发现了这个PlatformNotSupportedException class 什么是string message意思是 据我所知是 是缩写Nullable lt gt but Nullable lt gt 只能应用于结
  • dup2() 和 exec()

    include
  • C++ 和序列化:有什么方法可以进行某种内省吗?

    我读过一些例子维基百科 http en wikipedia org wiki Type introspection C 2B 2B但我正在寻找一些现实生活中的例子 如何使用内省 为什么 它有助于编写干净的代码 以及代码本身 例如 有没有办法
  • C# 并行与并行线程代码性能

    我一直在测试 System Threading Parallel 与线程的性能 我很惊讶地发现并行比线程花费更长的时间来完成任务 我确信这是由于我对并行的了解有限 我刚刚开始阅读 我想我会分享一些片段 如果有人可以向我指出并行代码比线程代码
  • 比较 LINQ to SQL 中的两个日期

    我有一个数据库 其中有一个名为会议的表 会议日期使用以下格式存储在此表中 May 2nd 2011 例如 格式为5 2 2011 我的要求是获取两个日期 例如 2011 年 4 月 25 日和 2011 年 5 月 2 日 之间的会议 并编
  • NHibernate IQueryable 集合作为 root 的属性

    我有一个根对象 它有一个集合属性 例如 I have a Shelf object that has Books Now public class Shelf public ICollection
  • & 运算符的含义是什么?

    在下面的代码中 Expression
  • 通过用于 Symbol 条码扫描仪 DS4208 的 SNAPI.dll API 捕获图像

    我想通过 SNAPI API 从 Symbol 目前为 Zebra 条形码扫描仪 DS4208 型号 我们还使用 Zebra 的另一个但兼容的型号 捕获图像 条形码捕获 识别效果很好 但看起来像SnapiDLL SNAPI SnapShot
  • 修剪 UIImage 边框

    这是我想要修剪的图像的示例 我想去掉图像周围的边框 在本例中是顶部和底部的黑条 我在Github上找到了一个库 CKImageAdditions https github com cmkilger CKImageAdditions 但是它似
  • 函数指针上的未知类型 F TYPE

    include
  • 从套接字读取 C HTTP

    我想知道如何判断是否已从套接字接收到所有数据 这是一个简单的网络代理 现在我正在处理请求部分 所以发送的内容应该以 r n r n 结尾 我不知道请求会持续多久 我在这里读过一些帖子 说我应该检查读取函数是否返回 0 但其他人说0只在客户端
  • 为什么这个单独的定义会导致错误?

    挑战 我有这段代码无法编译 你能找出问题所在吗 有一次让我很头疼 header namespace values extern std string address extern int port cpp file std string v
  • 我可以在 C++ 中重写非虚函数吗

    我想知道我可以重写 C 中的非虚函数吗 因为我在使用 C 时发现了这个问题override关键字我的代码如下 class A public void say cout lt lt From A n class B public A publ
  • 如何在 Visual Studio 2010 Express 中引用 system.drawing?

    我对此有点陌生 我的印象是要绘制我创建的矩形 我需要使用 system drawing graphics 问题是 我收到错误 命名空间 System 中不存在类型或命名空间名称 drawing 您是否缺少程序集引用 当我右键单击解决方案资源
  • 使用非字符串作为字符串(而不是自动使用 ToString)时如何显示错误?

    建议的重复确实是一个类似的问题 然而 答案只涵盖一种选择 禁用 ToString 本身 还有其他可能的解决方案 例如让 Visual Studio 警告我 或者不调用 ToString 仔细阅读那里的答案 他认为is调用 只是解释说没有办法
  • 用于 nmap 输出的 C++ xml 解析器

    我是 nmap 的新手 我在 nmap 教程中看到 https nmap org book man output html https nmap org book man output html oX 选项可用于获取 xml 格式的 nma
  • char[length]初始化并处理

    我定义了一个字符数组 char d 6 如果我在以下方面有误 请纠正我 此时没有为变量分配内存d 现在我要初始化它 d aaaaa 这种初始化之后 就不需要释放内存了 它将自动完成 我怎么知道是否char 被初始化了吗 我正在寻找类似的模式
  • 如何使用 Ioc Unity 注入依赖属性

    我有以下课程 public interface IServiceA string MethodA1 public interface IServiceB string MethodB1 public class ServiceA IServ

随机推荐

  • PHP 中如何检查对象是否为空?

    如何在 PHP 中查找对象是否为空 以下是其中的代码 obj保存 XML 数据 如何检查它是否为空 My code obj simplexml load file url 您可以转换为数组 然后检查它是否为空 arr array obj i
  • 1>/dev/null 在 DOS 中相当于什么? [复制]

    这个问题在这里已经有答案了 我想抑制在 DOS 下运行的脚本的输出 类似于 nix 环境下的以下内容 command 1 gt dev null 我怎样才能做到这一点 它应该是 gt NUL在 DOS 和 Windows 控制台上
  • $HADOOP_HOME 已弃用,Hadoop

    我尝试在单节点集群 我自己的labtop ubuntu 12 04 上安装Hadoop 我按照这个教程逐行检查了两次 http www michael noll com tutorials running hadoop on ubuntu
  • ?' aria-label='F# - 什么是数组<'T>?'> F# - 什么是数组<'T>?

    In this 上一个问题 https stackoverflow com questions 16968060 f why cant i access the item member我在 F 中了解到array lt T gt 不等于Sy
  • 如何在现有项目之上创建 SVN 版本控制?

    在工作中 我们有一个非常大的项目 大约 30 000 个文件 由 Borland StarTeam 源代码控制系统管理 我们想迁移到 SVN 但有一些障碍 最重要的一个问题是在所有开发人员的虚拟机上设置存储库的问题 有两种基本方法可以在硬盘
  • 使用 JavaScript 创建倾斜的 Div 和对象

    是否可以使用 JavaScript 创建这样的 倾斜菜单 请参见下文 前提是我希望它们是 相对的 以便根据屏幕尺寸适当调整大小 您可以使用 CSS 转换来完成此操作 并使用其他一些技巧 div transform rotate 45deg
  • 用空格包裹运算符的 Emacs 模式/函数

    我记得 Emacs 有一种模式 或者是一个选项 我记不清了 它通过在运算符后面放置空格来美化代码 例如 包裹 有空格 还有其他一些我不记得的很酷的东西 我认为这几乎是特定于语言的问题 但我通常在逗号后加空格 然后换行 有空格 关于这个模式有
  • 使用javascript读取Json文件数据?

    function uploadJsonFunction var jsonURL C Users My Documents new WebContent JsonFiles TreeJson countries json countries
  • 列组的 SSRS 矩阵分页符

    我目前正在使用 SSRS 2012 但显然遇到了障碍 是否可以在列组变量的每个新实例上设置分页符 我在下面给出了一个基本的例子 我选择了跨组分页符选项 下图 我注意到有一个类似的帖子 没有有效的答案 另一个列组 分页问题 https sta
  • Intellij:转到自动装配 bean 定义

    我正在寻找通过 java 代码中的 Autowired 依赖项找到 bean 定义的快速方法 假设我有 Autowired private JdbcTemplate template 我想让IDEA告诉我哪个xml文件是定义的templat
  • .NET Core 6 SQL Server 连接(无需实体框架)

    我是 NET Core 的新手 我已经在中定义了连接字符串appsettings json像这样 ConnectionStrings TestBD Server localhost Database Test Trusted Connect
  • .Net Maui - 尝试构建时操作超时

    我在构建 运行默认的新毛伊岛应用程序时遇到问题 我创建一个新的 NET Maui App Preview 并且不对自动生成的代码库进行任何更改 但是当我尝试构建或运行应用程序时 我收到以下超时错误 Severity Code Descrip
  • ggplot R 次要 y 轴的更改限制

    我有一个与此线程非常相似的问题在ggplot2中组合条形图和折线图 双轴 https stackoverflow com questions 41764312 combining bar and line chart double axis
  • 如何在 yii2 php 中添加 spinner/loader

    我想在我的其中一个表单中添加一个旋转器 加载器 场景很简单 当我按下create按钮 然后它将显示一个旋转器 加载器 点击创建按钮后 将调用 Web 服务 以便旋转器 加载器将从调用开始到调用结束显示 下面是我的控制器 m MetersIn
  • flutter for web:文本在底部被切断

    随着网络抖动 当我显示文本时 我的文本被剪切在底部 我尝试添加填充 但它不起作用 这个问题这个产品无处不在 甚至在文本字段上 new Container width menuRightWidthDesktop height getSize
  • 使用 Python xml.sax 解析 XML:如何“跟踪”您在树中的位置?

    我需要定期从我们的管理软件导出 XML 文件 这是我第一次在 Python 中使用 XML 解析 XML 与xml sax并不是很困难 但是 跟踪 您在 XML 树中的位置的最佳方法是什么 例如 我有一份我们的客户名单 我想通过 提取电话
  • EC2 Auto Scaling 组的实例刷新低于正常阈值

    我有一个 ASG 其所需 最小 最大数量为 1 1 5 个实例 我希望 ASG 仅用于滚动部署和区域故障转移 当我使用 MinHealthyPercentage 100 InstanceWarmup 180 启动实例刷新时 该过程从取消注册
  • 是否存在或将会存在 target_clones 属性的“全局”版本?

    我最近玩过target clones该属性从 gcc 6 1 及更高版本可用 这非常漂亮 但是就目前而言 它需要一种有点笨拙的方法 每个想要多版本化的函数都必须手动声明一个属性 这不是最佳的 因为 它将编译器特定的内容放入代码中 它要求开发
  • PyQt 连接到 KeyPressEvent

    某些小部件将允许我执行以下操作 self widget clicked connect on click 但正在做 self widget keyPressEvent connect on key 将失败 表明该对象没有属性 connect
  • C++ 数组的 matlab 风格索引

    我想知道以下 matlab 习语最有效的 C 实现是什么 假设我在matlab中有3个向量 x y和idx x 13 2 5 5 22 107 y 3 100 200 idx 1 2 5 我想用 y 的内容替换 x 的位置 1 2 和 5