Re: Is it possible to access internal variables? [CompoundExpression]
- To: mathgroup at smc.vnet.net
- Subject: [mg34807] Re: Is it possible to access internal variables? [CompoundExpression]
- From: "Carl K. Woll" <carlw at u.washington.edu>
- Date: Sat, 8 Jun 2002 05:21:13 -0400 (EDT)
- References: <adpfkv$j4f$1@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
Arny (and others), Concerning your original question, you can do what you want as follows: First give Message a new definition for the case you are interested in: In[20]:= Unprotect[Message]; Message[FindMinimum::"regex",a__/;messageflag]:= Module[{}, messageflag=False; If[ValueQ[messlist],messlist={messlist,{a}},messlist={a}]; Message[FindMinimum::"regex",a]; messageflag=True;] Protect[Message]; Now, to see the above in action, consider the example Bob Hanlon came up with. In[10]:= f[x_]:=(x-3)(x-4) In[15]:= messageflag=True; Clear[messlist] FindMinimum[f[x],{x,2,1,3}] messageflag=False; FindMinimum::regex: Reached the point {3.5} which is outside the region {{1., 3.}}. FindMinimum::regex: Reached the point {3.5} which is outside the region {{1., 3.}}. Out[17]= FindMinimum[f[x], {x, 2, 1, 3}] Now, let's see if messlist has the desired information: In[19]:= messlist Out[19]= {{{3.5}, {{1., 3.}}}, {{3.5}, {{1., 3.}}}} There you go. Carl Woll Physics Dept U of Washington In a message dated 6/1/02 6:18:58 AM, someone at somewhere.sometime writes: >I am minimizing a function which only has real values between 1 and -1, >most >of the time... occasionally its range is different and unknown, (but anyway >not far from 1 and -1). I could write a routine using Check to catch errors >and then expand the range over which FindMinimum is allowed to search, >but >since FindMinimum seems to be getting the appropriate values anyway - it >tells me the values in its error message - I was wondering if there weren't >some way to get at those values and use them without bothering to write >said routine. I was thinking of analysing 'MessageList' or '$MessageList', >but was thinking there might be some easier way. > >Aren't variables within packages accessible via their long names, e.g. >`package`private`variablename or something like that? Does anyone have >any suggestions? >