NSolveValues
NSolveValues[expr,vars]
尝试找到由系统 expr 的解确定的 vars 值的数值近似.
NSolveValues[expr,vars,Reals]
在实数范围内求解.
更多信息和选项
- 系统 expr 可以是以下内容的任何逻辑组合:
-
lhs==rhs 等式 lhs!=rhs 不等式 lhs>rhs 或 lhs>=rhs 不等式 expr∈dom 定义域规范 {x,y,…}∈reg 区域规范 ForAll[x,cond,expr] 通用量词 Exists[x,cond,expr] 存在量词 - NSolveValues[{expr1,expr2,…},vars] 等价于 NSolveValues[expr1&&expr2&&…,vars].
- 可以指定一个变量或变量列表.
- 如果指定了单个变量,则结果是使 expr 为 True 的变量值列表.
- 如果指定了变量列表,则结果是使 expr 为 True的变量值列表的列表.
- 当指定单个变量且方程特根的多重性大于 1 时,NSolveValues 会提供相应解的多个副本.
- NSolveValues[expr,vars] 默认假设不等式中以代数形式出现的量是实数,而所有其他量都是复数.
- 在 NSolveValues[expr,vars,Reals] 中,所有变量、参数、常数和函数值均被限定为实数.
- NSolveValues[expr&&vars∈Reals,vars,Complexes] 求解变量的实数值,但函数值可以是复数.
- NSolveValues[…,x∈reg,Reals] 将 x 约束在区域 reg 中. 可以使用 Indexed[x,i] 引用 x 的不同坐标.
- NSolveValues 主要处理线性和多项式方程.
- 可以给出以下选项:
-
MaxRoots Automatic 返回的最大根数 Method Automatic 应该使用什么方法 RandomSeeding 1234 伪随机发生器的种子 VerifySolutions Automatic 是否验证解 WorkingPrecision Automatic 计算中使用的精度 - 可能得 Method 设置包括 "EndomorphismMatrix"、"Homotopy"、"Monodromy",和 "Symbolic". »
范例
打开所有单元关闭所有单元范围 (48)
一元复数方程 (10)
多变量复方程组 (9)
一元实数方程 (11)
多变量的实数方程组和不等式组 (9)
选项 (10)
MaxRoots (4)
在默认的 Automatic 设置下,NSolveValues 可能无法给出所有解法:
设置 MaxRootsInfinity,NSolveValues 试图求出所有解:
Method (4)
这个系统有 个根,严格小于 Bernstein-Khovanskii-Kushnirenko 定理提供的 个根的界限:
"Homotopy" 方法(默认使用)会返回某些根的多个重复副本:
"Monodromy" 方法的运行速度更快,而且不会产生多个根的重复副本:
Method 选项也可用于本地设置 "NSolveOptions" 组中的系统选项:
默认情况下 NSolveValues 为欠定复杂系统引入了切分超平面(slicing hyperplanes):
设置 Method->{"UseSlicingHyperplanes"->False},NSolveValues 给出了参数解:
VerifySolutions (1)
NSolveValues 验证使用非等效转换获得的解:
通过设置 VerifySolutions->False,NSolve 不验证解:
使用 VerifySolutions->False 返回的某些解是不正确的:
WorkingPrecision (1)
默认情况下,NSolveValues 使用机器精度计算来求精确方程的解:
应用 (17)
几何 (11)
求 InfiniteLine[{0,0},{1,1}] 和 InfiniteLine[{{0,1},{1,0}}] 的交点:
求 InfiniteLine[{0,0},{1,1}] 和 Circle[{0,0},1] 的交点:
使用 BooleanCountingFunction 表示恰好有两个条件成立:
求圆 Circle[{1/3 Cos[k 2π/5],1/3 Sin[k 2π/5]}] 在 k=0,…,4 时每一对圆的交点:
求 InfiniteLine[{{-1,1,1},{1,1,1}}] 和 InfinitePlane[{{2,0,0},{0,2,0},{0,0,2}}] 的交点:
求 InfiniteLine[{{-1,1,1},{1,1,1}}] 和 Sphere[{0,0,0},3] 的交点:
求 InfiniteLine[{{-1,1/3,1/2},{1,1/3,1/2}}] 和 Tetrahedron[{{0,0,0},{1,0,0},{0,1,0},{0,0,1}}] 的边界的交点:
求球 Sphere[{1/3 Cos[k 2π/3],1/3 Sin[k 2π/3],0}] 在 k=0,1,2 时的交点:
使用 BooleanCountingFunction 求三件事正好成立的条件:
化学 (1)
机械 (3)
Gough-Stewart 自由度为 6 的平行平台的正运动学:
建立一个由四个变量组成的六方程超定系统,该系统源于摄像机姿态估算程序:
对于每个解,插入解的前四个残差都很小,而后两个残差则不可忽略:
经济 (1)
经济学中出现的简化 8 维系统;我们使用非默认方法来获得更高的精度:
差分方程 (1)
属性和关系 (7)
对于单变量方程,NSolveValues 根据解的多重性重复求解:
NSolveValues 给出解的值:
NSolve 根据替换规则表示解:
NSolveValues 是一个全局方程求解器:
FindRoot 是一个局部方程求解器:
NSolveValues 给出近似结果:
使用 SolveValues 获得确切解:
使用 FindInstance 获取确切解的实例:
使用 NDSolveValue 数值式求解微分方程:
可能存在的问题 (7)
更高的 WorkingPrecision 可以产生更准确的结果:
使用较高的 WorkingPrecision 将给出具有较小公差的解:
如果解集是无限的,则 NSolveValues 给出其与随机超平面的交集:
使用 ContourPlot 和 ContourPlot3D 查看解的实部:
默认情况下,NSolveValues 可能会显示有多个解,但实际计数其实应该更小:
尽管残差存在差异,但两个解在 MachinePrecision 的所有位数上都是一致的:
在指定了 Reals 域的情况下,如果函数的解的所有邻域都不是实数,则 NSolveValues 可能不能对这种函数求解:
NSolveValues 可能不会给出所有解:
文本
Wolfram Research (2021),NSolveValues,Wolfram 语言函数,https://reference.wolfram.com/language/ref/NSolveValues.html (更新于 2024 年).
CMS
Wolfram 语言. 2021. "NSolveValues." Wolfram 语言与系统参考资料中心. Wolfram Research. 最新版本 2024. https://reference.wolfram.com/language/ref/NSolveValues.html.
APA
Wolfram 语言. (2021). NSolveValues. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/NSolveValues.html 年