Non-Linear system of equations in 12 variables and 12 equations
Show older comments
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
Answers (1)
Walter Roberson
on 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 Comments
Venkatesa
on 16 Feb 2012
Walter Roberson
on 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
on 16 Feb 2012
Venkatesa
on 23 Feb 2012
Walter Roberson
on 23 Feb 2012
Sorry, I missed the previous update and have not looked at the files.
Venkatesa
on 27 Feb 2012
Categories
Find more on Introduction to Installation and Licensing in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!