问题标签 [non-linear]

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.

0 投票
3 回答
252 浏览

json - 如何在结构非线性的情况下使用 jq 解析 json

我希望我已经清楚地表达了我的问题。需要帮助查询,他们使用 JQ 解析多个 json 文件,其中每个文件中的结构是非线性的。该应用程序生成类似于此示例的配置数据。每个文件可以有零个或多个 DualEndPoint 或 Local 对象。我需要能够在“用户”属性中查询特定用户并插入新密码以重新提交回 api。对于 DualEndPoints,嵌套对象名称是可变的,因此无法在查找“用户”属性时对这些值进行编码。

如果找到特定用户的匹配项,则返回仅插入该用户的新密码的整个结构。在示例中,查询 user1 将返回整个 PROFILE1 和 PROFILE2,但不返回 PROFILE3,因为它不包含 user1 凭据。

0 投票
0 回答
92 浏览

r - 如何使用 R 中的 nlsem 包运行非线性调节?

我只是想学习如何使用 R 中的 nlsem 包来拟合非线性 SEMM,但是当我尝试创建 res 对象时,我一直遇到错误“无法正确计算后验概率。选择不同的起始参数” . 我试图估计一个非线性模型,其中潜在变量 tas 预测潜在变量 cts,由潜在变量 ams 调节。我对 R 还是很陌生,对非线性分析也很陌生,所以任何帮助都将不胜感激!

到目前为止我的代码:

0 投票
1 回答
179 浏览

r - 如何基于向量/矩阵求解 R 中的 n 个非线性方程

我正在尝试求解 R 中的 n 个方程组。n-1 个方程是非线性的,最后一个是线性的。如果有帮助,这是一个受约束的优化问题,n-1 方程是一阶条件,最后一个是预算约束。n-1 个非线性方程组可以表征为:非线性方程组

如果图像未显示,则可以逐个元素地定义它,例如:

v_i*epsilon_i*cos(2/pi * e_i/delta_i)-lambda=0

其中 epsilon、v、e 和 delta 是 n-1 维的向量,而 lambda 是所有方程共有的标量)。

最后一个方程是|e|=c 形式的简单线性方程。也就是说,e 中所有元素的总和是某个已知的 c,称为 parms[1,4] 或“预算”。

我有兴趣求解向量 e 和常数 lambda,将其他所有内容视为给定。

我尝试使用 rootSolve 的多根。为此,我定义了一个向量 X,它应该是向量 e,并附加了 lambda,以便多根求解 x,并将 n 个方程作为列表给出。所有参数都保存在一个名为“parms”的矩阵中

我首先定义了n-1个非线性方程

该等式使用矩阵表示法,并且本身可以正常工作。然后我定义最后一个线性方程:

然后我试着convex_system <- function(x,parms) c(convex_focs,convex_budget )打电话:

这当然行不通,因为 rootSolve 将其识别convex_system为两个方程,但将 X 识别为 n 维。

如果我放弃最后一个方程,并将 lambda 视为给定的(所以只求解非线性方程)我可以得到一个解。但这当然不好,因为我不知道 lambda。

所以我的第一个问题是: 1. 如何从我的向量中生成一个 rootSolve 将识别为系统的函数列表?我尝试使用 lapply 或使用小插图来创建convex_focs方程列表,向量中的每个 elememt 都有一个,但想不出一种使它起作用的方法。2. 为什么它会将我的原始convex_focs函数识别为方程组,但当我添加它时convex_budget它停止工作?

然后我(绝望地......)尝试手动定义一组函数,只查看 3 个非线性函数,而不是 n-1。这样我的功能列表将看起来像我在网上找到的手册和其他解决方案:

并调用multiroot(f = convex_system, maxiter = 500000, start = c(0,rep(budget/length(parms[1:3,1]),length(parms[1:3,1]))), parms = parms[1:3,]) 当我运行它时,我得到了错误

stode(y, times, func, parms = parms, ...) 中的错误:REAL() 只能应用于“数字”,而不是“列表”

我真的不明白 - 函数列表怎么可能不是“列表”类?所以我的第二个问题是:

  1. 当它们不是简单的单行函数时如何生成函数列表(如上面链接中的那些)

最后,我非常感谢有关如何更好地解决 R 中这些类型问题的任何指导。

感谢您的任何帮助!

0 投票
1 回答
89 浏览

java - 非线性闲置游戏如何管理时间?

我是 Java 新手,我正在尝试为 Android 开发一个非线性空闲游戏。我对如何管理游戏中的“时间”有点困惑。

在线性空闲游戏中,我会System.currentTimeMillis()在游戏期间(应用程序打开)和游戏重新启动时更新我的​​模型(因为模型是线性的,基于经过时间更新模型的简单公式就足够了)。

但是在非线性空闲游戏中,我的模型必须是时间离散的,并且必须在游戏重新开始时进行循环。然后,在游戏重新开始时,我的模型无法使用 System.currentTimeMillis(). 我的想法是在游戏打开时使用特定的计时器来计算模型。但是以我目前的知识,我不知道如何从我的所有课程中访问给定的计时器。

例如,在表示Ship的类中,有一种旅行方法。对于此示例,模型是线性的:

我的问题是:

1.我想System.currentTimeMillis()用我自己的计时器替换(每次应用程序启动时启动),但我该怎么做?知道我的模型的任何类都需要访问同一个计时器吗?或者还有其他方法可以解决这个问题吗?

2.旅行结束时,我想发送一个新的“事件”,例如显示一个新的弹出窗口(或alertDialog)或启动一个方法。我怎样才能做到这一点 ?

希望我的解释足够清楚。

提前感谢您的任何回答。

0 投票
1 回答
102 浏览

matlab - 在MATLAB中求解非线性方程组时出错

我正在尝试在 MATLAB 上同时求解非线性方程组。我收到错误消息:

逗号分隔的列表扩展具有非单元格的数组的单元格语法”。

附上错误截图:

错误

我的代码如下:

0 投票
1 回答
151 浏览

python - GEKKO 中的混合整数非线性规划问题

我正在使用 GEKKO 解决 Python 中的 MINLP 问题,该问题涉及与电力系统仿真软件 PowerFactory 的联合仿真。MINLP 问题目标函数需要从内部调用 PowerFactory 并在将值返回给 MILP 问题定义之前执行特定任务。在等式约束定义中,我还需要使用两个 Pandas 数据框(具有 10000x2 单元格的表)来获取与约束表达式中决策变量的值相对应的特定值。但是,由于这些函数调用中 GEKKO 变量的性质存在一些问题,我在目标/约束函数中编写任何涉及循环或 Pandas 'loc' 或 'iloc' 函数的代码时遇到错误。在这方面的任何帮助将不胜感激。代码结构如下:

在另一个问题公式中,我试图在目标和约束函数中运行 MINLP 优化问题作为嵌套优化问题。但是,我也遇到了错误。代码结构如下:

0 投票
0 回答
29 浏览

r - 当在 R 中的大型数据集中达到某个梯度时,有没有办法识别特定点?

我试图确定每年特定的一天或一周,当“增量”的增加达到梯度时。从 2000 年到 2018 年,我在一年中的每一天都有一个值,我想提取在数据中的低谷之后发生特定梯度增加的每一天或一周。

我不确定这是否可能,但我正在尝试创建一个渐变规则,以便它可以适用于每一年,而不是一个特定的值,因为每年的值都不同。所以也许在那一周黄土平滑值每天增加 0.07 ......达到 0.01 的梯度......或类似的东西?鉴于价值的变化不是线性的,这甚至是可能的吗?我怎么能从每年的那一周中提取出来,所以我最终得到了 18 个不同的值?

这是我数据前几行的示例:
这是我数据前几行的示例

这是一年数据的示例 - 我想使用某种梯度规则提取每年开始增加的日期/星期,以便我可以将其转移到每年并保持简单:
这是一年数据的示例 - 我想使用某种梯度规则提取每年开始增加的日期/星期,以便我可以将其转移到每年并保持简单

0 投票
0 回答
67 浏览

matlab - Finding multiple solution for nonlinear ode?

I am trying to compose a MATLAB code to solve for roots using fsolve for nonlinear ODE. While trying to find the solutions for these two equations at steady state, I only obtain one solution. Is there a method of obtaining all possible steady state solutions for this problem? This is the problem and below that is the code I have so far.

ODE dx/dt=[u1-x1-72x10^9exp(-10000/x2)x1;310-x2+1.44x10^13exp(-10000/x2)x1+u2/23.9]

Given steady state uss=[0.998,0.5], find x at steady state xss=[x1,x2]

However, I saw that the solution should be xss=[0.5709,395.4047]. So I decided to use wolfram alph to solve for x, and I obtained three separate solutions for xss. Solution 1: xss=[0.00475972,508.669] Solution 2: xss=[0.5709,395.4047] Solution 3: xss=[0.9973,310.164]

0 投票
1 回答
207 浏览

optimization - 在python中解决非线性装箱优化问题

有没有一种直接的方法(例如一些带有常用求解器的模块)来解决python中众所周知的装箱问题(例如参见https://en.wikipedia.org/wiki/Bin_packing_problem )衍生的问题?

详细地说,装箱问题,其中 s(i) 是物品的重量

应扩展到以下目标函数 K_nonlinear

因此,不仅要最小化使用的 bin 数量,而且还要最小化共享一个 bin 的选定项目的标准偏差(这通常会导致一些必要的折衷)。因此,在我看来,这个问题变得非线性。

我很感谢任何关于如何使用 python 来解决这个问题的建议(python api 就足够了,算法本身也可以用任何其他语言实现)。

到目前为止,我已经尝试扩展现有的装箱求解器(基于 Coin-or 分支和切割求解器)关于目标函数中的附加部分,但失败了。这大概是由于诱导的非线性。

提前谢谢了

0 投票
1 回答
47 浏览

matlab - 如何在非线性数据拟合中使用积分:Fsumsquares 和 fminunc 进行参数优化

我可以运行任何方程的代码,但是当我引入积分时,命令将不会运行:

有什么建议么?

谢谢