Error in fsolve (line 219) fuser = feval(funfcn{3},x,varargin{:}); Caused by: Failure in initial user-supplied objective function evaluation. FSOLVE cannot continue.
35 views (last 30 days)
Show older comments
I wrote this m-file to solve a 57 equations system using fsolve, but from the command window when I I call the file it gives me the following:
Error in fsolve (line 219) fuser = feval(funfcn{3},x,varargin{:}); Caused by: Failure in initial user-supplied objective function evaluation. FSOLVE cannot continue.
Can somebody help me, please, to understand what's wrong? Thanks in advance.
Below the code
function F = sistema_non_lineare_rev1(x)
PM_acido=98.079;
PM_pet=192.171;
PM_soda=39.997;
PM_stp=210.095;
PM_pta=166.131;
PM_gla=322.192;
PM_eg=62.068;
PM_aq=18.015;
PM_solf=142.042;
F1=1000;
xi_F1=0.1000;
xpet_F1=0.9000;
ecc=0.1;
f_pri=0.98;
f_snd=0.98;
f_trz=1.00;
xpta_F16=0.9960;
xgla_F11=0.9000;
xaq_F4=1.000;
xaq_F22=1.000;
xaq_F16=0.0040;
xaq_F11=0.1000;
xeg_F25=1.000;
xsoda_F2=1.000;
xacido_F5=1.000;
xaq_F20=1.000;
xaq_F15=0.1200;
F5=x(1);
F14=x(2);
xi_F14=x(3);
F2=x(4);
F18=x(5);
F11=x(6);
F25=x(7);
xeg_F14=x(8);
F4=x(9);
F22=x(10);
F17=x(11);
F13=x(12);
xi_F13=x(13);
F3=x(14);
xi_F3=x(15);
xeg_F13=x(16);
xeg_F3=x(17);
F8=x(18);
xsoda_F8=x(19);
xi_F8=x(20);
xeg_F8=x(21);
F6=x(22);
xpet_F6=x(23);
xsoda_F6=x(24);
xi_F6=x(25);
xeg_F6=x(26);
xstp_F6=x(27);
F7=x(28);
xsoda_F7=x(29);
xaq_F7=x(30);
F9=x(31);
xaq_F9=x(32);
xstp_F7=x(33);
xstp_F9=x(34);
xpta_F9=x(35);
xsolf_F9=x(36);
F12=x(37);
xi_F12=x(38);
xi_F17=x(39);
F20=x(40);
xeg_F12=x(41);
xpet_F17=x(42);
F10=x(43);
xstp_F10=x(44);
F15=x(45);
xpta_F15=x(46);
xaq_F10=x(47);
xsolf_F10=x(48);
F26=x(49);
xstp_F26=x(50);
xaq_F26=x(51);
xgla_F26=x(52);
F21=x(53);
xaq_F21=x(54);
xstp_F21=x(55);
F19=x(56);
F16=x(57);
eq_10=F5-((PM_acido/PM_pet*xacido_F5)*F1*xpet_F1*((1+ecc)-f_pri+f_pri*f_snd));
eq_9=(0.3*F1*xi_F1)-(F14*xi_F14);
eq_11=F2-((PM_soda/xsoda_F2)*(((2*F1*xpet_F1)/PM_pet)*(f_pri+((1+ecc)-f_pri)*f_trz)));
eq_14=F18-((PM_stp/PM_pet)*F1*xpet_F1*f_pri*(1-f_snd));
eq_15=F16-((PM_pta/xpta_F16)*((F1*xpet_F1*f_pri*f_trz)/PM_pet));
eq_16=F11-((PM_gla*F1*xpet_F1)/(PM_pet*xgla_F11)*(f_pri*f_snd+((1+ecc)-f_pri)*f_trz));
eq_12=F25-(F14*xeg_F14)+((F1*xpet_F1*f_pri)/PM_pet)*PM_eg;
eq_13=(F4*xaq_F4)-(F22*xaq_F22)-(F16*xaq_F16)-(F11*xaq_F11)+(2*((F1*xpet_F1)/PM_pet)*((1+ecc)-f_pri)*f_trz)*PM_aq;
eq_17=F4-(F14+F17+F18+F22+F16+F11-F5-F2-F1-F25);
eq_7_1=xeg_F14+xi_F14-1;
eq_18=(F13*xi_F13)-(F3*xi_F3);
eq_19=(F25*xeg_F25)+(F13*xeg_F13)-(F3*xeg_F3);
eq_20=F2-(F8*xsoda_F8);
eq_21=(F3*xi_F3)-(F8*xi_F8);
eq_20_1=xi_F8+xsoda_F8+xeg_F8-1;
eq_23=(F1*xpet_F1)-(F6*xpet_F6)-(F1*xpet_F1)*f_pri;
eq_24=(F8*xsoda_F8)-(F6*xsoda_F6)-((2*F1*xpet_F1*f_pri*PM_soda)/PM_pet);
eq_25=(F8*xi_F8)+(F1*xi_F1)-(F6*xi_F6);
eq_26=(F8*xeg_F8)-(F6*xeg_F6)+((F1*xeg_F1*f_pri*PM_eg)/PM_pet);
eq_27=(-F6*xstp_F6)+((F1*xpet_F1*f_pri*PM_stp)/PM_pet);
eq_28=xpet_F6+xsoda_F6+xi_F6+xeg_F6+xstp_F6-1;
eq_30=(F7*xsoda_F7)+PM_soda*(((-2*F1*xpet_F1)/PM_pet)*((1+ecc)-f_pri)*f_trz);
eq_31=(F7*xaq_F7)-(F9*xaq_F9)+PM_aq*(((2*F1*xpet_F1)/PM_pet)*((1+ecc)-f_pri)*f_trz);
eq_32=(F7*xstp_F7)-(F9*xstp_F9)-((F1*xpet_F1*PM_stp*f_pri*f_snd)/PM_pet);
eq_33=(-F9*xpta_F9)+PM_pta*((F1*xpet_F1*f_pri*f_snd)/PM_pet);
eq_34=(-F9*xsolf_F9)+((PM_solf*F1*xpet_F1)/PM_pet)*(f_pri*f_snd+((1+ecc)-f_pri)*f_trz);
eq_35=(F6*xi_F6)-(F12*xi_F12)-(F17*xi_F17);
eq_1=(0.3*F1*xi_F1)-(F12*xi_F12);
eq_36=(F20*xaq_F20)-(F7*xaq_F7);
eq_37=(F6*xeg_F6)-(F12*xeg_F12);
eq_38=(F6*xpet_F6)-(F17*xpet_F17);
eq_39=(F6*xstp_F6)-(F7*xstp_F7);
eq_40=(F6*xsoda_F6)-(F7*xsoda_F7);
eq_43=F12-F14-F13;
eq_45=xi_F12-xi_F13;
eq_46=xi_F12-xi_F14;
eq_47=xi_F14+xeg_F14-1;
eq_48=xi_F13+xeg_F13-1;
eq_49=(F9*xstp_F9)-(F10*xstp_F10);
eq_50=(F9*xpta_F9)-(F15*xpta_F15);
eq_51=(F9*xaq_F9)-(F15*xaq_F15)+(F10*xaq_F10);
eq_52=(F9*xsolf_F9)-(F10*xsolf_F10);
eq_53=xaq_F15+xpta_F15-1;
eq_54=xsolf_F10+xaq_F10+xstp_F10-1;
eq_55=(F15*xaq_F15)-F22-(F16*xaq_F16);
eq_56=(F15*xpta_F15)-(F16*xpta_F16);
eq_57=(F10*xstp_F10)-(F26*xstp_F26);
eq_58=(F10*xaq_F10)-(F26*xaq_F26)-PM_aq*((10*F10*xsolf_F10)/PM_solf);
eq_59=(-F26*xgla_F26)+((F10*xsolf_F10*PM_gla)/PM_solf);
eq_60=(F26*xgla_F26)-(F11*xgla_F11);
eq_61=(F26*xaq_F26)-(F11*xaq_F11)-(F21*xaq_F21);
eq_62=(F26*xstp_F26)-(F21*xstp_F21);
eq_63=xaq_F21+xstp_F21-1;
eq_64=xgla_F26+xaq_F26+xstp_F26-1;
eq_65=(F21*xstp_F21)-F19;
eq_66=(F21*xaq_F21)-F18;
eq_67=F4+F19-F20;
F = [eq_10;eq_9;eq_11;eq_14;eq_15;eq_16;
eq_12;eq_13;eq_17;eq_7_1;
eq_18;eq_19;
eq_20;eq_21;eq_20_1;
eq_23;eq_24;eq_25;eq_26;eq_27;eq_28;
eq_30;eq_31;eq_32;eq_33;eq_34;
eq_35;eq_1;eq_36;eq_37;eq_38;eq_39;eq_40;
eq_43;eq_45;eq_46;eq_47;eq_48;
eq_49;eq_50;eq_51;eq_52;eq_53;eq_54;
eq_55;eq_56;
eq_57;eq_58;eq_59;
eq_60;eq_61;eq_62;eq_63;eq_64;
eq_65;eq_66;
eq_67];
end
1 Comment
Alex Sha
on 19 Jan 2021
Hi, Aldo, in your equation:
eq_26=(F8*xeg_F8)-(F6*xeg_F6)+((F1*xeg_F1*f_pri*PM_eg)/PM_pet);
what is "xeg_F1"?
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!