问题标签 [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.
matlab - 非线性方程符号系统matlab
我试图象征性地解决以下方程组:
使用函数 solve(Sys,[x,y,z,w,q,r,t]) 我得到:警告:找不到显式解决方案。
在 169 处解决
但是如果我尝试在 Mathematica 中求解相同的方程组,我会找到两个解。难道我做错了什么???
谢谢!
r - R - Levenberg Marquardt 中的非线性最小二乘法拟合 Heligman Pollard 模型参数
我正在尝试重现 Kostakis 的论文解决方案。在本文中,使用 de Heligman-Pollard 模型将简化的死亡率表扩展为完整的生命表。该模型有 8 个必须拟合的参数。作者使用了修改后的 Gauss-Newton 算法;该算法 (E04FDF) 是 NAG 计算机程序库的一部分。Levenberg Marquardt 不应该产生相同的参数集吗?我的代码或 LM 算法的应用有什么问题?
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 库可以解决这个问题?
interpolation - 如何使用数据集查找非线性方程参数
我得到了一个包含 2 个变量 X 和 Y 的数据集。我认为这两个变量通过如下等式链接:
Y(X) = a ( b + c * X^d)^e ,
我有很多观察 Xi 和 Yi,我想: 1) 定义参数 c、d 和 e。2)确认我的方法是正确的
第一步,我尝试使用 Excel 中的求解器,但结果还不错,但如果可能的话,我想要一种更强大的方法。
非常感谢您的帮助。
matlab - 初始用户提供的目标函数评估失败。FSOLVE 无法继续
我正在尝试在 MATLAB 2013 中使用 fsolve 求解大量非线性方程。当我运行此代码时:
这里 Eqnh 是 3249 个变量和 3249 个方程的函数句柄。我收到以下错误:
如果需要,我可以提供用文本文件编写的 Eqnh。
r - 在 cox 模型中拟合受限三次样条
我想使用 Cox 比例风险回归来调查一些连续风险因素与我的偏好疾病之间的假定 U 形关联。到目前为止,我已经完成了这个R
和survival
这样的包
然而,虽然不幸的是文档并不太冗长,但在我看来,这些样条曲线不受限制(即,被迫在尾部是线性的),因此在所述尾部中表现出很大的差异,而且我必须这样做也让我很恼火提供所需的拟合复杂度(通过df
参数)。我宁愿把它放在mgcv
包里,它可以自动调节拟合的复杂性,但 AFAIK 不支持 cox 模型。
我可以用 来做吗R
,如果可以,怎么做?
matlab - 求解非线性 ODE 2. 在 Matlab 中以数值方式排序
我有一个带有三角函数的二阶非线性 ODE,因此我无法根据二阶导数对其进行公式化。例如:
如果不存在像arctan(y'')这样的术语,我可以编写我的 ode 函数,例如
不幸的是,二阶非线性项 (=> b*arctan(y'') ) 使我无法根据y''编写 ode 。
有什么方法可以在 Matlab 中数值求解这样的三角函数?
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)......现在它可以工作但结果我得到零
matlab - 在matlab中将非线性符号方程转换为矩阵
我知道如何使用 equationstomatrix 函数将线性方程转换为矩阵
不幸的是,equationsToMatrix
不能用于非线性方程。如果我想将多个非线性方程转换为矩阵,有没有办法做到这一点?例如,我有三个方程:
我想得到以下结果
python - 在python中求解非线性方程
我有 4 个非线性方程,其中包含三个未知数X
, Y
, Z
,我想求解。方程的形式为:
...其中a
和是取决于四个方程中每个值b
的常数。c
F
解决这个问题的最佳方法是什么?