问题标签 [nonlinear-functions]

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 回答
3659 浏览

matlab - 非线性方程符号系统matlab

我试图象征性地解决以下方程组:

使用函数 solve(Sys,[x,y,z,w,q,r,t]) 我得到:警告:找不到显式解决方案。

在 169 处解决

但是如果我尝试在 Mathematica 中求解相同的方程组,我会找到两个解。难道我做错了什么???

谢谢!

0 投票
2 回答
6318 浏览

r - R - Levenberg Marquardt 中的非线性最小二乘法拟合 Heligman Pollard 模型参数

我正在尝试重现 Kostakis 的论文解决方案。在本文中,使用 de Heligman-Pollard 模型将简化的死亡率表扩展为完整的生命表。该模型有 8 个必须拟合的参数。作者使用了修改后的 Gauss-Newton 算法;该算法 (E04FDF) 是 NAG 计算机程序库的一部分。Levenberg Marquardt 不应该产生相同的参数集吗?我的代码或 LM 算法的应用有什么问题?

0 投票
1 回答
209 浏览

r - R - 估计向量及其协方差矩阵的函数

给定变量向量 x[1:3] 及其协方差矩阵 V[1:3,1:3] 的估计值,我寻求一种实用程序,它将线性或非线性函数应用于两个或多个变量,例如

x[4] = x[1] + x[2]

x[5] = x[4] / x[3]。

x[4] 和 x[5] 的估计值需要简单的代数。

包括线性变换 x[4] 的协方差矩阵就是 (H * V * H'),其中

H =

可以使用项 a 和 b 的一阶泰勒级数近似来估计添加 x[5] 的协方差矩阵:

H =

在概念上,我知道算法应该如何工作。但这需要大量的编码,特别是如果我在用户界面中尝试某种通用方程解析器。

是否有任何现有的 R 库可以解决这个问题?

0 投票
1 回答
484 浏览

interpolation - 如何使用数据集查找非线性方程参数

我得到了一个包含 2 个变量 X 和 Y 的数据集。我认为这两个变量通过如下等式链接:

Y(X) = a ( b + c * X^d)^e ,

我有很多观察 Xi 和 Yi,我想: 1) 定义参数 c、d 和 e。2)确认我的方法是正确的

第一步,我尝试使用 Excel 中的求解器,但结果还不错,但如果可能的话,我想要一种更强大的方法。

非常感谢您的帮助。

0 投票
0 回答
2245 浏览

matlab - 初始用户提供的目标函数评估失败。FSOLVE 无法继续

我正在尝试在 MATLAB 2013 中使用 fsolve 求解大量非线性方程。当我运行此代码时:

这里 Eqnh 是 3249 个变量和 3249 个方程的函数句柄。我收到以下错误:

如果需要,我可以提供用文本文件编写的 Eqnh。

0 投票
1 回答
1914 浏览

r - 在 cox 模型中拟合受限三次样条

我想使用 Cox 比例风险回归来调查一些连续风险因素与我的偏好疾病之间的假定 U 形关联。到目前为止,我已经完成了这个Rsurvival这样的包

然而,虽然不幸的是文档并不太冗长,但在我看来,这些样条曲线不受限制(即,被迫在尾部是线性的),因此在所述尾部中表现出很大的差异,而且我必须这样做也让我很恼火提供所需的拟合复杂度(通过df参数)。我宁愿把它放在mgcv包里,它可以自动调节拟合的复杂性,但 AFAIK 不支持 cox 模型。

我可以用 来做吗R,如果可以,怎么做?

0 投票
1 回答
1028 浏览

matlab - 求解非线性 ODE 2. 在 Matlab 中以数值方式排序

我有一个带有三角函数的二阶非线性 ODE,因此我无法根据二阶导数对其进行公式化。例如:

如果不存在arctan(y'')这样的术语,我可以编写我的 ode 函数,例如

不幸的是,二阶非线性项 (=> b*arctan(y'') ) 使我无法根据y''编写 ode 。

有什么方法可以在 Matlab 中数值求解这样的三角函数?

0 投票
3 回答
4453 浏览

python - 在python中求解科尔布鲁克(非线性)方程

我想在 python 中做这个人在 MATLAB 中所做的事情。

我已经安装了 anaconda,所以我有 numpy 和 sympy 库。到目前为止,我已经尝试过使用 numpy nsolve,但这不起作用。我应该说我是 python 新手,而且我知道如何在 MATLAB 中做到这一点:P。

方程

-2*log(( 2.51/(331428*sqrt(x)) ) + ( 0.0002 /(3.71*0.26)) ) = 1/sqrt(x)

通常,我会迭代地解决这个问题,简单地猜测左边的 x 而不是解决右边的 x。把解放在左边,再解。重复直到左边的 x 接近右边。我知道应该是什么解决方案。

所以我可以这样做,但这不是很酷。我想用数字来做。我的 15 欧元卡西欧计算器可以按原样解决,所以我认为它不应该太复杂?

谢谢您的帮助,

编辑:所以我尝试了以下方法:

我得到了这个结果:

是因为我也在解决常量问题吗?

edit2:所以我想我必须通过 args=() 关键字分配常量,所以我改变了:

但现在我明白了:

无论如何,当我输入不同的方程式时;可以说它2*x*Re+(k*d)/(x+5)有效,所以我想我必须转换方程。

所以它死在这里:log(x,10)..

编辑4:正确的语法是log10(x)......现在它可以工作但结果我得到零

0 投票
1 回答
2424 浏览

matlab - 在matlab中将非线性符号方程转换为矩阵

我知道如何使用 equationstomatrix 函数将线性方程转换为矩阵

不幸的是,equationsToMatrix不能用于非线性方程。如果我想将多个非线性方程转换为矩阵,有没有办法做到这一点?例如,我有三个方程:

我想得到以下结果

0 投票
2 回答
38173 浏览

python - 在python中求解非线性方程

我有 4 个非线性方程,其中包含三个未知数X, Y, Z,我想求解。方程的形式为:

...其中a和是取决于四个方程中每个值b的常数。cF

解决这个问题的最佳方法是什么?