On Wednesday, 7 September 2022 at 15:38:44 UTC+1 brombo wrote:

> I calculated an integral g when printed grives:
>
> Piecewise((sin(w/2)/w - 2*cos(w/2)/w**2 + 4*sin(w/2)/w**3, Ne(w, 0)), 
> (2/3, True)) + 2*Piecewise((-sin(w/2)/(2*w) + cos(w/2)/w**2 + sin(w/2)/w**3 
> - sin(3*w/2)/w**3, Ne(w, 0)), (1/6, True))
>

So this is what we have:

In [13]: w = symbols('w')

In [14]: result = Piecewise((sin(w/2)/w - 2*cos(w/2)/w**2 + 
4*sin(w/2)/w**3, Ne(w, 0)), (2/3, True))
    ...: + 2*Piecewise((-sin(w/2)/(2*w) + cos(w/2)/w**2 + sin(w/2)/w**3 - 
sin(3*w/2)/w**3, Ne(w, 0)),
    ...:  (1/6, True))

In [15]: result = nsimplify(result)

In [16]: result
Out[16]: 
⎛⎧   ⎛w⎞        ⎛w⎞        ⎛w⎞           ⎞     ⎛⎧     ⎛w⎞      ⎛w⎞      ⎛w⎞ 
     ⎛3⋅w⎞           ⎞
⎜⎪sin⎜─⎟   2⋅cos⎜─⎟   4⋅sin⎜─⎟           ⎟     ⎜⎪  sin⎜─⎟   cos⎜─⎟   sin⎜─⎟ 
  sin⎜───⎟           ⎟
⎜⎪   ⎝2⎠        ⎝2⎠        ⎝2⎠           ⎟     ⎜⎪     ⎝2⎠      ⎝2⎠      ⎝2⎠ 
     ⎝ 2 ⎠           ⎟
⎜⎪────── - ──────── + ────────  for w ≠ 0⎟     ⎜⎪- ────── + ────── + ────── 
- ────────  for w ≠ 0⎟
⎜⎨  w          2          3              ⎟ + 2⋅⎜⎨   2⋅w        2        3   
      3              ⎟
⎜⎪            w          w               ⎟     ⎜⎪             w        w   
      w               ⎟
⎜⎪                                       ⎟     ⎜⎪                           
                     ⎟
⎜⎪            2/3               otherwise⎟     ⎜⎪                 1/6       
            otherwise⎟
⎝⎩                                       ⎠     ⎝⎩                           
                     ⎠
 

>
> First, how can I extract from g (without cutting and pasting the output) 
> what I really want which is:
>
> (sin(w/2)/w - 2*cos(w/2)/w**2 + 4*sin(w/2)/w**3)+2*(-sin(w/2)/(2*w) + 
> cos(w/2)/w**2 + sin(w/2)/w**3 - sin(3*w/2)/w**3)
>

In [23]: piecewise_fold(result)
Out[23]: 
⎧     ⎛w⎞        ⎛3⋅w⎞           
⎪6⋅sin⎜─⎟   2⋅sin⎜───⎟           
⎪     ⎝2⎠        ⎝ 2 ⎠           
⎪──────── - ──────────  for w ≠ 0
⎨    3           3               
⎪   w           w                
⎪                                
⎪          1            otherwise
⎩                                

In [24]: piecewise_fold(result).args[0][0]
Out[24]: 
     ⎛w⎞        ⎛3⋅w⎞
6⋅sin⎜─⎟   2⋅sin⎜───⎟
     ⎝2⎠        ⎝ 2 ⎠
──────── - ──────────
    3           3    
   w           w 
 

>
> Secondly,  I can substitute y = w/2.  In the resulting expression force 
> expansion of sin(3*y). trigsimp doesn't do that.  I know the answer is 
> supposed to be of the form (sin(y)/y)**3.
>


 In [26]: _.subs(w, 2*y)
Out[26]: 
3⋅sin(y)   sin(3⋅y)
──────── - ────────
     3          3  
  4⋅y        4⋅y   

In [27]: _.expand(trig=True)
Out[27]: 
   3   
sin (y)
───────
    3  
   y 

--
Oscar

-- 
You received this message because you are subscribed to the Google Groups 
"sympy" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/sympy/32972cc3-85ca-4bca-abc4-f871295610e8n%40googlegroups.com.

Reply via email to