问题标签 [nonlinear-equation]
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.
python - 矩阵形式的非线性方程组 - Python
我正在处理python中矩阵形式的非线性方程组,即:
F=Af+b(F)
其中 F 是我的未知向量 9x1,A 是已知的 9x9 矩阵,f 是已知的 9x1 向量,b(F) 是 9x1 向量,它是 F 的分量的非线性函数。
我怎样才能把这整个东西放在一个非线性方程求解器中?
matlab - 在matlab中使用ODE45函数求解不同初始条件值的非线性方程
我写了一个脚本来计算和求解一个简单的倒立摆系统。现在假设我想用不同初始条件值的 ODE45 函数求解系统的非线性动力学方程。我如何使用 for 循环来求解状态初始条件的不同值的 X 向量?我写了一个 for 循环来做到这一点,但我无法得到我想要的答案。请帮助我。这是我的函数和 mfile,如下所示:
这是我的主要代码:
另请注意,我想要 X 向量的第一列,它是每次迭代中摆的角位移,因为 ODE45 中 X 向量的第二列始终是主状态向量的导数。
python - 在python中求解非线性方程
NotImplementedError:当其他 arg 为 True 或 False 时,Eq 的意外参数。
这段代码的实际问题是什么?
compilation - 如何线性化这个方程并在 FreeFEM++ 代码中实现它?
我正在与您联系以尝试获得有关与非线性问题相关的问题的一些答案。
事实上,我试图将方程线性化,所以为此我取了 c1 = c10 + dc1,其中 c1 是我的变量,c10 是初始常数,dc1 是增量。
对应的代码是:
为了确定增量 dc1,我使用了一个循环:
当我编译代码时,c1 的值完全不正确,并且增加得非常快。
有人可以帮助我吗?或者给我一些关于这段代码的提示?
我希望我已经提供了足够的信息来让您理解代码,尤其是我必须编写的错误。
先感谢您。
plot - 在 python 中绘制非线性函数
我正在尝试绘制一个(非常简单的)方程,就像 ol' y^2 + x^2 = 1,我似乎找不到任何关于这个主题的库/教程,甚至在这个特定的函数上也找不到。有人可以帮帮我吗?
谢谢 yonatan
sympy - 为什么 sympy.solve 不适用于这 12 个变量的非线性方程系统?
我正在尝试用 SymPy 求解 12 个非线性方程组。
该方法在没有给出解决方案的情况下保持迭代。
我尝试使用 sympy.nsolve 和 sympy.nonlinsolve 解决这个问题,但该方法具有相同的行为。
The solution is q = {−0.0069890396, −0.0047282445, −0.0162466459, 0.0210266730, 0.0760407388, 0.2581313042, −0.8041341124, 0.5207860961, 0.0419502235, −0.0847506178, 0.0022720543, −0.0033584299}.
拜托,你能给我一些想法吗?谢谢。
python - 具有 3 个未知数的 3 个方程的非线性系统 - Python
我正在做一个海上风能项目,我正在设计涡轮机。这包括定义涡轮机的一些特征。
我需要求解具有3 个变量的3 个非线性方程组。
3个方程求解
3 个变量(未知数)是:
a
ai
Bi
给出了其他值。
尝试解决
我已经尝试过使用fsolve
,sym.nonlinsolve
和更多,但我无法弄清楚。
在我最后一次尝试中,我将前 2 个方程中的 Bi 替换为第 3 个方程。我通过用实际数字替换我已经知道的值来添加我的最小可重现示例:
如果有人知道如何解决这个问题,我将不胜感激。
r - R nleqslv 困难 - 解决酸碱缓冲液中的 pH 值
目标
建立磷酸缓冲液 (1M) 的理论滴定曲线。
我提供了一个完全可重现且独立的示例(我的失败^.^)。
模型方程
磷酸的酸碱平衡方程为:
模型实现
请注意,convert.fun
可以尝试不同的方法来强制浓度为正值。
返回值是模型方程的向量,等于零(对吗?)。
迭代
我希望解决系统中所有可能的 Na+ 浓度,最多 3 个当量“体积”。
我设置了唤醒最低条件的初始条件:[Na]=0
.
然后解决它nleqslv
并使用结果来“播种”下一次迭代。
它似乎工作得很好:
但是,仔细观察,问题将变得显而易见。
但是,在那之前,一些代码!
设置初始条件和结果矩阵:
迭代:
请注意,convert.fun
现在abs(x)
是(这样可以吗?)。
问题
最后一个情节的问题在于它的右侧部分被展平了。
这个问题在下面的情节中更加明显:
红色曲线应该在顶部结束,紫色曲线在底部。这似乎从 开始发生Na~2
,但经过几次迭代后,结果变平(并变得完全恒定)。
精明的可能提示
- 使用
method="Broyden"
而不是"Newton"
. nleqslv
的返回消息从“接近零的函数标准”更改为“公差 'xtol' 内的 x 值”。- 我还尝试添加雅可比行列式。这并没有改变结果,但在有问题的地方,我得到了这样的结果:
我现在真的没有想法了!并且非常感谢一些帮助或指导。
r - 用于非线性方程求解的 BBsolve 不打印结果
我遇到了函数 BBsolve 和 dfsane 的问题,即我成功收敛,但在尝试求解以下非线性方程组时,我没有得到结果(par 未打印,仅:成功收敛)。
任何帮助将不胜感激!
代码可以在这里找到: