MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

New to MATLAB?

Thread Subject: Explicit solution could not be found

Subject: Explicit solution could not be found

From: george ma

Eric George (view profile)

(george ma)

Date: 10 Jun, 2011 21:06:05

Message: 1 of 3

When I tried to get analytical solutions using Matlab 6.1,

solve('IR*(Z1+Z2+ZR+R1/abs(-IR+IT)-R2/abs(IR-IS))+IS*(-Z2-R2/abs(IR-IS))+IT*(-Z1-R1/abs(-IR+IT))=VR','IR*(-Z2-R2/abs(IR-IS))+IS*(Z2+Z3+ZS+R2/abs(IR-IS)+R3/abs(IS-IT))+IT*(-Z3-R3/abs(IS-IT))=VS','IR*(-Z1-R1/abs(-IR+IT))+IS*(-Z3-R3/abs(IS-IT))+IT*(Z1+Z3+ZT+R1/abs(-IR+IT)+R3/abs(IS-IT))=VT','IR','IS','IT')

I got the message:
Warning: Explicit solution could not be found.
> In C:\MATLAB6p1\toolbox\symbolic\solve.m at line 136

What's wrong with my program?

Subject: Explicit solution could not be found

From: Roger Stafford

Roger Stafford (view profile)

Date: 11 Jun, 2011 01:44:04

Message: 2 of 3

"Eric George" wrote in message <isu0vt\$5ic\$1@newscl01ah.mathworks.com>...
> When I tried to get analytical solutions using Matlab 6.1,
>
> solve('IR*(Z1+Z2+ZR+R1/abs(-IR+IT)-R2/abs(IR-IS))+IS*(-Z2-R2/abs(IR-IS))+IT*(-Z1-R1/abs(-IR+IT))=VR','IR*(-Z2-R2/abs(IR-IS))+IS*(Z2+Z3+ZS+R2/abs(IR-IS)+R3/abs(IS-IT))+IT*(-Z3-R3/abs(IS-IT))=VS','IR*(-Z1-R1/abs(-IR+IT))+IS*(-Z3-R3/abs(IS-IT))+IT*(Z1+Z3+ZT+R1/abs(-IR+IT)+R3/abs(IS-IT))=VT','IR','IS','IT')
>
> I got the message:
> Warning: Explicit solution could not be found.
> > In C:\MATLAB6p1\toolbox\symbolic\solve.m at line 136
>
> What's wrong with my program?
- - - - - - - - - - -
Except for one sign, your three equations are very symmetric. That one exceptional sign is the minus sign before the 'R2/abs(IR-IS)' term in the first equation. If that first equation were:

'IR*(Z1+Z2+ZR+R1/abs(-IR+IT)+R2/abs(IR-IS))+IS*(-Z2-R2/abs(IR-IS))+IT*(-Z1-R1/abs(-IR+IT))=VR'

with the minus replaced by a plus sign, instead of what you wrote, you would have complete symmetry. Is it possible that was a typo?

If that is the case, your equations could then be written as:

(R-S)*(Z2+R2/abs(R-S)) - (T-R)*(Z1+R1/abs(T-R)) + R*ZR = VR
(S-T)*(Z3+R3/abs(S-T)) - (R-S)*(Z2+R2/abs(R-S)) + S*ZS = VS
(T-R)*(Z1+R1/abs(T-R)) - (S-T)*(Z3+R3/abs(S-T)) + T*ZT = VT

(where I have taken the liberty of removing the 'I' from IR, IS, and IT.) These can be rewritten as:

(R-S)*Z2+R2*sign(R-S)) - (T-R)*Z1+R1*sign(T-R)) + R*ZR = VR
(S-T)*Z3+R3*sign(S-T)) - (R-S)*Z2+R2*sign(R-S)) + S*ZS = VS
(T-R)*Z1+R1*sign(T-R)) - (S-T)*Z3+R3*sign(S-T)) + T*ZT = VT

There are six possible combinations of inequalities between R, S, and T corresponding to six possible combinations of +1 and -1 values among the six 'sign' factors in these last three equations. Each of these possibilities gives you a linear equation in R, S, and T which can easily be solved with a tidy formula. For each of the six solutions, if you then apply the corresponding assumed inequalities for R, S, and T on that solution, you will have the conditions that the parameters must satisfy in order for the solution to be valid. That is, what you will have are six different possible formulas for R, S, and T, the choice of which will depend on which set of conditions are satisfied by your given parameters.

Does this give you any hope of dealing with your problem?

There is also the very remote possibility that if you were to give your original equations with the one sign corrected to 'solve', maybe it would be able to come up with a general solution without all the above fussing around - that is if you are very lucky.

Roger Stafford

Subject: Explicit solution could not be found

From: Roger Stafford

Roger Stafford (view profile)

Date: 11 Jun, 2011 19:20:19

Message: 3 of 3

"Roger Stafford" wrote in message <isuh94\$eeo\$1@newscl01ah.mathworks.com>...
> .......
> (R-S)*Z2+R2*sign(R-S)) - (T-R)*Z1+R1*sign(T-R)) + R*ZR = VR
> (S-T)*Z3+R3*sign(S-T)) - (R-S)*Z2+R2*sign(R-S)) + S*ZS = VS
> (T-R)*Z1+R1*sign(T-R)) - (S-T)*Z3+R3*sign(S-T)) + T*ZT = VT
> .......
- - - - - - - - - - -
I made some errors on the second set of equations (those involving 'sign'.) They should read:

(R-S)*Z2 + R2*sign(R-S) - (T-R)*Z1 - R1*sign(T-R) + R*ZR = VR
(S-T)*Z3 + R3*sign(S-T) - (R-S)*Z2 - R2*sign(R-S) + S*ZS = VS
(T-R)*Z1 + R1*sign(T-R) - (S-T)*Z3 - R3*sign(S-T) + T*ZT = VT

Roger Stafford