问题标签 [mpc]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
libtool - 使用选项 -L 链接时 libtool 找不到 la
我在编译依赖gmp的mpc源代码时遇到了这个问题。编译mpc的命令如下。
gmp 已成功安装到 /home/user/tmp/gmp-6.2.0/ins。
使用 libtool 编译 mpc 时的错误如下。
从报错信息中我们可以看到lib路径已经被指示为-L/home/wy/tmp/gmp-6.2.0/ins/lib。但是 libtool 仍然找不到该库。
c - buildyourownlisp.com 上使用的 MPC 函数似乎不起作用或不存在
我目前正在通过buildyourownlisp工作,到目前为止真的很喜欢它,但我目前遇到了一个奇怪的问题。本书使用多精度 C 库为 Lisp 解释器编写语法。因为我在我的 linux 系统上安装了 devtools,所以我还安装了 mpc 和 libmpc 数据包。但是,当我运行书中的代码时,我遇到了语法问题。这个库中似乎没有mpc_parser_t
,我什至找不到在网上使用的这个。我使用的代码是
每次使用mpc_parser_t
asmpca_lang
和时,编译器都会向我抛出错误MPCA_LANG_DEFAULT
。这是一个例子:
我找不到其他人报告这些问题,但我看不出我做错了什么,感谢任何建议。
编辑:以下是我尝试编译的所有代码,因为 Paul Ogilvie 要求我显示包含文件的位置。
python - 为什么 gmpy2 在复幂运算中这么慢?
我在 gmpy2 中使用复数并注意到它很慢。我缩小了幂运算符的范围。起初我认为这只是因为它很复杂。但后来我将它与使用gmpy2 的 mpmath 进行了比较,它的速度要快得多:
纯复数幂运算非常慢,但 mpmath 仍然比 gmpy2 快 40%。由于 mpmath 是 Python,我认为它会慢得多,但显然情况并非如此。gmpy2在这里怎么这么慢?
python - 带有python和错误ValueError的MPC:传递的`f0`超过1维
我用 Python 写了一个 MPC,它以前工作过。很长一段时间后我想再次使用它但我得到了这个错误
f0
通过有超过 1 个维度。
但我没有对我的代码进行任何更改。这有点奇怪。
这是我的代码:
它是关于一个控制器,它控制冷藏箱的温度。是否有可能在主要简单代码中发生任何变化?我认为现在的问题在于最小化部分。
gekko - Gekko MPC 控制器 - 在每个时间步更新参数
我正在研究一个 MPC 问题,其中单个线性模型在预测范围内的每个时间步预测控制变量(见下文,其中 u 是操纵变量,y 是控制变量)。每次窗口移动时,预测范围内的每个线性模型的系数都会根据当前状态变量而变化。
A 和 B 是由当前状态的函数确定的矩阵列表。我基本上想在每个时间步的开始(优化之前)暂停控制器,并根据系统的反馈重新计算这些系数矩阵。是否可以使用 MPC 模式 (IMODE=6) 在 Gekko 中执行此操作,还是我需要管理 Gekko 之外的时间?
python - 神经网络 MPC
所以我想使用神经网络作为我学习的 Python 中 MPC 控制的动态模型函数。我还没有找到任何使用 CASADI、GEKKO、do-mpc 等开源优化包执行此操作的示例/文档?有没有人有一些参考/建议来实现这一目标?谢谢
编辑 01 a) 我尝试过 CASADI + tensorflow 模型 CASADI 有一篇关于如何将 tensorflow 模型与 CASADI 一起使用的博客。我完全不确定我是否正确地完成了实施,因为显然我没有得到预期的结果。b) 在 Internet 上查看“mpc.Pytorch”库,它是一个 mpc 工具箱,它也提供了 nn 个模型。不确定其能力 C) 基于 CASADI 的 do-mpc 计划集成 NN 模型。d)@john gekko 提到的能够在 mpc 中使用 NN。
有人知道其他方法吗?
matlab - Matlab 的非线性 mpc 始终导致 u0 控制输入
我正在使用 MATLAB 的非线性 MPC 工具箱,并尝试实现一些简单的控制器。但是,给定一个初始控制信号uk
,nlmpcmove 生成的任何控制信号都与uk
(在零时间saveStates
填充任何内容)相同。uk
代码的相关部分;
由于validateFcns(nlobj,yinit,u0)
返回一切正常,所以我没有理由向您展示所有函数句柄,但只是为了更好的衡量;
LegStateFcn.m;
function xk1 = legStateFcn(xk,uk)
成本Fcn.m;
function J = costFcn(X,U,e,data)
ineqFcn.m;
function ineq = ineqFcn(X,U,e,data)
腿测量Fcn.m;
function yk = legMeasurementFcn(xk)
MATLAB 不会抱怨我在这里所做的任何事情,但是,u0
在. 我已经通过重命名before 和 after 进行了调试,删除了,模拟了结果状态(不遵守不等式约束)并看到它确实像我所期望的那样遵循系统的动态。for-loop
nlmpcmove
u0
uk
nlmpcmove
nlobj.Jacobian.OutputFcn
我不知道我做错了什么,我担心这是一个如此明显的小错误,我什至不应该一开始就犯它。
c++ - OpenDDS 入门 - 创建在设备之间传输数据的文件
在阅读了 OpenDDS 网站上列出的开发人员指南之后,我仍然对如何设置自己的项目以允许定义的数据类型从发布者传输到订阅者感到困惑。文档中提供的 Messenger 示例未指定清单中的哪些文件是由于构建而创建的,以及哪些文件是由开发人员创建的。根据我目前的理解,DataType.idl、publisher.cpp 和subscriber.cpp 必须由开发人员编写,其余文件是使用 ACE/TAO 从构建系统创建的?
我将我的数据类型全部编码在 idl 文件中,并且正在处理发布者和订阅者,但我不确切知道构建项目需要哪些其他文件。我正在考虑使用 MPC,因为这是他们开发人员指南中记录更多的构建系统,但是有人可以帮助我确定作为开发人员需要设置哪些其他文件吗?