MathGroup Archive 2008

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: Piecewise and multiple values

  • To: mathgroup at smc.vnet.net
  • Subject: [mg90022] Re: Piecewise and multiple values
  • From: dh <dh at metrohm.ch>
  • Date: Thu, 26 Jun 2008 04:45:46 -0400 (EDT)
  • References: <g3t6vs$imi$1@smc.vnet.net>


Hi Giaccomo,

you should give an explicite example. But I think your problems come 

from the fact, that you are not replacing single values, but lists. E.g.

m+k/.data

will replace m by {3,5,6} and k by {1,2,7}, giving {3,5,6}+{1,2,7} what 

evaluates to: {4, 7, 13}. If your parameter m appears in e.g. x<m the 

replacement gives x<{3,5,6} what will not work. Therefore, you must 

write the replacements rule in the form:{{m->1,k->1},{m->2,k->3},..}. 

This can be don e.g. by:

Thread/@ data //Transpose

hope this helps, Daniel



Giacomo Ciani wrote:

> Hi all,

> 

> in brief my problem: I'm using mathematica to create the solutions for

> problems that actually came in few different versions (meaning that

> the problem in the same, but the initial data change). Suppose I ave

> version 1 in which m=3,k=1,..., version 2 in which m=5,k=2,... and so

> on... Typically, I use an approach like:

> 

> data={m->{3,5,6},k->{1,2,7},...}

> 

> Then I write and solve the general symbolic equations, and the replace

> the values with the above rule, like:

> 

> sol = Solve[...]

> sol/.data

> 

> obtaining a list of numerical solutions corresponding to the different

> set of data contained in the "data" list, like:

> 

> {(num sol corresponding to m=3,k=5,...),(num sol corresponding to

> m=5,k=2,...)}

> 

> This works very well for me, because it allows me to solve the problem

> once and check the numerical solution for all the different versions

> at a glance.

> 

> The problem arises in the case I have to use a Piecewise function. In

> this case I define:

> 

>       | f   x<z

> h = |

>       | g   x>z

> 

> but when I evaluate

> 

> f/.data

> 

> I obtain something like:

> 

>       | {f1,f2,...}     x<{z1,z2,...}

> h = |

>       | {g1,g2,...}   x>{z1,z2,...}

> 

> that I don't know how to plot or "disentagle", i.e. obtain expressions

> like:

> 

>         | f1     x<z1

> h1 = |

>         | g1    x>z1

> 

> 

>         | f2     x<z2

> h2 = |

>         | g2    x>z2

> 

> and so on...

> 

> Do you have any suggestion? I would prefer to retain my data

> replacement scheme, and just understand how to create "disentangled"

> piecewise functions...

> 

> Thaks

> 

> Giacomo

> 





-- 



Daniel Huber

Metrohm Ltd.

Oberdorfstr. 68

CH-9100 Herisau

Tel. +41 71 353 8585, Fax +41 71 353 8907

E-Mail:<mailto:dh at metrohm.com>

Internet:<http://www.metrohm.com>




  • Prev by Date: Re: Re: Package File for Different Mathematica Versions
  • Next by Date: Re: Piecewise and multiple values
  • Previous by thread: Re: Piecewise and multiple values
  • Next by thread: Re: Piecewise and multiple values