There seems no built-in support for Y-Δ conversion (electrical engineering). Any idea on how to implement this function?

  • 5
    $\begingroup$ Please expand the question to include a description of the Y-Δ conversion (or a link to one) and an example problem to apply it to. It would also be good to include your own implementation attempt - otherwise it can appear as if you've made no effort to tackle the problem yourself. $\endgroup$ – Simon Woods Dec 5 '15 at 12:13
  • $\begingroup$ If the network is represented as a graph then you may use the YTYGraphTransforms package. $\endgroup$ – C. E. Dec 6 '15 at 3:49

You can write your own functions to perform the transformations. Below I show two functions using the transformations shown here.

The function D2Y is for converting Delta network to Y shaped network. It takes the three resistor value as its arguments and gives out the corresponding value for Y network. Similarly Y2D does the other way round.

 D2Y[ra_, rb_, rc_] := 
 1/(Total[{ra, rb, rc}])*Times @@@ Reverse@Subsets[{ra, rb, rc}, {2}]

 Y2D[r1_, r2_, r3_] := 
 Total[Times @@@ Subsets[{r1, r2, r3}, {2}]]*(1/{r1, r2, r3})

You can use the function as follows:

 D2Y[10, 20, 30]

(*{10, 5, 10/3}*)

 Y2D[10, 20, 30]

(*{110, 55, 110/3}*)
| improve this answer | |
  • 3
    $\begingroup$ Compact versions for fun: D2Y = ##/{##}/(+##)&; Y2D = Tr[##/{##}]/{##}&; $\endgroup$ – Simon Woods Dec 5 '15 at 14:25

and more in detail

enter image description here

g1 = 1/(1/R13 + 1/(R12 + R23)) == R10 + R30;
g2 = 1/(1/R12 + 1/(R13 + R23)) == R10 + R20;
g3 = 1/(1/R23 + 1/(R12 + R13)) == R20 + R30;

Delta network

Solve[{g1, g2, g3}, {R12, R13, R23}]

Y shaped network

Solve[{g1, g2, g3}, {R10, R20, R30}]

enter image description here

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.