Re: Extract coefs. and exponents from a list . Package problem
- To: mathgroup at smc.vnet.net
- Subject: [mg30731] Re: Extract coefs. and exponents from a list . Package problem
- From: Jens-Peer Kuska <kuska at informatik.uni-leipzig.de>
- Date: Sat, 8 Sep 2001 02:56:27 -0400 (EDT)
- Organization: Universitaet Leipzig
- References: <9nal4a$nos$1@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
Hi, BeginPackage["test`test`"]; ExtractCoef::usage = "ExtractCoef[test]"; Begin["`Private`"]; ExtractCoef[list_, t_] := Transpose[Cases[list, _*Exp[_*t], Infinity] /. a_*Exp[b_*t] :> {a, b}] End[]; EndPackage[] ??? Regards Jens Guillermo Sanchez wrote: > > Dear group > (*I wish extract the coeffs and the exponents from expresion as follow*) > > list1=0.1 Exp[-0.3 t]+0.2 Exp[-0.1 t]+0.4 Exp[-0.4 t]; > > (*This function works*) > > ExtractCoef1[list_]:= > Block[{f,g,a,b},f[a__]:={a}; > g[b__]:={b};{(#1/.a_*Exp[b_*t]\[Rule]a&)/@ > f@@list,(#1/.a_*Exp[b_*t]\[Rule]b&)/@g@@list}] > > ExtractCoef1[list1] > > (*out[]:{{0.4`,0.1`,0.2`},{-0.4`,-0.3`,-0.1`}}*)(*it works*) > > (*But, if I use this function inside a package it doesn`t work*) > > BeginPackage["test`test`"]; > > ExtractCoef::usage="ExtractCoef[test]"; > > Begin["`Private`"]; > > ExtractCoef[list_]:= > Block[{f,g,a,b},f[a__]:={a}; > g[b__]:={b};{(#1/.a_*Exp[b_*t]\[Rule]a&)/@ > f@@list,(#1/.a_*Exp[b_*t]\[Rule]b&)/@g@@list}] > End[]; > Protect[ExtractCoef]; > EndPackage[]; > > ExtractCoef[list1](*It doesn´t work*) > > (* question 1: I wist fix this problem,any help?, > question 2: Could any body build a expresion easier?*)