本人正在用matlab解一个方程(三次方程y=x^3)的解,但是matlab一直解不出来,到最后matlab软件自动退出

是这样的,syms x1 x2 x3 x4 y1 y2 y3 y4;是8个未知系数,然后solve('y2*(1-(x))^3+(3*y2+3*(y2-y1)*(x2-x3)/(x3+(x2*x3-x2*x4-x2^2+3*(x)*x2^2-3*(x)^2*x2^2+(x)^3*x2^2+x3^2*(x)^3-x1*x3+x1*x4+x2*x1-x3*(x)^3*x4+3*x2*(x)^2*x3+x2*(x)^3*x4-2*x2*x3*(x)^3-3*x2*(x)*x3)/(-x2+x1-3*(x)*x3+3*(x)^2*x3+(x)^3*x2+3*(x)*x2-x3*(x)^3-3*(x)^2*x2)-x4-x2))*(x)*(1-(x))^2+(3*y3+3*(y3-y4)*(x2-x3)/(x3+(x2*x3-x2*x4-x2^2+3*(x)*x2^2-3*(x)^2*x2^2+(x)^3*x2^2+x3^2*(x)^3-x1*x3+x1*x4+x2*x1-x3*(x)^3*x4+3*x2*(x)^2*x3+x2*(x)^3*x4-2*x2*x3*(x)^3-3*x2*(x)*x3)/(-x2+x1-3*(x)*x3+3*(x)^2*x3+(x)^3*x2+3*(x)*x2-x3*(x)^3-3*(x)^2*x2)-x4-x2))*(1-(x))*(x)^2+y3*(x)^3=0','x'),这个(其实这个就是y=x1*x^2+x2*x+y1*x等等这样的方程,然后令y=0,求x)是需要解的方程,最后希望的解的形式是x=a*x1+b*x2+c*x3+d*x4+e*y1+f*y2+g*y3+r*y4之类的。希望大伙能帮帮忙,谢谢了

试试fzero这个函数。追问

如果我是想在x1到x4这个区间去找一个使得y=0的x解,那么fzero函数要怎么用啊??谢谢了

追答

fzero(@你的函数,[X1,X4])

追问

出现了这个错误!!!

追答

。。。你这个x1,x4也是未知量?那fzero不能用。

追问

因为这个表达式有点复杂,所以现在造成solve解不出来,我用matlab算了几次了,到最后软件都是无故自动退出!!!不知还有什么可以化简的方法,能把这个方程解出来???

追答

我的是这个,
RootOf(X15^4*x3*y3 + X15^4*x2*y4 + X15^4*x3*y1 + X15^4*x2*y2 - X15^4*x3*y4 - X15^4*x3*y2 - X15^4*x2*y3 - X15^4*x2*y1 + 3*X15^3*x3*y4 - 2*X15^3*x4*y3 - 3*X15^3*x2*y4 + 2*X15^3*x4*y2 + 3*X15^3*x2*y3 + 2*X15^3*x3*y2 - 4*X15^3*x3*y1 - 4*X15^3*x2*y2 + 4*X15^3*x2*y1 - X15^3*x3*y3 + 3*X15^2*x4*y3 - 3*X15^2*x3*y4 - 3*X15^2*x4*y2 + 3*X15^2*x2*y4 - 3*X15^2*x3*y2 - 3*X15^2*x2*y3 + 6*X15^2*x3*y1 + 6*X15^2*x2*y2 - 6*X15^2*x2*y1 + 3*X15*x3*y2 + X15*x2*y3 + X15*x1*y4 - 4*X15*x2*y2 - 3*X15*x3*y1 + 4*X15*x2*y1 + X15*x1*y2 - X15*x2*y4 - X15*x1*y3 - X15*x1*y1 + x4*y2 + x2*y2 + x1*y1 - x3*y2 - x2*y1 - x1*y2, X15)

追问

你这个方程能解出来吗???就是用matlab软件能给出答案吗?

追答

嗯,用的matlab。

追问

那能不能帮我在你机器上解一下我这方程,谢谢了

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-10-13
非线性方程组一般很难有解析解追问

其实 这不是一个方程组,就是一个y=x2*x^2+x3*x+y1*x之类的方程,然后求解y=0时的x解

追答

最后你的x是要用其他参数表示的,这就是解析解,是求不出来的

追问

但是我试了几个简单的函数就比如:y=x2*x^2+x3*x+y1*x,然后用solve能解出来y=0时的x(几个参数表示)解值,我一直在想是不是因为这个表达式函数太长了

追答

这个简单的函数就是二次方程,当然有解析解。

更复杂的一般都是没有解析解的