怎么用MATLAB解带参数的一元三次方程解方程:(

如题所述

1、之所以代入t=0.2会得到有虚部的解,是由数值计算误差造成的,可以试试:
>> syms x t;

>> f = (-8)*(x^3) + 9*(x^2) - 16* (t^2);
>> w = solve(f,x);
>> double(subs(w,sym(0.2)))
ans =
1.0528
-0.2419
0.3141
此种情况下,0.2是以符号量的形式代入之后再转换为double类型,计算就不会有数值误差。
2、可以用根轨迹分析的方法得出,方程有三个实数解的条件并非0<t<0.25,而是 |t| ≤ sqrt(27/256),对于临界点 t≈0.3248,对应的三个根为 [ 3/4, -3/8, 3/4]。
温馨提示:内容为网友见解,仅供参考
第1个回答  2017-05-25
可以用sym定义符号和需要求解的方程
用solve进行求解。
相似回答