主题: [MATLAB基础] 符号解三次方程有误?
查看单个帖子
旧 2012-11-06, 16:01   #2
旁听生
初级会员
 
注册日期: 2010-10-14
帖子: 6
声望力: 0
旁听生 正向着好的方向发展
默认 回复: 符号解三次方程有误?

主题帖图片显示太小,问题重发如下:

三次方程 x^3+3*x^2-1=0 的判别式小于零,有三个不相等的实数根。
用MATLAB符号运算(solve函数求解),却得到三个复数根。MATLAB大概是直接将系数代入求根公式求解,因为判别式<0,就不可避免的会对负数开平方,从而算得三个复根。

调用格式如下:
>> syms x
>> f1=sym('x^3+3*x^2-1=0');
>> x=solve(f1,x)

此帖于 2012-11-06 16:03 被 旁听生 编辑。 原因: 增加说明
旁听生 当前离线   回复时引用此帖