You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Matlab solve函数生成不满足方程的正解,求原因解析

关于Matlab solve函数生成无效正解的疑问

理论上我所求解的方程应仅存在一个正解,其余解均为负解。但使用Matlab的solve函数求解时,得到了两个正解,其中一个代入原方程验证后不满足条件,并非有效解。相关代码及运行结果如下:

n=4
c = 10.3343;
theta = [51.7924 ; 4.3564 ; 0.0103 ; 1.3505];
syms x
eqn = sum(sqrt(x.^2 + theta))  - n.*x == c;
sol = solve(eqn,x);
% find pi
xdouble = double(sol);
xdouble(xdouble<0) = [];

cnew1  = sum(sqrt(xdouble(1).^2 + theta)) - n.*xdouble(1)
cnew2  = sum(sqrt(xdouble(2).^2 + theta)) - n.*xdouble(2)

运行结果:

cnew1 =

   10.5373


cnew2 =

   10.3343

其中第二个是有效解,想了解为何Matlab会生成第一个无效的正解?

内容的提问来源于stack exchange,提问作者hafezmg48

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 09:39:58