MathGroup Archive 2011

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

Search the Archive

Re: Exit a loop

  • To: mathgroup at smc.vnet.net
  • Subject: [mg122634] Re: Exit a loop
  • From: DrMajorBob <btreat1 at austin.rr.com>
  • Date: Fri, 4 Nov 2011 05:59:42 -0500 (EST)
  • Delivered-to: l-mathgroup@mail-archive0.wolfram.com
  • References: <201111030843.DAA15094@smc.vnet.net>
  • Reply-to: drmajorbob at yahoo.com

The code doesn't run because it's not legal syntax, something to do with  
putting comments between stars, as in * comment *, when it's supposed to  
be (* comment *).

But never mind. The whole thing is so messed up, it's difficult to even  
START unraveling it... but I'll begin with this:

(1)

Subscript[y, 1] = {0.3596};
Subscript[y, 1 n] = {0.3596};
Subscript[y, 2] = {1 - 0.3596};
Subscript[y, 2 n] = {1 - 0.3596};

At this point, n is undefined so far as I can see, and a thorough search  
through the code shows no place where you define it, increment it, or  
otherwise change or Set it.

That being so... what do these statements mean? If n happened to be 8 --  
which it never will be -- the second line purports to set Subscript[y, 8].  
When n gets to be 4 -- which also will never happen -- the fourth line  
sets Subscript[y, 8] to a different thing.

The second and third lines also contradict one another, when n is 2.

None of that matters if n never gets a value, but it leaves one wondering,  
mightily, what you meant to do. If n is never defined, it's simpler to use  
"yn" in place of Subscript[y, n], but I'd have to wonder what y1n and y2n  
might mean.

(2)

The code would be far more compact and comprehensible without ANY  
subscripts ANYWHERE, for instance using y[n], not Subscript[y, n].

Defining y for all integers could look something like

y[n_?OddQ] = {.3596}
y[n_?EvenQ] = {1 - .3596}

(3) Forget the commands Goto, Label, and Return. Never, EVER think or  
dream about them again.

(4) Start your own symbols with lower-case letters. This prevents you  
accidentally using built-in symbols like N, D, C, and E. It also makes it  
crystal clear -- both to you and others who try to read your code --  
whether a symbol or function is YOURS or a built-in.

(5) Start with something small and simple. Make it work, or if you can't,  
ask for help. Add a little more code and complexity, and ask for help if  
you don't understand EVERY bit of it.

Don't start asking for help when you have a mountain of spaghetti with one  
meat-ball hidden somewhere in it, that you'd like to find.

Bobby

On Thu, 03 Nov 2011 03:43:00 -0500, Mary R <mathematica023 at gmail.com>  
wrote:

> Hi to everyone,
> i try to exit a loop when this criterion is satisfied:
> If[( (matriceP[[i - 1, 1]] - matriceP[[i - 1, -1]])/matriceP[[i - 1,  
> 1]])^2
> < ( (matriceP[[i, 1]] - matriceP[[i, -1]])/matriceP[[i, 1]])^2
> i try with Goto[thispoint]-Label[thispoint], and it works, but have this
> error:
> Goto::nolabel: Label thispoint not found.
> I try again with Catch and Throw (as you can see in comment), but the
> calculations goes on without stopping.
> Have any idea?
> The part of algoritm interesting is signed by (*THIS PART*) near the end  
> of
> the notebook.
> Thanks in advance
> M.
> ----------------------------------------------
> Timing[indicek = 1;
>  matriceP = {};
>  valorek = {};
>  differencep = {};
>  mfugv1 = {{}};
>  mfugl1 = {{}};
>  mfugv2 = {{}};
>  mfugl2 = {{}};
>  my1 = {{}};
>  my2 = {{}};
>  vettore = {};
>  Do[\[Omega] = {0.1521, 0.32684};
>    x = {0.0991, 1 - 0.0991};
>    Tc = {369.89, 374.21};
>    Subscript[P, c] = {42.512, 40.593};
>    R = 83.14;
>    T = 273.15;
>    tollerancep = 10^-8;
>    tollerancey = 10^-8;
>    incrP = 0.8;
>    decremento = 0;
>    incremento = 0;
>    ris = {};
>    passo = 1;
>    label = {"step", "P", "\!\(\*SubscriptBox[\(y\), \(1  n\)]\)",
>      "\!\(\*SubscriptBox[\(y\), \(2  n\)]\)",
>      "\!\(\*SubscriptBox[\(f\), \(1  l\)]\)",
>      "\!\(\*SubscriptBox[\(f\), \(2  l\)]\)",
>      "\!\(\*SubscriptBox[\(f\), \(1  v\)]\)",
>      "\!\(\*SubscriptBox[\(f\), \(2  v\)]\)", "\[CapitalDelta]"};
>    Subscript[T, r] = Table[T/Tc[[i]], {i, 2}];
>    alfa =
>     Table[(1 + (0.37464 + 1.54226 \[Omega][[i]] -
>           0.26993 (\[Omega][[i]])^2 ) (1 - Sqrt[
>           Subscript[T, r][[i]]]))^2, {i, 2}];
>    a = Table[(0.45723553 alfa[[i]]  R^2 (Tc^2)[[i]])/
>       Subscript[P, c][[i]] , {i, 2}];
>    b = Table[(0.07779607 R Tc[[i]] )/Subscript[P, c][[i]], {i, 2}];
>    P = {2.8};
>    Subscript[y, 1] = {0.3596};
>    Subscript[y, 1 n] = {0.3596};
>    Subscript[y, 2] = {1 - 0.3596};
>    Subscript[y, 2 n] = {1 - 0.3596};
>    numy = 1;
>    nump = 1;
>    Subscript[f, 1 l] = {};
>    Subscript[f, 2 l] = {};
>    Subscript[f, 1 v] = {};
>    Subscript[f, 2 v] = {};
>    A = Table[(a[[i]] P[[nump]])/(R^2 T^2), {i, 2}];
>    B = Table[(b[[i]] P[[nump]])/(R T), {i, 2}];
>    Subscript[A, 12] = Sqrt[A[[1]]*A[[2]]]*(1 - k);
>
>    Subscript[A, liq] =
>     x[[1]]^2 A[[1]] + 2*(x[[1]]*x[[2]])* Subscript[A, 12] +
>      x[[2]]^2 A[[2]];
>    Subscript[B, liq] = x[[1]]*B[[1]] + x[[2]]*B[[2]];
>    solzl =
>     NSolve[Z - 1/(1 - Subscript[B, liq]/Z) +
>        Subscript[A, liq]/Subscript[B, liq]*Subscript[B, liq]/Z/(
>         1 + 2 *Subscript[B, liq]/Z - (Subscript[B, liq]/Z)^2) == 0, Z];
>    soll = Z /. {solzl[[1]], solzl[[3]]};
>    Subscript[ln\[Phi], 1 l] =
>     B[[1]]/Subscript[B, liq] (soll[[2]] - 1) -
>      Log[soll[[2]] - Subscript[B, liq]] -
>      Subscript[A, liq]/(Subscript[B, liq] Sqrt[8])
>        Log[(soll[[2]] + (1 + Sqrt[2]) Subscript[B, liq])/(
>        soll[[2]] + (1 - Sqrt[2]) Subscript[B, liq])] (1/Subscript[A,
>          liq] 2 (x[[1]] A[[1]] + x[[2]] Subscript[A, 12]) - B[[1]]/
>         Subscript[B, liq]);
>    Subscript[ln\[Phi], 2 l] =
>     B[[2]]/Subscript[B, liq] (soll[[2]] - 1) -
>      Log[soll[[2]] - Subscript[B, liq]] -
>      Subscript[A, liq]/(Subscript[B, liq] Sqrt[8])
>        Log[(soll[[2]] + (1 + Sqrt[2]) Subscript[B, liq])/(
>        soll[[2]] + (1 - Sqrt[2]) Subscript[B, liq])] (1/Subscript[A,
>          liq] 2 (x[[1]] Subscript[A, 12] + x[[2]] A[[2]]) - B[[2]]/
>         Subscript[B, liq]);
>    Subscript[\[Phi], 1 l] = Exp[Subscript[ln\[Phi], 1 l]];
>    Subscript[\[Phi], 2 l] = Exp[Subscript[ln\[Phi], 2 l]];
>    Subscript[f, 1 l] =
>     Append[Subscript[f, 1 l], Subscript[\[Phi], 1 l]*x[[1]]];
>    Subscript[f, 2 l] =
>     Append[Subscript[f, 2 l], Subscript[\[Phi], 2 l]*x[[2]]];
>    Subscript[B, vap] =
>     Subscript[y, 1][[numy]]*B[[1]] + Subscript[y, 2][[numy]]*B[[2]];
>    Subscript[A, vap] =
>     Subscript[y, 1][[numy]]^2 A[[1]] +
>      2 Subscript[y, 1][[numy]] Subscript[y, 2][[numy]] Subscript[A,
>       12] + Subscript[y, 2][[numy]]^2 A[[2]];
>    solzv =
>     NSolve[Z - 1/(1 - Subscript[B, vap]/Z) +
>        Subscript[A, vap]/Subscript[B, vap]*Subscript[B, vap]/Z/(
>         1 + 2 *Subscript[B, vap]/Z - (Subscript[B, vap]/Z)^2) == 0, Z];
>    solv = Z /. {solzv[[1]], solzv[[3]]};
>    Subscript[ln\[Phi], 1 v] =
>     B[[1]]/Subscript[B, vap] (solv[[1]] - 1) -
>      Log[solv[[1]] - Subscript[B, vap]] -
>      Subscript[A, vap]/(Subscript[B, vap] Sqrt[8])
>        Log[(solv[[1]] + (1 + Sqrt[2]) Subscript[B, vap])/(
>        solv[[1]] + (1 - Sqrt[2]) Subscript[B, vap])] (1/Subscript[A,
>          vap] 2 (Subscript[y, 1][[numy]] A[[1]] +
>            Subscript[y, 2][[numy]] Subscript[A, 12]) - B[[1]]/
>         Subscript[B, vap]);
>    Subscript[ln\[Phi], 2 v] =
>     B[[2]]/Subscript[B, vap] (solv[[1]] - 1) -
>      Log[solv[[1]] - Subscript[B, vap]] -
>      Subscript[A, vap]/(Subscript[B, vap] Sqrt[8])
>        Log[(solv[[1]] + (1 + Sqrt[2]) Subscript[B, vap])/(
>        solv[[1]] + (1 - Sqrt[2]) Subscript[B, vap])] (1/Subscript[A,
>          vap] 2 (Subscript[y, 1][[numy]] Subscript[A, 12] +
>            Subscript[y, 2][[numy]] A[[2]]) - B[[2]]/Subscript[B, vap]);
>    Subscript[\[Phi], 1 v] = Exp[Subscript[ln\[Phi], 1 v]];
>    Subscript[\[Phi], 2 v] = Exp[Subscript[ln\[Phi], 2 v]];
>    Subscript[f, 1 v] =
>     Append[Subscript[f, 1 v],
>      Subscript[\[Phi], 1 v]*Subscript[y, 1][[numy]]];
>    Subscript[f, 2 v] =
>     Append[Subscript[f, 2 v],
>      Subscript[\[Phi], 2 v]*Subscript[y, 2][[numy]]];
>
>    While[Abs[Subscript[f, 1 l][[nump]] - Subscript[f, 1 v][[numy]]] +
>       Abs[Subscript[f, 2 l][[nump]] - Subscript[f, 2 v][[numy]]] >
>      tollerancep,
>     numy = numy + 1;
>     Subscript[k, 1] = Subscript[\[Phi], 1 l]/Subscript[\[Phi], 1 v];
>     Subscript[k, 2] = Subscript[\[Phi], 2 l]/Subscript[\[Phi], 2 v];
>     Subscript[y, 1] =
>      Append[Subscript[y, 1], (x[[1]]*Subscript[k, 1])];
>     Subscript[y, 2] =
>      Append[Subscript[y, 2], (x[[2]]*Subscript[k, 2])];
>     Subscript[y, 1 n] =
>      Append[Subscript[y,
>       1 n], (x[[1]]*Subscript[k, 1])/(x[[1]]*Subscript[k, 1] +
>          x[[2]]*Subscript[k, 2])];
>     Subscript[y, 2 n] =
>      Append[Subscript[y,
>       2 n], (x[[2]]*Subscript[k, 2])/(x[[1]]*Subscript[k, 1] +
>          x[[2]]*Subscript[k, 2])];
>     Subscript[B, vap] =
>      Subscript[y, 1 n][[numy]]*B[[1]] +
>       Subscript[y, 2 n][[numy]]*B[[2]];
>     Subscript[A, vap] =
>      Subscript[y, 1 n][[numy]]^2 A[[1]] +
>       2 Subscript[y, 1 n][[numy]] Subscript[y, 2 n][[numy]] Subscript[
>        A, 12] + Subscript[y, 2 n][[numy]]^2 A[[2]];
>     solzv =
>      NSolve[Z - 1/(1 - Subscript[B, vap]/Z) +
>         Subscript[A, vap]/Subscript[B, vap]*Subscript[B, vap]/Z/(
>          1 + 2 *Subscript[B, vap]/Z - (Subscript[B, vap]/Z)^2) == 0,
>       Z];
>     solv = Z /. {solzv[[1]], solzv[[3]]};
>     Subscript[ln\[Phi], 1 v] =
>      B[[1]]/Subscript[B, vap] (solv[[1]] - 1) -
>       Log[solv[[1]] - Subscript[B, vap]] -
>       Subscript[A, vap]/(Subscript[B, vap] Sqrt[8])
>         Log[(solv[[1]] + (1 + Sqrt[2]) Subscript[B, vap])/(
>         solv[[1]] + (1 - Sqrt[2]) Subscript[B, vap])] (1/Subscript[A,
>           vap] 2 (Subscript[y, 1 n][[numy]] A[[1]] +
>             Subscript[y, 2 n][[numy]] Subscript[A, 12]) - B[[1]]/
>          Subscript[B, vap]);
>     Subscript[ln\[Phi], 2 v] =
>      B[[2]]/Subscript[B, vap] (solv[[1]] - 1) -
>       Log[solv[[1]] - Subscript[B, vap]] -
>       Subscript[A, vap]/(Subscript[B, vap] Sqrt[8])
>         Log[(solv[[1]] + (1 + Sqrt[2]) Subscript[B, vap])/(
>         solv[[1]] + (1 - Sqrt[2]) Subscript[B, vap])] (1/Subscript[A,
>           vap] 2 (Subscript[y, 1 n][[numy]] Subscript[A, 12] +
>             Subscript[y, 2 n][[numy]] A[[2]]) - B[[2]]/Subscript[B,
>          vap]);
>     Subscript[\[Phi], 1 v] = Exp[Subscript[ln\[Phi], 1 v]];
>     Subscript[\[Phi], 2 v] = Exp[Subscript[ln\[Phi], 2 v]];
>     Subscript[f, 1 v] =
>      Append[Subscript[f, 1 v],
>       Subscript[\[Phi], 1 v]*Subscript[y, 1 n][[numy]]];
>     Subscript[f, 2 v] =
>      Append[Subscript[f, 2 v],
>       Subscript[\[Phi], 2 v]*Subscript[y, 2 n][[numy]]];
>     Abs[Subscript[f, 1 v][[numy]] - Subscript[f, 1 v][[numy - 1]]] +
>      Abs[Subscript[f, 2 v][[numy]] - Subscript[f, 2 v][[numy - 1]]];
>     Abs[Subscript[f, 1 l][[nump]] - Subscript[f, 1 v][[numy]]] +
>      Abs[Subscript[f, 2 l][[nump]] - Subscript[f, 2 v][[numy]]];
>     While[
>       Abs[Subscript[f, 1 v][[numy]] - Subscript[f, 1 v][[numy - 1]]] +
>          Abs[Subscript[f, 2 v][[numy]] -
>           Subscript[f, 2 v][[numy - 1]]] >
>        tollerancey,(*inizio while su y*)
>       numy = numy + 1;
>       Subscript[k, 1] = Subscript[\[Phi], 1 l]/Subscript[\[Phi], 1 v];
>       Subscript[k, 2] = Subscript[\[Phi], 2 l]/Subscript[\[Phi], 2 v];
>       Subscript[y, 1] =
>        Append[Subscript[y, 1], (x[[1]]*Subscript[k, 1])];
>       Subscript[y, 2] =
>        Append[Subscript[y, 2], (x[[2]]*Subscript[k, 2])];
>       Subscript[y, 1 n] =
>        Append[Subscript[y,
>         1 n], (x[[1]]*Subscript[k, 1])/(x[[1]]*Subscript[k, 1] +
>            x[[2]]*Subscript[k, 2])];
>       Subscript[y, 2 n] =
>        Append[Subscript[y,
>         2 n], (x[[2]]*Subscript[k, 2])/(x[[1]]*Subscript[k, 1] +
>            x[[2]]*Subscript[k, 2])];
>       Subscript[B, vap] =
>        Subscript[y, 1 n][[numy]]*B[[1]] +
>         Subscript[y, 2 n][[numy]]*B[[2]];
>       Subscript[A, vap] =
>        Subscript[y, 1 n][[numy]]^2 A[[1]] +
>         2 Subscript[y, 1 n][[numy]] Subscript[y, 2 n][[
>           numy]] Subscript[A, 12] + Subscript[y, 2 n][[numy]]^2 A[[2]];
>       solzv =
>        NSolve[Z - 1/(1 - Subscript[B, vap]/Z) +
>           Subscript[A, vap]/Subscript[B, vap]*Subscript[B, vap]/Z/(
>            1 + 2 *Subscript[B, vap]/Z - (Subscript[B, vap]/Z)^2) == 0,
>          Z];
>       solv = Z /. {solzv[[1]], solzv[[3]]};
>       Subscript[ln\[Phi], 1 v] =
>        B[[1]]/Subscript[B, vap] (solv[[1]] - 1) -
>         Log[solv[[1]] - Subscript[B, vap]] -
>         Subscript[A, vap]/(Subscript[B, vap] Sqrt[8])
>           Log[(solv[[1]] + (1 + Sqrt[2]) Subscript[B, vap])/(solv[[
>               1]] + (1 - Sqrt[2]) Subscript[B, vap])] (1/Subscript[A,
>             vap] 2 (Subscript[y, 1][[numy]] A[[1]] +
>               Subscript[y, 2][[numy]] Subscript[A, 12]) - B[[1]]/
>            Subscript[B, vap]);
>       Subscript[ln\[Phi], 2 v] =
>        B[[2]]/Subscript[B, vap] (solv[[1]] - 1) -
>         Log[solv[[1]] - Subscript[B, vap]] -
>         Subscript[A, vap]/(Subscript[B, vap] Sqrt[8])
>           Log[(solv[[1]] + (1 + Sqrt[2]) Subscript[B, vap])/(solv[[
>               1]] + (1 - Sqrt[2]) Subscript[B, vap])] (1/Subscript[A,
>             vap] 2 (Subscript[y, 1][[numy]] Subscript[A, 12] +
>               Subscript[y, 2][[numy]] A[[2]]) - B[[2]]/Subscript[B,
>            vap]);
>       Subscript[\[Phi], 1 v] = Exp[Subscript[ln\[Phi], 1 v]];
>       Subscript[\[Phi], 2 v] = Exp[Subscript[ln\[Phi], 2 v]];
>       Subscript[f, 1 v] =
>        Append[Subscript[f, 1 v],
>         Subscript[\[Phi], 1 v]*Subscript[y, 1 n][[numy]]];
>       Subscript[f, 2 v] =
>        Append[Subscript[f, 2 v],
>         Subscript[\[Phi], 2 v]*Subscript[y, 2 n][[numy]]];]
>      If
>       [Abs[Subscript[f, 1 l][[nump]] - Subscript[f, 1 v][[numy]]] +
>         Abs[Subscript[f, 2 l][[nump]] - Subscript[f, 2 v][[numy]]] >
>        tollerancep,
>
>       ris =
>        Append[{ris},
>          Join[{P[[nump]]}, {Subscript[y, 1 n]}, {Subscript[y,
>            2 n]}, {Subscript[f, 1 l][[nump]]}, {Subscript[f, 2 l][[
>             nump]]}, {Subscript[f, 1 v]}, {Subscript[f,
>            2 v]}, {Abs[
>              Subscript[f, 1 l][[nump]] - Subscript[f, 1 v][[numy]]] +
>             Abs[Subscript[f, 2 l][[nump]] -
>               Subscript[f, 2 v][[numy]]]}]] // MatrixForm;
>       If
>        [
>        Abs[P[[nump - 2]] - P[[nump - 1]]] ==
>         Abs[P[[nump - 1]] - P[[nump]]],
>        incrP = incrP/2;
>
>        incrP
>        ];
>
>       nump = nump + 1;
>       P =
>        Append[P,
>         If[Subscript[y, 1][[numy]] + Subscript[y, 2][[numy]] > 1,
>          P[[nump - 1]] + incrP, P[[nump - 1]] - incrP]];
>       A = Table[(a[[i]] P[[nump]])/(R^2 T^2), {i, 2}];
>       B = Table[(b[[i]] P[[nump]])/(R T), {i, 2}];
>       Subscript[A, 12] = Sqrt[A[[1]]*A[[2]]]*(1 - k);
>       Subscript[A, liq] =
>        x[[1]]^2 A[[1]] + 2*(x[[1]]*x[[2]])* Subscript[A, 12] +
>         x[[2]]^2 A[[2]];
>       Subscript[B, liq] = x[[1]]*B[[1]] + x[[2]]*B[[2]];
>       solzl =
>        NSolve[Z - 1/(1 - Subscript[B, liq]/Z) +
>           Subscript[A, liq]/Subscript[B, liq]*Subscript[B, liq]/Z/(
>            1 + 2 *Subscript[B, liq]/Z - (Subscript[B, liq]/Z)^2) == 0,
>          Z];
>       soll = Z /. {solzl[[1]], solzl[[3]]};
>       Subscript[ln\[Phi], 1 l] =
>        B[[1]]/Subscript[B, liq] (soll[[2]] - 1) -
>         Log[soll[[2]] - Subscript[B, liq]] -
>         Subscript[A, liq]/(Subscript[B, liq] Sqrt[8])
>           Log[(soll[[2]] + (1 + Sqrt[2]) Subscript[B, liq])/(soll[[
>               2]] + (1 - Sqrt[2]) Subscript[B, liq])] (1/Subscript[A,
>             liq] 2 (x[[1]] A[[1]] + x[[2]] Subscript[A, 12]) - B[[1]]/
>            Subscript[B, liq]);
>       Subscript[ln\[Phi], 2 l] =
>        B[[2]]/Subscript[B, liq] (soll[[2]] - 1) -
>         Log[soll[[2]] - Subscript[B, liq]] -
>         Subscript[A, liq]/(Subscript[B, liq] Sqrt[8])
>           Log[(soll[[2]] + (1 + Sqrt[2]) Subscript[B, liq])/(soll[[
>               2]] + (1 - Sqrt[2]) Subscript[B, liq])] (1/Subscript[A,
>             liq] 2 (x[[1]] Subscript[A, 12] + x[[2]] A[[2]]) - B[[2]]/
>            Subscript[B, liq]);
>       Subscript[\[Phi], 1 l] = Exp[Subscript[ln\[Phi], 1 l]];
>       Subscript[\[Phi], 2 l] = Exp[Subscript[ln\[Phi], 2 l]];
>       Subscript[f, 1 l] =
>        Append[Subscript[f, 1 l], Subscript[\[Phi], 1 l]*x[[1]]];
>       Subscript[f, 2 l] =
>        Append[Subscript[f, 2 l], Subscript[\[Phi], 2 l]*x[[2]]];
>       Subscript[y, 1 n] = {Subscript[y, 1 n][[numy]]};
>       Subscript[y, 2 n] = {Subscript[y, 2 n][[numy]]};
>       Subscript[y, 1] = {Subscript[y, 1][[numy]]};
>       Subscript[y, 2] = {Subscript[y, 2][[numy]]};
>       Subscript[f, 1 v] = {Subscript[f, 1 v][[numy]]};
>       Subscript[f, 2 v] = {Subscript[f, 2 v][[numy]]};
>       numy = 1;
>       passo = passo + 1;
>       ]
>     ];
>    matriceP = Append[matriceP, P];
>    mfugv1 = {{}};
>    mfugl1 = {{}};
>    mfugv2 = {{}};
>    mfugl2 = {{}};
>    my1 = {{}};
>    my2 = {{}};
>    indicek = indicek + 1;
>    valorek = Append[valorek, k];
>
>  (*--------------------------------------------------------THIS
> PART------------------------------------------------------------------*)
> \
>
>    (**Catch*[Do[If[( (matriceP[[i-1,1]]-matriceP[[i-1,-1]])/
>    matriceP[[i-1,1]])^2>( (matriceP[[i,1]]-matriceP[[i,-1]])/
>    matriceP[[i,1]])^2,Throw[i+1]],{i,2,Length[valorek]}]]*)
>    Do[If[( (matriceP[[i - 1, 1]] - matriceP[[i - 1, -1]])/
>         matriceP[[i - 1, 1]])^2 < ( (
>         matriceP[[i, 1]] - matriceP[[i, -1]])/matriceP[[i, 1]])^2,
>      * Goto[thispoint]*], {i, 2, Length[valorek]}];
>    , {k, -0.2, 0.2, 0.1}
>    ]
>  * Label[thispoint]*;
>  ris = Append[{ris},
>     Join[{P[[nump]]}, {Subscript[y, 1 n]}, {Subscript[y,
>       2 n]}, {Subscript[f, 1 l][[nump]]}, {Subscript[f, 2 l][[
>        nump]]}, {Subscript[f, 1 v]}, {Subscript[f,
>       2 v]}, {Abs[
>         Subscript[f, 1 l][[nump]] - Subscript[f, 1 v][[numy]]] +
>        Abs[Subscript[f, 2 l][[nump]] - Subscript[f, 2 v][[numy]]]}]] //
>     MatrixForm;
>  DiscretePlot[P[[i]], {i, 1, Length[P]}];
>
>  Do[Print["k12: ", valorek[[i]], " Arrive pressure: ",
>    matriceP[[i, -1]],
>    " Deviation: ", ( (matriceP[[i, 1]] - matriceP[[i, -1]])/
>     matriceP[[i, 1]])^2], {i, Length[valorek]}] ]
> matriceAAD =
>  Table[( (matriceP[[i, 1]] - matriceP[[i, -1]])/
>    matriceP[[i, 1]])^2, {i,
>    Length[valorek]}](*Tabella di tutte le deviazioni *)
> Print["k12 -> ",
>  valorek[[Flatten[
>    Position[matriceAAD, Min[matriceAAD]]]]], " AAD -> ",
>  Min[matriceAAD]]


-- 
DrMajorBob at yahoo.com



  • References:
  • Prev by Date: Re: Exit a loop
  • Next by Date: Re: Exit a loop
  • Previous by thread: Exit a loop
  • Next by thread: Re: Exit a loop