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
江湖救急!用matlab解非线性方程组提示空解,
答案:3 悬赏:20 手机版
解决时间 2021-03-19 04:45
- 提问者网友:战皆罪
- 2021-03-18 04:15
最佳答案
- 五星知识达人网友:西风乍起
- 2021-03-18 05:03
具体数据我没细看,但就警告来说,是你的过程矩阵3了问题,产生了奇异值,你再检查一下你的指令中,是否有会导致0的对数、矩阵求逆时奇异、0在分母等的问题。
全部回答
- 1楼网友:酒醒三更
- 2021-03-18 06:20
function F=sy11(x)
F1 = 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;
F2 = 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);
F=[F1;F2];
1 运行指令如下:
x0=[0.9,0.2]
[x fval]=fsolve(@sy11,x0)
结果:
x =
0.923337235648763 0.251329568590227
fval =
6.3664629124105e-012
-9.09494701772928e-012
2 运行指令如下:
x0=[0.2,0.1]
[x fval]=fsolve(@sy11,x0)
结果:
x =
0.195829123959802 0.0638675515577697
fval =
1.81898940354586e-012
0
- 2楼网友:山有枢
- 2021-03-18 05:28
12465252161545654
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯