Re: NMinimize problem: fct minimized uses FindRoot
- To: mathgroup at smc.vnet.net
- Subject: [mg123603] Re: NMinimize problem: fct minimized uses FindRoot
- From: Andrzej Kozlowski <akoz at mimuw.edu.pl>
- Date: Tue, 13 Dec 2011 05:39:04 -0500 (EST)
- Delivered-to: l-mathgroup@mail-archive0.wolfram.com
- References: <201112101227.HAA19219@smc.vnet.net> <201112121143.GAA12817@smc.vnet.net>
On 12 Dec 2011, at 12:43, Oleksandr Rasputinov wrote: > For example, the erroneous usage: > > Block[{a = 1, b = 2}, Return[a]; Return[b]] > > gives: > > Return[1] > > but a correct usage: > > Do[Block[{a = 1, b = 2}, Return[a]; Return[b]], {1}] > > gives (because of the enclosing Do): > > 1 This is not quite the whole story. For example, while the above use of Return in Block does not work, this one (in a function call) does: f[] := Block[{a = 1, b = 2}, Return[a]; Return[b]] f[] 1 Moreover, if you replace the Do loop in your example with a While loop, you will get: n = 1; While[n < 10, Block[{a = 1, b = 2}, Return[a]; Return[b]]] Return[1] All of this is purposeful design and can be explained and justified but I don't think it's worth the bother since Mathematica has far superior means of flow control than this clumsy and arcane construct. Andrzej
- References:
- NMinimize problem: fct minimized uses FindRoot
- From: "Doug Tinkham" <dtinkham@live.ca>
- Re: NMinimize problem: fct minimized uses FindRoot
- From: "Oleksandr Rasputinov" <oleksandr_rasputinov@hmamail.com>
- NMinimize problem: fct minimized uses FindRoot