Optimieren mit Maple < Maple < Mathe-Software < Mathe < Vorhilfe
|
Status: |
(Frage) überfällig | Datum: | 18:02 Mo 26.10.2009 | Autor: | laraS |
Hallo, ich habe ein Problem. Und zwar habe ich folgedes Quellcode:
> restart;
> K := 5;
c := 1;
> w[1] := 0;
w[2] := 3;
w[3] := 5;
> p(w[1]) := .1; p(w[2]) := .7; p(w[3]) := .2;
>
>
> EW[K] := 0;
> x[0] := 0;
>
> for k from K-1 by -1 to 0 do
Z[k] := [mm] unapply(c*u+sum(p(w[s])*(x+u-w[s])^2, [/mm] s = 1 .. 3)+EW[k+1], x, u);
Z[k](x, u[k]);
u[neu][k] := evalf(solve(diff(Z[k](x, u[k]), u[k]), u[k]));
F[k] := u[neu][k];
W[k] := unapply(subs(u[k] = u[neu][k], Z[k](x, u[k])), x);
EW[k] := sum(p(w[s])*W[k](x+u-w[s]), s = 1 .. 3) end do;
Jetzt ist mir aber aufgefallen, dass u[neu][k] nicht negativ sein darf.
Wie kann ich dass hier berücksichtigen?
Danke für die Hilfe
Ich habe diese Frage in keinem anderen Forum gestellt
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 11:10 Mi 28.10.2009 | Autor: | Peter_Pein |
Hallo LaraS,
ohne den Code eingetippt und den folgenden Vorschlag ausprobiert zu haben, gebe ich einfach mal 'nen Schuss ins Dunkle ab:
bei der Definition von u[neu][k] einfach ein max(0,evalf(...)) verwenden ?
Hoffentlich hilft's,
Peter
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 18:20 Di 03.11.2009 | Autor: | matux |
$MATUXTEXT(ueberfaellige_frage)
|
|
|
|