Date: Jan 25, 2013 1:33 AM
Author: David Park
Subject: Re: goto label, no loop, Mathematica 6
Your code example seems quite confused and not very specific as to what
constitutes the model.
First, you can't use Switch as a variable since it is a Mathematica
function, which you might actually use.
I'm not quite certain about the use of Goto but I don't think you could use
it to transfer between notebook cells. You have to use it within a single
cell, or within a compound statement, or within a Module as is shown on the
Help page for Goto.
Goto may have a few uses but is not generally a good programming method. You
could try something like this:
evaluateModel[modelType_] :=
(If[modelType == 2, Goto[model2]];
Print["Evaluating Model 1"];
Goto[end];
Label[model2];
Print["Evaluating Model 2"];
Label[end]; "Return the model");
But a far better method would be:
evaluateModel[modelType_] :=
Switch[modelType,
1, Print["Evaluating Model 1"]; "Return the model",
2, Print["Evaluating Model 2"]; "Return the model"]
David Park
djmpark@comcast.net
http://home.comcast.net/~djmpark/index.html
From: bob [mailto:stefanie.schubert@whu.edu]
Hi,
I'd like to write down my model (several cells) and afterwards implement
another version of that model. But as I use the same names for variables,
Mathematica has to "forget" former assignments.
A solution woul be something like that (which I don't know how to do it in
Mathematica unfortunately):
Switch=1 (*a variable that can be set to 1 or 2: tell matehmatica to read
only Part 1 (or 2)*)
if Switch=2 goto label_switch2
Model Part 1 (several cells)
label_switch2
MOdel Part 2 (several cells)
But if I'm right, goto is usually used for loops, so that the order is label
- goto; but not as required here: goto label
Thanks for any help!!