MATLAB解复杂方程组的问题

来源:百度知道 编辑:UC知道 时间:2024/06/22 02:05:56
我的程序是这样的
syms x y z
S=solve('0.0395*x-194.7483*z+835916.8-0.35678*z^2-0.0414*(z-40)^1.25-0.0864*(z^4-40^4)=0','0.01325*(y^4-x^4)+0.009574*(y-x)^1.25+0.32*y-0.84773104*x+3.731-0.00000656*x^2+0.437*z=0','4500000-0.25*y^2-124*y+14211.626-0.01325*(y^4-x^4)-0.009574*(y-x)^1.25+0.32*x=0','x','y','z')
然后后来就一直BUSY下去了,最后显示了:
Saving minidump to file C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\matlab_crash_dump.21336.0.dmp
希望大家给点意见,方程很复杂,也不知道怎么办。
我也考虑过用数值法,只是看了半天没看懂,希望高手能看看怎么搞才好。在线等……
按理说应该是可以解出X,Y,Z的值才对,毕竟3个未知数,3个方程
1楼的高手能不能解释一下结果(不会MATLAB数值法)

我的也是busy下去了。那就用数值解法吧,我试试去。

数值解法的方法就是这样,初始值不知道设成怎样才能找到解。

function hh
X0=[0 0 0]
[X,FVAL,EXITFLAG]=fsolve(@myfun,X0)
function f=myfun(X)
x=X(1);y=X(2);z=X(3);
f(1)=0.0395*x-194.7483*z+835916.8-0.35678*z^2-0.0414*(z-40)^1.25-0.0864*(z^4-40^4);
f(2)=0.01325*(y^4-x^4)+0.009574*(y-x)^1.25+0.32*y-0.84773104*x+3.731-0.00000656*x^2+0.437*z;
f(3)=4500000-0.25*y^2-124*y+14211.626-0.01325*(y^4-x^4)-0.009574*(y-x)^1.25+0.32*x;

结果:
X0 =

0 0 0

Optimization terminated: norm of relative change in X is less
than max(options.TolX^2,eps) and sum-of-squares of function
values is less than sqrt(options.TolFun).

X =

1.0e+003 *

4.0081 + 0.0000i 4.0081 + 0.0000i 0.0590 - 0.0000i

FVAL =

1.0e-003 *

0.0000 + 0.0000i 0.2040 - 0.0000i -0.2040 + 0.0000i

EXITFLAG =

2

function hh