Page 1 sur 1

Complex partial fraction

Message non luPosté: 08 Mai 2015, 14:43
de m_elborolossy
Hi all
My calc is Nspire cx cas
I try to make a complex partial fraction because the calc make only real one using expand
I try to write a function but there is an error that is not clear to me why
I make the same steps in a Document or scratchpad and work good
Here is my code :
Code: Tout sélectionner
Define LibPub partialf(expre)=
:Func
:Local ex,r,rc,exc,k,x,kc
:expr("ex(s):="&string(expre))
:r:=polyRoots(getDenom(ex(s)),s)
:exc(s):=ex(s)*s
:rc:=cPolyRoots(getDenom(exc(s)),s)
:k(s):=((getNum(ex(s)))/(2*s*imag(rc[2])*i))
:kc:=k(rc[2])
:Return kc
:EndFunc


This is only the start and i assume that the i have a real root (s = 0) and two conj complex roots s={(-a+b*i),(-a-b*i)}
The error in this line : kc:=k(rc[2])

Re: Complex partial fraction

Message non luPosté: 08 Mai 2015, 15:01
de Bisam
I spotted a possible (and quite usual) problem.

When you create a function by using f(s):= anything, the right member is NOT evaluated.
It will only be evaluated when you will use the function and replace the value of "s" by any expression.

At this time, the calc may see an error such as a "division by zero" that couldn't be seen earlier.
I think that, in your case, exc(s) still has zero as a root of denominator... or something like that.

Did you try to "disp" some intermediate results to spot the problem more precisely ?
And what is the error returned ?

Re: Complex partial fraction

Message non luPosté: 08 Mai 2015, 15:49
de m_elborolossy
Thanks Bisam
I think it works now good
When I finish it i will upload it
This is the updated code :
Code: Tout sélectionner
Define LibPub partialf(expre)=
Func
:Local ex,r,rc,exc,k,x,kc
:expr("ex(s):="&string(expre))
:r:=polyRoots(getDenom(ex(s)),s)
:expr("exc(s):="&string(ex(s)*s))
:rc:=cPolyRoots(getDenom(exc(s)),s)
:expr("k(s):="&string(((getNum(ex(s)))/(2*s*imag(rc[2])*i))))
:kc:=k(rc[2])
:Return kc
:EndFunc

Re: Complex partial fraction

Message non luPosté: 08 Mai 2015, 15:56
de Bisam
Nice !
Glad to have helped... and thankful for having talked with someone who knows how to program decently !

Re: Complex partial fraction

Message non luPosté: 02 Juil 2015, 10:48
de jmat
wonderful !!We hope this program

Re: Complex partial fraction

Message non luPosté: 02 Juil 2015, 15:06
de Bisam
Uh ?
Seems to be an early posting... :p

Re: Complex partial fraction

Message non luPosté: 31 Juil 2016, 14:11
de mike martin
Hi there,
Did you ever finish the code for this? If so, is there somewhere I can download it?

I really need something like this on my nspire.

Thanks
Mike

Re: Complex partial fraction

Message non luPosté: 01 Aoû 2016, 15:07
de Bisam
Just try to create it yourself by copying the code which is on the 3rd post.

Re: Complex partial fraction

Message non luPosté: 07 Oct 2018, 03:19
de endothes
When I use the code in the third post with a function such as:

(0.4)*(s-1500)/(s^2+1000*s+1.25*10^6)

I get too many arguments error. Does the program listed above work for anyone else?

Re: Complex partial fraction

Message non luPosté: 07 Oct 2018, 09:03
de Hisham
endothes a écrit:When I use the code in the third post with a function such as:

(0.4)*(s-1500)/(s^2+1000*s+1.25*10^6)

I get too many arguments error. Does the program listed above work for anyone else?


http://www.allcalc.tk/10272 (PFE)
http://www.allcalc.tk/4982 (PFE + inverse L-Transformation)

Best,

Hisham ;)