question about Block
- To: mathgroup at smc.vnet.net
- Subject: [mg69661] question about Block
- From: dimmechan at yahoo.com
- Date: Wed, 20 Sep 2006 02:44:07 -0400 (EDT)
Hello to all. Block as it is well known to the members of this forum does have some nice applications. For example $Version "5.2 for Microsoft Windows (June 20, 2005)" Block[{Message}, Integrate[1/x, {x, -1, 2}]] Infinity Block[{Message}, NIntegrate[Sin[x]/x, {x, 0, Infinity}]] 2.6457805920701 (execute the commands without Block to see the messages) Let me now define a list of two functions. lst = {1/x, 1/x^2}; Then NIntegrate[lst, {x, 1, 2}] \!\(NIntegrate::"inum" : "Integrand \!\({1\/x, 1\/x\^2}\) is not numerical at \!\({x}\) = {1.5`}."\) NIntegrate[lst, {x, 1, 2}] because NIntegrate has the attribute HoldAll Attributes[NIntegrate] {HoldAll, Protected} Of course NIntegrate[Evaluate[lst], {x, 1, 2}] {0.693147180559947, 0.5000000000000211} Now to my surprise I discovered that the following commands fail to prevent the appearance of NIntegrate::inum message. Block[{Message}, NIntegrate[lst, {x, 1, 2}]] \!\(NIntegrate::"inum" : "Integrand \!\({1\/x, 1\/x\^2}\) is not numerical at \!\({x}\) = {1.5`}."\) NIntegrate[lst, {x, 1, 2}] Block[{$Messages = {}}, NIntegrate[lst, {x, 1, 2}]] \!\(NIntegrate::"inum" : "Integrand \!\({1\/x, 1\/x\^2}\) is not numerical at \!\({x}\) = {1.5`}."\) NIntegrate[lst, {x, 1, 2}] What is more strange is that the relevant Plot::plnr message can be prevented. Plot[lst, {x, 1, 2}, DisplayFunction -> Identity]; Plot::plnr : lst is not a machine-size real number at x = 1.0000000416666666`. (...3 times...) General::stop : Further output of Plot::plnr will be suppressed during this \ calculation. Attributes[Plot] {HoldAll, Protected} Block[{Message}, Plot[lst, {x, 1, 2}, DisplayFunction -> Identity]]; Block[{$Messages = {}}, Plot[lst, {x, 1, 2}, DisplayFunction -> Identity]]; Of course someone can simply switch off the message. Off[NIntegrate::inum] NIntegrate[lst, {x, 1, 2}] NIntegrate[lst, {x, 1, 2}] On[NIntegrate::inum] but the question remains why exist this strange (at least for me) situation. Any comments/suggestions? Dimitris
- Follow-Ups:
- Re: question about Block
- From: "Chris Chiasson" <chris@chiasson.name>
- Re: question about Block