Warning: Matrix is singular, close to singular or badly scaled. Results may be inaccurate. RCOND = NaN. 这个一直提示NaN
方程指令如下:
function F=sy11(x)
F=[40000*x(2) - 36680*x(1) - 8314*log(1 - x(1)) + 8314*log(1 - x(2)) + 8314*log(x(1)) - 8314*log(x(2)) - 764241040/128439;
36680*x(1) + 8314*log(1 - x(1)) - 8314*log(x(1)) - ((551032300*x(2))/128439 + 18340*x(1)*(x(1) - 1) - 20000*x(2)*(x(2) - 1) - 8314*x(1)*log(x(1)) + 8314*x(2)*log(x(2) + 8314*log(1 - x(1))*(x(1) - 1) - 8314*log(1 - x(2))*(x(2) - 1) + 12296800/1809)/(x(1) - x(2)) - 18340)];
运行指令如下:
x0=[1,1]
[x fval]=fsolve(@sy11,(x0))
end
这个要怎么检查呢?因为x是可以取到0,1的,现在也没法带入验算,这个和初值x0的取值有没有关系呢?是不是算法错误的可能性很大?
追答我怎么感觉你定义的函数里没有变量呢?x(1)和x(2)是全局变量吗?
追问x(1)和x(2)是方程组的两个待解量,貌似这个是fsolve函数固定格式,未知数的表示法
追答就算像你说的那样,但你定义的函数只有一个变量呀,而且还是x。function F=sy11(x)
本回答被提问者采纳