Non-Linear system of equations in 12 variables and 12 equations
Mostra commenti meno recenti
Hi All,
I am trying to solve a system of 12equations and 12 variables in matlab using fsolve, LMFnlsq, LMFsolve. All the solvers are giving me so random solutions not even close enough. For a nominal case , ( in this system where the left and right are symmetric) the solvers dump good answers. But when I induce some variation or create asymmetry, the answers are so weird!
Can anyone suggest any other methods that I can use here? My system deals with electronics i.e. voltages in the order of 10^-3 Volts, current in the order of 10^-6 to 10^-9 amperes.
If required I can send my system of equations and also my code that i am using.
Thanks a lot for all your time.
Thanks,
Venkat
[Merged information from Answer]
To make it easy, I have added the equations for your understanding.
[((knal_rise15*(1.5 - (bl_rise15*Y(1,1)) - (gl_rise15*Y(11,1)))*(vblr15 - Y(1,1))) - (knl15*(vqr - (gnl15*Y(9,1)) + anl15*Y(1,1))));
((knal_rise18*(1.8 - (bl_rise18*Y(1,1)) - (gl_rise18*Y(11,1)))*(vblr18 - Y(1,1))) - (knl18*(vqr - (gnl18*Y(9,1)) + anl18*Y(1,1))));
((knal_fall15*(1.5 - (bl_fall15*vblf15) - (gl_fall15*Y(11,1)))*(Y(2,1) - vblf15)) - (kpl15*(0.8 - vqf - (gpl15*Y(7,1)) + apl15*(0.8-Y(2,1))))) ;
(ap_fall + ((0.8 - Y(2,1))*dp_fall) - (gp_fall*Y(8,1)) +(tp_fall*(0.8 - vqf)) - an_fall - (dn_fall*Y(2,1)) + (gn_fall*Y(10,1)) - (tn_fall*vqf)) ;
((knal_fall18*(1.8 - (bl_fall18*vblf18) - (gl_fall18*Y(11,1)))*(Y(3,1) - vblf18)) - (kpl18*(0.8 - vqf - (gpl18*Y(7,1)) + apl18*(0.8-Y(3,1))))) ;
(ap_fall + ((0.8 - Y(3,1))*dp_fall) - (gp_fall*Y(8,1)) + (tp_fall*(0.8 - vqf)) - an_fall - (dn_fall*Y(3,1)) + (gn_fall*Y(10,1)) - (tn_fall*vqf));
((knar_rise15*(1.5 - (br_rise15*Y(4,1)) - (gr_rise15*Y(12,1)))*(vbrr15 - Y(4,1))) - (knr15*(vqr - (gnr15*Y(10,1)) + anr15*Y(4,1)))) ;
((knar_rise18*(1.8 - (br_rise18*Y(4,1)) - (gr_rise18*Y(12,1)))*(vbrr18 - Y(4,1))) - (knr18*(vqr - (gnr18*Y(10,1)) + anr18*Y(4,1)))) ;
((knar_fall15*(1.5 - (br_fall15*vbrf15) - (gr_fall15*Y(12,1)))*(Y(5,1) - vbrf15)) - (kpr15*(0.8 - vqf - (gpr15*Y(8,1)) + apr15*(0.8-Y(5,1))))) ;
(ap_fall + ((0.8 - Y(5,1))*dp_fall) - (gp_fall*Y(7,1)) + (tp_fall*(0.8 - vqf)) - an_fall - (dn_fall*Y(5,1)) + (gn_fall*Y(9,1)) - (tn_fall*vqf)) ;
((knar_fall18*(1.8 - (br_fall18*vbrf18) - (gr_fall18*Y(12,1)))*(Y(6,1) - vbrf18)) - (kpr18*(0.8 - vqf - (gpr18*Y(8,1)) + apr18*(0.8-Y(6,1))))) ;
(ap_fall + ((0.8 - Y(6,1))*dp_fall) - (gp_fall*Y(7,1)) + (tp_fall*(0.8 - vqf)) - an_fall - (dn_fall*Y(6,1)) + (gn_fall*Y(9,1)) - (tn_fall*vqf));];
The tn_fall,kna_rise et all fitting parameters so don't bother much about them. The Yi from Y(1,1) through Y(12,1) are the various variables. Y is a column matrix. I am providing some initial guess based on the results I expect to see.
Anyone any help is highly appreciated! Thanks a lot...
Thanks, Venkat
Risposte (1)
Walter Roberson
il 14 Feb 2012
I spun this through Maple for about 80 minutes with no sign of resolution. If you could indicate some typical values for the variables then I could see if that helps.
For my future reference, the Maple representation is
[knal_rise15*(1.5-bl_rise15*Y[1]-gl_rise15*Y[11])*(vblr15-Y[1])-knl15*(vqr-gnl15*Y[9]+anl15*Y[1]),
knal_rise18*(1.8-bl_rise18*Y[1]-gl_rise18*Y[11])*(vblr18-Y[1])-knl18*(vqr-gnl18*Y[9]+anl18*Y[1]),
knal_fall15*(1.5-bl_fall15*vblf15-gl_fall15*Y[11])*(Y[2]-vblf15)-kpl15*(.8-vqf-gpl15*Y[7]+apl15*(.8-Y[2])),
ap_fall+(.8-Y[2])*dp_fall-gp_fall*Y[8]+tp_fall*(.8-vqf)-an_fall-dn_fall*Y[2]+gn_fall*Y[10]-tn_fall*vqf,
knal_fall18*(1.8-bl_fall18*vblf18-gl_fall18*Y[11])*(Y[3]-vblf18)-kpl18*(.8-vqf-gpl18*Y[7]+apl18*(.8-Y[3])),
ap_fall+(.8-Y[3])*dp_fall-gp_fall*Y[8]+tp_fall*(.8-vqf)-an_fall-dn_fall*Y[3]+gn_fall*Y[10]-tn_fall*vqf,
knar_rise15*(1.5-br_rise15*Y[4]-gr_rise15*Y[12])*(vbrr15-Y[4])-knr15*(vqr-gnr15*Y[10]+anr15*Y[4]),
knar_rise18*(1.8-br_rise18*Y[4]-gr_rise18*Y[12])*(vbrr18-Y[4])-knr18*(vqr-gnr18*Y[10]+anr18*Y[4]),
knar_fall15*(1.5-br_fall15*vbrf15-gr_fall15*Y[12])*(Y[5]-vbrf15)-kpr15*(.8-vqf-gpr15*Y[8]+apr15*(.8-Y[5])),
ap_fall+(.8-Y[5])*dp_fall-gp_fall*Y[7]+tp_fall*(.8-vqf)-an_fall-dn_fall*Y[5]+gn_fall*Y[9]-tn_fall*vqf,
knar_fall18*(1.8-br_fall18*vbrf18-gr_fall18*Y[12])*(Y[6]-vbrf18)-kpr18*(.8-vqf-gpr18*Y[8]+apr18*(.8-Y[6])),
ap_fall+(.8-Y[6])*dp_fall-gp_fall*Y[7]+tp_fall*(.8-vqf)-an_fall-dn_fall*Y[6]+gn_fall*Y[9]-tn_fall*vqf]
6 Commenti
Venkatesa
il 16 Feb 2012
Walter Roberson
il 16 Feb 2012
http://www.mathworks.com/matlabcentral/answers/7924-where-can-i-upload-images-and-files-for-use-on-matlab-answers
However, I will not be running it through MATLAB (I don't have the right toolboxes.)
It isn't the guess points for Y that I need as much as the values of knal_rise15 and so on (though the guess points don't hurt.)
Venkatesa
il 16 Feb 2012
Venkatesa
il 23 Feb 2012
Walter Roberson
il 23 Feb 2012
Sorry, I missed the previous update and have not looked at the files.
Venkatesa
il 27 Feb 2012
Categorie
Scopri di più su Surrogate Optimization in Centro assistenza e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!