采用 VectorXf 并可以修改其值的函数

2023-12-09

我想了解如何操纵特征向量/矩阵。我想实现一个最小二乘高斯牛顿算法(这就是我学习使用 Eigen 库的原因)。我有一个 1x6 参数向量,需要每次迭代更新。现在,我只想弄清楚函数如何将向量作为参数并更改其值......

Eigen::VectorXf betas = Eigen::VectorXf::Zero(6);

void SomeFunc(const Eigen::VectorXf& v){  // as per the Eigen guide, one must pass as const
    v(0) = 5;  // error: expression must be a modifiable lvalue
    return;
}

int main()
{
    betas(5) = 5.f;  // works
    SomeFunc(&betas);
    std::cout << "Hello World" << std::endl;
    std::cout << betas(0) << "\t" << betas(5) << std::endl;
}

我的问题是:如何使函数接受向量并修改其值?

Edit: 本征指南


正如文档所说:

采用可写(非常量)参数的函数必须采用 const 引用并放弃函数体内的常量性。


如何使函数接受向量并修改其值?

您可以使用const_cast如下所示:

Eigen::VectorXf betas = Eigen::VectorXf::Zero(6);

void SomeFunc(const Eigen::VectorXf& v){  // as per the Eigen guide, one must pass as const
    const_cast<Eigen::VectorXf&>(v)(0) = 5;//cons_cast used here
    return;
}

int main()
{
    betas(5) = 5.f;  // works
    SomeFunc(betas);
    std::cout << "Hello World" << std::endl;
    std::cout << betas(0) << "\t" << betas(5) << std::endl;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

采用 VectorXf 并可以修改其值的函数 的相关文章

  • C++ std::accumulate 没有给出预期的总和

    double numbers 1 0 5 0 333333 0 25 0 2 0 166667 0 142857 0 125 0 111111 0 1 std vector
  • 为 DocumentDb 设置自定义 json 转换器

    我正在使用类型化 DocumentQuery 从 Azure DocumentDb 集合中读取文档 from f in client CreateDocumentQuery
  • 错误:表达式不可赋值三元运算符

    我有以下代码 MPLABX XC8 编译器给出此错误 错误 表达式不可分配 U1ERRIRbits RXFOIF uart1 oerr 1 uart1 oerr 0 这是相关代码部分 typedef union struct bool fe
  • 并行运行多个任务

    我有一个代理列表 每个代理都会访问不同的站点并从站点中提取所需的数据 目前它一次只做一个 但我希望同时运行 10 20 个任务 这样它就可以一次性从 20 个站点下载 而不是只下载一个 这是我目前正在做的事情 private async T
  • SOAP Web 服务:多台服务器,一个接口

    我有一个场景 需要任意数量的服务器来提供相同的 SOAP Web 服务 我想生成一组代理类 并能够为它们提供一个位置 以便在运行时将它们指向不同的服务器 不幸的是 看起来好像wsdl port节点 子节点wsdl service 要求对特定
  • CMake(Ninja 后端)使用 /MT 编译

    我有一个类似的问题CMake 使用 MT 而不是 MD 进行编译 https stackoverflow com questions 14172856 cmake compile with mt instead of md但有一些差异 我正
  • 从结构调用 C++ 成员函数指针

    我找到了有关调用 C 成员函数指针和调用结构中的指针的信息 但我需要调用结构内部存在的成员函数指针 但我无法获得正确的语法 我在类 MyClass 的方法中有以下代码片段 void MyClass run struct int MyClas
  • Visual Studio 2013 调试器显示 std::string 的奇怪值

    我有一个大型的 cmake 生成的解决方案 其中包含许多项目 由于某种原因 我无法查看字符串的内容 因为根据调试器 Bx Buf含有一些垃圾 text c str 正确返回 Hello 该问题不仅仅发生在本地字符串上 返回的函数std st
  • Windows Phone 7 - ScrollViewer 值已更改

    我一直在寻找解决方案 但无法找到正确的解决方案 我的网格宽度为 960 并且有ScrollViewer在里面 现在我想知道滚动时滚动的值 水平偏移 我找到的所有解决方案都是针对 wpf silverlight 的 它对我不起作用 Edit
  • 大量互斥体对性能的影响

    假设我有一个包含 1 000 000 个元素的数组 以及多个工作线程 每个线程都操作该数组中的数据 工作线程可能会使用新数据更新已填充的元素 但每个操作仅限于单个数组元素 并且独立于任何其他元素的值 使用单个互斥锁来保护整个数组显然会导致高
  • 如何在 C 中链接目标文件?失败并显示“架构 x86_64 的未定义符号”

    因此 我尝试在我的文件 file2 c 中使用另一个 C file1 c 文件中定义的函数 为了做到这一点 我包含了 file1 file1 h 的标头 但是 每当我尝试使用 gcc 编译文件时 我都会收到以下错误 Undefined sy
  • 当我尝试传递临时地址作为参数时,它是一个 UB 吗?

    对于以下 C 代码 include
  • 使用任一默认捕获模式时,这是通过复制捕获还是 (*this) 通过引用捕获?是一样的吗?

    当我看到以下工作时我有点困惑 struct A void g void f g 但后来我发现this https stackoverflow com a 16323119 5825294答案非常详细地解释了它是如何工作的 本质上 它归结为t
  • 具有多个父项的 Qt 树模型

    我想构建一棵树 其中一个元素可以引用另一个元素 我想要构建的树是 像这样的东西 A B C D E F P this is a pointer to C D first child of C E second child of C I fo
  • 查找数组中的多个索引

    假设我有一个像这样的数组 string fruits watermelon apple apple kiwi pear banana 是否有一个内置函数可以让我查询 apple 的所有索引 例如 fruits FindAllIndex ap
  • 异步/等待 - 是*并发*吗?

    我一直在考虑 C 5 中新的异步内容 并且出现了一个特殊问题 据我了解 await关键字是一个简洁的编译器技巧 语法糖来实现连续传递 http en wikipedia org wiki Continuation passing style
  • 如何将模型绑定到动态创建的类 nancyfx

    首先感谢任何愿意查看我的问题的人 我对 Nancyfx 还很陌生 在尝试将 JSON 有效负载绑定到动态创建的类时遇到问题 我按照这篇文章中的代码动态创建了该类 在C 中动态创建一个类 https stackoverflow com que
  • 使用空的weak_ptr作为参数调用map::count安全吗?

    打电话安全吗map count http www cplusplus com reference map map count on an 未初始化因此为空weak ptr http en cppreference com w cpp mem
  • Adobe Illustrator 中的折线简化如何工作?

    我正在开发一个记录笔划的应用程序 您可以使用定点设备来绘制笔划 在上图中 我绘制了一个笔划 其中包含 453 个数据点 我的目标是大幅减少数据点的数量 同时仍然保持原始笔画的形状 对于那些感兴趣的人 上图笔画的坐标可以作为GitHub 上的
  • 如何使用 Microsoft Graph API 更新 MailboxSettings

    我想从不同的日历更新邮箱设置 如何构建可以通过 Microsoft Graph 更新 MailboxSetting 的请求 这是我的代码示例 但有例外 代码示例 User obj GraphServiceClient Users roomC

随机推荐

  • Android:如何在旋转后恢复停止的计时器状态?

    我这样做是为了保存状态并在计时器运行时旋转后恢复状态 Android Chronometer 暂停 当我将计时器停止在 X 秒 然后在 Y 秒后我更改方向时 计时器会标记 X Y 秒 我想将停止的天文钟的时间保留为旋转之前的时间 无论已经过
  • 将 2D JavaScript 数组转换为 1D 数组 [重复]

    这个问题在这里已经有答案了 我想将 2D JavaScript 数组转换为 1D 数组 以便 2D 数组的每个元素都将连接成一个 1D 数组 在这里 我正在尝试转换arrToConvert到一维数组 var arrToConvert 0 0
  • 反射?我该怎么做?

    这超出了我的理解范围 有人可以更好地向我解释吗 http mathworld wolfram com Reflection html 我正在制作一款 2d 突破格斗游戏 因此我需要球在撞到墙壁 桨或敌人 或敌人撞到它 时能够反射 他们所有的
  • 自动滑动 jQuery jCarousel Lite 不工作

    我有一个div它包含这样的元素 div class anyClass ul class slider ctre li class outer prdcts li ul div
  • 在 iOS10 中使用 AVCapturePhotoOutput - NSGenericException

    我目前正在尝试弄清楚如何使用 iOS 10 的 AVCapturePhotoOutput 方法 但遇到了困难 我觉得我即将做对 但仍然收到错误 由于未捕获的异常 NSGenericException 而终止应用程序 原因 AVCapture
  • 我隐藏的 DIV 中的 Youtube 视频仅在显示 DIV 后才开始加载

    我的页面上的隐藏 DIV 中有一个 Youtube 剪辑 页面加载后 我希望视频在后台安静地加载 这样当用户单击 取消隐藏 DIV 按钮时 视频就可以播放了 但按照我现在的方式 视频仅在用户单击按钮后才开始加载 我可以在这里进行更改 将视频
  • 使用 PHP 解码 Microsoft 翻译 API 的 JSON 输出

    这个问题似乎是 microsofttranslator com 特有的所以请 任何答案 如果你可以测试它 使用以下 URL 进行翻译 http api microsofttranslator com V2 Ajax svc Translat
  • 在输入时验证 html 文本输入

    在输入 HTML 文本时对其进行验证的最佳方法是什么 我所知道的所有方法都有一些缺点 Using keypress您只能访问输入的旧值 而不能访问新值 此外 某些事件 例如使用鼠标剪切 粘贴 将不会被检测到 Using change仅当输入
  • 随机浮点数生成

    如何在 C 中生成随机浮点数 我想我可以将整数兰特除以某个东西 这样就足够了吗 rand 可用于在 C 中生成伪随机数 结合RAND MAX和一点数学知识 您可以在您选择的任意间隔内生成随机数 这对于学习目的和玩具程序来说已经足够了 如果你
  • Spring Data Neo4j:为什么保存方法需要这么长时间?

    我在项目中使用 Spring Data Neo4j 我注意到保存节点实体类 gt 300ms node 需要太多时间 这实际上非常简单 它们只包含一个属性 一个简单的长 id 节点之间的关系也非常简单 我只是想代表一个社交网络 对于其余的
  • 从 Struts 2 中的登录拦截器重定向

    我们的应用程序要求用户登录才能查看任何内容 对所有页面的访问被拦截LoginInterceptor如果用户没有有效的会话 则会显示登录表单 我希望拦截器在显示登录表单之前记住原始请求 URI 并在登录表单验证成功时重定向到它 我试着跟随St
  • {{csrf_token}} 给我 403 Forbidden,而 {%csrf_token%} 给我 500 服务器错误

    我读到这两个基本上是同一件事 但每个都给我带来不同的错误 我不确定该追寻哪一个 我什至不知道如何解决这个问题 有人可以看一下我的代码吗 我已经为此苦苦挣扎了两天 my html div div
  • 是否可以从 Ansible.cfg 中禁用 Ansible 的 ssl 验证?

    我想禁用 SSL 验证ansible cfg配置文件 类似的东西存在于get url module 但是来自 Ansible 配置文件 parameter validate certs no Example name Download JB
  • 不允许操作:alter table add columns(line 1, pos 0)

    We have Spark 2 1 Thrift JDBC ODBC服务器配置为Hive 2 1 1并使用Beeline DDL 语句如 创建表 创建类似表 创建类似表 更改表集 表属性 效果很好 But ALTER TABLE ADD C
  • Google Map API v3 仅显示 5 层

    使用 10 个 KML 文件进行简单调用 我们只显示了 5 个 它工作了几个月 突然停止了 2012 年 5 月 28 日 var map new google maps Map document getElementById map ca
  • WPF:flowdocument 到 PDF [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 目前不接受答案 hI 有没有可以将流程文档内容打印为PDF的控件 编辑 不是第三方控件 谢谢 我能够通过将 flowdocument 内容保存到 DOCX 并使用以
  • 在android中合并适配器

    我在两个不同的适配器中有两个不同的数据 现在我想将这两个数据合并到一个适配器中 这可能吗 我怎样才能做到这一点 Regards vani 也许 CommonsGuy 的 MergeAdapter 源会有所帮助 请在此处阅读有关文档http
  • 给定数字可以组成的最大数字

    给定一个整数 找出可以由数字组成的最大数字 输入 8754365 输出 8765543 我在 O n logn 中告诉了解决方案 他要求我进一步优化 我们可以利用哈希表进一步优化 rightarrow O n 算法 1 取一个大小为 10
  • 如何在日期解析(Java)中忽略时区标识符?

    我正在尝试像这样解析日期 DateFormat df new SimpleDateFormat MMM dd yyyy K mm ss SSS a z Locale ENGLISH Date date df parse Oct 04 201
  • 采用 VectorXf 并可以修改其值的函数

    我想了解如何操纵特征向量 矩阵 我想实现一个最小二乘高斯牛顿算法 这就是我学习使用 Eigen 库的原因 我有一个 1x6 参数向量 需要每次迭代更新 现在 我只想弄清楚函数如何将向量作为参数并更改其值 Eigen VectorXf bet