From CAS view I want to calculate the inverse transform Laplace of a function...

invlaplace(1/(1+0.2*x+x^2) for example... It's Ok I have a blablabla function of small x as a result. Good! BUT... :

I need to place a big X in place of small x for future copy/paste in the symb view F1(X)=blabla of X and then plotting these...

invlaplace(1/(1+0.2*x+x^2),x='X') doesn't work

subst template or subst(blabala of x, 'X') doesn't work

What is the fastest way... Assuming you have a long function of small x as a result in CAS view How to transfer it in F1(X)= on symb function view ?

*Edited: 19 Oct 2013, 10:04 a.m. *

Quote:

From CAS view I want to calculate the inverse transform Laplace of a function...
invlaplace(1/(1+0.2*x+x^2) for example... It's Ok I have a blablabla function of small x as a result. Good! BUT... :

I need to place a big X in place of small x for future copy/paste in the symb view F1(X)=blabla of X and then plotting these...

invlaplace(1/(1+0.2*x+x^2),x='X') doesn't work

subst template or subst(blabala of x, 'X') doesn't work

What is the fastest way... Assuming you have a long function of small x as a result in CAS view How to transfer it in F1(X)= on symb function view ?

I think X is a system variable. See Joe Horns list of system variables on his web page or in the thread about PRIME VARIABLES

Remember to quote your variable.

Note that you can't do invlaplace(1/(1+0.2*x+x^2))|x='X' directly as that will evaluate to something * Dirac(x) since the substitution happens first. You need to do it as a two step.

invlaplace(1/(1+0.2*x+x^2)) then

<result>|x='X'

As a side note, the Get from Home/CAS was supposed to do a bit of intelligent rewriting to help avoid this type of thing. It fell on the list of "get to it later" though unfortunately. :-(

TW

Thanks for the quality of your listening Tim,

I've made a mistake in editing my post...

I have first try :

invlaplace(1/(1+0.2*x+x^2),x,'X') with no success...

BUT then I have already try what you suggest :

first command line :

invlaplace(1/(1+0.2*x+x^2)) give me a first result :

1.00*SIN(0.99*x)*EXP(-0.1*x) as expected

then second command line :

1.00*SIN(0.99*x)*EXP(-0.1*x)|x='X' with quotes ! And the result is :

0. !!!

The same happen with subst(1.00*SIN(0.99*x)*EXP(-0.1*x),x='X')

I'am in CAS view...

The decimal numbers are "reals". When you do the where | it evaluates approximately since they are non-exact objects.

You can either click the [a b/c] key to toggle the decimals first before the where, or start with 2/10 in the beginning and it will work.

I'll investigate why a simple substitution is evaluating down. I definitely don't think that should be the case.

TW

Here is something strange for me....

In fact what you suggest, Tim, works but only if I use exact terms in the original Laplace form :

first command :

invlaplace(1/(1+(2/10)*x+x^2)) 2/10 in place of 0.2 !!

and then ExactFirstResultOf(x)|x='X'

do the job !!

Can you comment these ?

Thanks for your help

EDIT : Tim you give the answer before I place this last post !! ;o) !

*Edited: 19 Oct 2013, 12:36 p.m. *