怎么用MATLAB求解一元三次方程?为Ax^3+Bx^2+Cx+D=0这种模式的?

来源:学生作业帮助网 编辑:作业帮 时间:2024/07/12 20:19:33
怎么用MATLAB求解一元三次方程?为Ax^3+Bx^2+Cx+D=0这种模式的?
xUMo@+{AvlS'8>gKTP dn5@Zq QU"u$ݵLB*=~3>ilvҭw KZʒ7/"KiXD"w^z.}>ӏOkӛw? 1eM޿GBD<("'|\ =A{H:9Vw5-Ry7#oHEbk(:=6,Vd/!R(D>[iK.U"OE>Y6 B >S@ćS2q%G,Y.@:Bmbɲ]L5ӨbӀhU&V :T^`Aͬ$+}@LEKֈnA`P ȲNYTvu;$W1or\Nʕ\Vney@N3] %R }{?\]k+N߅] K!zؼ1]) V

怎么用MATLAB求解一元三次方程?为Ax^3+Bx^2+Cx+D=0这种模式的?
怎么用MATLAB求解一元三次方程?为Ax^3+Bx^2+Cx+D=0这种模式的?

怎么用MATLAB求解一元三次方程?为Ax^3+Bx^2+Cx+D=0这种模式的?
在命令窗口中输入:
syms A B C D x
x=solve(A*x^3+B*x^2+C*x+D,x) % 这是求符号解.
A=1;B=2;C=3;D=4; %这是具体的取值, 改成你想要的.
x0=subs(x) %这是A, B, C, D取上边的值以后得到的数值解.
输出三个不同的解:
x = 1/6/A*(36*C*B*A-108*D*A^2-8*B^3+12*3^(1/2)*(4*C^3*A-C^2*B^2-18*C*B*A*D+27*D^2*A^2+4*D*B^3)^(1/2)*A)^(1/3)-2/3*(3*C*A-B^2)/A/(36*C*B*A-108*D*A^2-8*B^3+12*3^(1/2)*(4*C^3*A-C^2*B^2-18*C*B*A*D+27*D^2*A^2+4*D*B^3)^(1/2)*A)^(1/3)-1/3*B/A
-1/12/A*(36*C*B*A-108*D*A^2-8*B^3+12*3^(1/2)*(4*C^3*A-C^2*B^2-18*C*B*A*D+27*D^2*A^2+4*D*B^3)^(1/2)*A)^(1/3)+1/3*(3*C*A-B^2)/A/(36*C*B*A-108*D*A^2-8*B^3+12*3^(1/2)*(4*C^3*A-C^2*B^2-18*C*B*A*D+27*D^2*A^2+4*D*B^3)^(1/2)*A)^(1/3)-1/3*B/A+1/2*i*3^(1/2)*(1/6/A*(36*C*B*A-108*D*A^2-8*B^3+12*3^(1/2)*(4*C^3*A-C^2*B^2-18*C*B*A*D+27*D^2*A^2+4*D*B^3)^(1/2)*A)^(1/3)+2/3*(3*C*A-B^2)/A/(36*C*B*A-108*D*A^2-8*B^3+12*3^(1/2)*(4*C^3*A-C^2*B^2-18*C*B*A*D+27*D^2*A^2+4*D*B^3)^(1/2)*A)^(1/3))
-1/12/A*(36*C*B*A-108*D*A^2-8*B^3+12*3^(1/2)*(4*C^3*A-C^2*B^2-18*C*B*A*D+27*D^2*A^2+4*D*B^3)^(1/2)*A)^(1/3)+1/3*(3*C*A-B^2)/A/(36*C*B*A-108*D*A^2-8*B^3+12*3^(1/2)*(4*C^3*A-C^2*B^2-18*C*B*A*D+27*D^2*A^2+4*D*B^3)^(1/2)*A)^(1/3)-1/3*B/A-1/2*i*3^(1/2)*(1/6/A*(36*C*B*A-108*D*A^2-8*B^3+12*3^(1/2)*(4*C^3*A-C^2*B^2-18*C*B*A*D+27*D^2*A^2+4*D*B^3)^(1/2)*A)^(1/3)+2/3*(3*C*A-B^2)/A/(36*C*B*A-108*D*A^2-8*B^3+12*3^(1/2)*(4*C^3*A-C^2*B^2-18*C*B*A*D+27*D^2*A^2+4*D*B^3)^(1/2)*A)^(1/3))
x0 =
-1.6506
-0.1747 + 1.5469i
-0.1747 - 1.5469i
这里每行一个解.