Path: news.mathworks.com!not-for-mail
From: <HIDDEN>
Newsgroups: comp.soft-sys.matlab
Subject: Re: solving matrices of non liner third order type
Date: Wed, 15 May 2013 10:58:09 +0000 (UTC)
Organization: The MathWorks, Inc.
Lines: 88
Message-ID: <kmvpo1$mgt$1@newscl01ah.mathworks.com>
References: <kmvcrf$jbj$1@newscl01ah.mathworks.com> <kmve6l$mq3$1@newscl01ah.mathworks.com> <kmvibo$3rj$1@newscl01ah.mathworks.com> <kmvm1t$d83$1@newscl01ah.mathworks.com> <kmvotp$kb6$1@newscl01ah.mathworks.com> <kmvpek$lm7$1@newscl01ah.mathworks.com>
Reply-To: <HIDDEN>
NNTP-Posting-Host: www-02-blr.mathworks.com
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-Trace: newscl01ah.mathworks.com 1368615489 23069 172.30.248.47 (15 May 2013 10:58:09 GMT)
X-Complaints-To: news@mathworks.com
NNTP-Posting-Date: Wed, 15 May 2013 10:58:09 +0000 (UTC)
X-Newsreader: MATLAB Central Newsreader 3799640
Xref: news.mathworks.com comp.soft-sys.matlab:795587

"Torsten" wrote in message <kmvpek$lm7$1@newscl01ah.mathworks.com>...
> "Hari Kishore  " <harikishoreguptha@gmail.com> wrote in message <kmvotp$kb6$1@newscl01ah.mathworks.com>...
> > "Torsten" wrote in message <kmvm1t$d83$1@newscl01ah.mathworks.com>...
> > > "Hari Kishore  " <harikishoreguptha@gmail.com> wrote in message <kmvibo$3rj$1@newscl01ah.mathworks.com>...
> > > > "Torsten" wrote in message <kmve6l$mq3$1@newscl01ah.mathworks.com>...
> > > > > "Hari Kishore  " <harikishoreguptha@gmail.com> wrote in message <kmvcrf$jbj$1@newscl01ah.mathworks.com>...
> > > > > > hiii.. 
> > > > > > i tried to solve this matrices but i couldnot because it ends up with non linear third order equations please help me out in this issue and give a program to solve this....
> > > > > > your help is highly appriciated!!
> > > > > > syms bcf0 bcf1 bcf2 bcf3 bcf4 bcf5 q0 q1 q2
> > > > > > 
> > > > > > 
> > > > > > amatrix=[ 12.0,            0, 9.0, 12.0,       0,  9.0; 12.0, 4.39*10^(-4), 9.0, 12.0,       0,  9.0; 12.0,            0, 9.0, 12.0,       0,  9.0; 12.0,            0, 9.0, 12.3,       0, 9.01; 12.0,            0, 9.0, 12.0, 0.00703,  9.0; 12.0,            0, 9.0, 12.0,       0,  9.0];
> > > > > > 
> > > > > > 
> > > > > >  acoeff=[ bcf0;bcf1;bcf2;bcf3;bcf4;bcf5];
> > > > > >  
> > > > > >  
> > mr.torsten
> > actually there is no need of any guess for bcf.. bcfs's are to be find int terns of q0 q1 q2 fromfirst equation and substitute in second equation.. so final equtions would be.. 3 equations in 3 variables..
> > > > > >  bmatrix =[           47.3,          42.3,           19.4; -1.63*10^(-19), 4.53*10^(-21), -1.03*10^(-15);1.69,          3.52,           1.47;23.6,          21.1,            9.7;-2.45*10^(-19), 6.79*10^(-21), -5.17*10^(-16);0.844,          1.76,          0.737];
> > > > > >  
> > > > > >  bcoeff=[q0^2;q1^2;q2^2];
> > > > > >  
> > > > > > cmatrix =[    16.4,  -0.0774,    0.193; -0.0774,    0.724, -0.00177;  0.193, -0.00177,   0.0645];
> > > > > > 
> > > > > > ccoeff=[q0;q1;q2];
> > > > > > dmatrix =[          1.65,         0.0571,       0.00251,         -1.65,        -0.127,      -0.00528;2.45*10^(-18), -4.26*10^(-19), 7.37*10^(-20), 7.09*10^(-17), 4.26*10^(-19), 4.58*10^(-19);0.00302,   8.52*10^(-4),  6.98*10^(-5),       -0.0733, -9.76*10^(-4), -6.98*10^(-5)];
> > > > > > 
> > > > > > dcoeff=[bcf0*q0;bcf1*q1;bcf2*q2; bcf3*q0;bcf4*q1;bcf0*q2];
> > > > > > 
> > > > > > (amatrix)*(acoeff)=bmatrix*(bcoeff);
> > > > > > %from first statement find bcf values and use it in second equation
> > > > > > (cmatrix)*(ccoeff)=dmatrix*(dcoeff);
> > > > > > %from second equation find the q0 q1 q2 value
> > > > > 
> > > > > I don't see an easier way than using MATLAB's FSOLVE for your system of nonlinear equations.
> > > > > 
> > > > > Best wishes
> > > > > Torsten.
> > > > Hi. mr.torsten..
> > > > please can you give the code for that operation?
> > > 
> > > x0 = [-5; -5; -5; -5; -5; -5; -5; -5; -5];  % Make a starting guess at the solution
> > > options = optimoptions('fsolve','Display','iter'); % Option to display output
> > > [x,fval] = fsolve(@myfun,x0,options) % Call solver
> > > 
> > > function F = myfun(x)
> > > bcf0=x(1);
> > > bcf1=x(2);
> > > bcf2=x(3);
> > > bcf3=x(4);
> > > bcf4=x(5);
> > > bcf5=x(6);
> > > q0=x(7);
> > > q1=x(8);
> > > q2=x(9);
> > > 
> > > amatrix=[ 12.0,            0, 9.0, 12.0,       0,  9.0; 12.0, 4.39*10^(-4), 9.0, 12.0,       0,  9.0; 12.0,            0, 9.0, 12.0,       0,  9.0; 12.0,            0, 9.0, 12.3,       0, 9.01; 12.0,            0, 9.0, 12.0, 0.00703,  9.0; 12.0,            0, 9.0, 12.0,       0,  9.0]; 
> > >  acoeff=[ bcf0;bcf1;bcf2;bcf3;bcf4;bcf5]; 
> > >  bmatrix =[           47.3,          42.3,           19.4; -1.63*10^(-19), 4.53*10^(-21), -1.03*10^(-15);1.69,          3.52,           1.47;23.6,          21.1,            9.7;-2.45*10^(-19), 6.79*10^(-21), -5.17*10^(-16);0.844,          1.76,          0.737]; 
> > >  bcoeff=[q0^2;q1^2;q2^2]; 
> > > cmatrix =[    16.4,  -0.0774,    0.193; -0.0774,    0.724, -0.00177;  0.193, -0.00177,   0.0645]; 
> > > ccoeff=[q0;q1;q2]; 
> > > dmatrix =[          1.65,         0.0571,       0.00251,         -1.65,        -0.127,      -0.00528;2.45*10^(-18), -4.26*10^(-19), 7.37*10^(-20), 7.09*10^(-17), 4.26*10^(-19), 4.58*10^(-19);0.00302,   8.52*10^(-4),  6.98*10^(-5),       -0.0733, -9.76*10^(-4), -6.98*10^(-5)]; 
> > > dcoeff=[bcf0*q0;bcf1*q1;bcf2*q2; bcf3*q0;bcf4*q1;bcf0*q2]; 
> > > 
> > > F=[amatrix*acoeff-bmatrix*bcoeff; cmatrix*ccoeff-dmatrix*dcoeff]; 
> > > 
> > > By the way: bcf0=bcf1=bcf2=bcf3=bcf4=bcf5=q0=q1=q2=0 is a solution which
> > > might complicate the solution process.
> > > Furthermore, scaling of your equations might be necessary because of the 
> > > difference in magnitude of the matrix coefficients.
> > > 
> > > Best wishes
> > > Torsten.
> 
> Why including such complicated things as inversion of ill-conditioned matrices ?
> Solve in 9 instead of 3 unknowns - the result should come out the same (x(7)-x(9) should be the values for q0,q1 and q2).
> 
> Best wishes
> Torsten.

As I notice now, your matrix "amatrix" does not have full rank - so writing bfc0,...,bfc5 in terms of q0,q1,q2 is _not_ possible.

Best wishes
Torsten.