Fsolve Error! Need help- Using Fsolve to solve system of non-linear equations.
1 回表示 (過去 30 日間)
古いコメントを表示
% ***Function script
cpa=1.005;
cpg=1.148;
Qin=801.4;
t2=401;
t1=294.11;
p1=101.4;
p2=2.5*p1;
px=p2;
p3=.94*px;
p5=p1;
nreg=.8;
nc=.82;
nt=.85;
function F=myfun(x)
F=[x(10)-cpa*(t2-t1);
x(10)-cpg*(x(2)-x(3));
x(9)-cpg*(x(3)-x(4));
Qin-cpg*(x(2)-x(1));
nreg*(x(4)-t2)-(x(1)-t2);
nc*(t1-t2)-(t1-x(5));
nt*(x(2)-x(6))-(x(2)-x(3));
nt*(x(3)-x(7))-(x(3)-x(4));
x(5)-(2.5^(.28571429)*t1);
x(6)-((x(8)/p3)^(.24981245)*x(2));
x(7)-(p5/x(8))^(.24981245)*x(3)];
end
% ****Solver Code
x0=[440;1000;900;850;380;890;800;160;110;110];
options = optimoptions('fsolve','display','iter');
[x,fval]= fsolve(@project2,x0,options);
3 件のコメント
採用された回答
madhan ravi
2019 年 3 月 18 日
編集済み: madhan ravi
2019 年 3 月 18 日
Make the below changes in your code:
[x,fval]= fsolve(@(x)myfun(x,cpa,cpg,Qin,t2,t1,p1,p2,px,p3,p5,nreg,nc,nt),x0,options);
function F=myfun(x,cpa,cpg,Qin,t2,t1,p1,p2,px,p3,p5,nreg,nc,nt)
Note: You finally get a message that No solution found. Maybe it has something to do with the initial guess but this answer clears all the errors in your code. You would have to figure it out by yourself.
3 件のコメント
その他の回答 (1 件)
Alex Sha
2019 年 4 月 22 日
Hi, your equations seems to be Contradictory:
"nc*(t1-t2)-(t1-x5)" lead to x5=381.7598
while "x5-(2.5^(.28571429)*t1)" lead to x5=382.126307902248
it is why you can not get accurate solution.
0 件のコメント
参考
カテゴリ
Help Center および File Exchange で Linear Algebra についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!