DMUG-Archiv 2019

Frühere   Chronologischer Index   Spätere
Vorherige   Thematischer Index   Nächste

Re: [Dmug] Smitt-Trigger

... ja genau, daran hatte ich auch schon gedacht, Danke für die Ergänzung,
das ist eine schöne Kollaboration ;-)

Alles Gute wünscht Peter

Susanne & Udo Krause <su.krause@XXXXXXX.ch> schrieb am Mo., 21. Okt. 2019,
20:18:

> Hallo Peter,
>
> allerdings braucht es mit Ihrer Definition die
> Nirgendanderswoimselbennotebookverwendung der Variable flast:
>
> In[7]:= Clear[f]
> f // ClearAll
> f[x_ /; x > 3.2] := flast = 10
> f[x_ /; x < -0.8] := flast = -10
> f[x_] := flast;
>
> In[30]:= f[5]
> Out[30]= 10
>
> In[31]:= f[0]
> Out[31]= 10
>
> In[32]:= flast = 99;
> f[0]
> Out[33]= 99
>
> deshalb sollte man wenigstens eine kleine Sicherheit einbauen:
>
> In[34]:= Clear[f1]
> f1 // ClearAll
> f1[x_ /; x > 3.2] := f1`flast = 10
> f1[x_ /; x < -0.8] := f1`flast = -10
> f1[x_] := f1`flast;
>
> In[39]:= f1[5]
> Out[39]= 10
>
> In[42]:= flast = 88;
> f1[0]
> Out[43]= 10
>
>
> Grüsse
>
> Udo.
>
>
> Am 21.10.2019 um 04:50 schrieb Peter Klamser via demug:
> > Geht noch einfacher so:
> >
> > f//ClearAll
> > f[x_/;x>3.2]:=flast=10
> > f[x_/;x<-0.8]:=flast=-10
> > f[x_]:=flast;
> >
> ListPlot[{Table[{x,f[x]},{x,-5,5,0.1}],Table[{x,f[x]},{x,5,-5,-0.1}]},Joined->True]
> >
> > Viel Erfolg wünscht Peter
> >
> > Am Mo., 21. Okt. 2019 um 01:25 Uhr schrieb Peter Klamser <
> klamser@XXXXXXX.com
> >> :
> >> f//ClearAll
> >> f[x_/;x>3.2]:=flast=10
> >> f[x_/;x<-0.8]:=flast=-10
> >> f[x_/;Or[x>=-0.8,x<=3.2]]:=flast;
> >>
> >>
> ListPlot[{Table[{x,f[x]},{x,-5,5,0.1}],Table[{x,f[x]},{x,5,-5,-0.1}]},Joined->True]
> >>
> >> Am So., 20. Okt. 2019 um 19:28 Uhr schrieb Sven Stoll via demug <
> >> demug@XXXXXXX.ch>:
> >>
> >>> Liebe Liste,
> >>>
> >>> ich verzweifle eine Funktion mit Gedächtnis zu bauen, die ähnlich einem
> >>> Smitt-Trigger eine Hysterese abbildet.
> >>> Konkret soll die Funktion den Funktionswert von 10 liefern, wenn das
> >>> Argument > +3.2 (Volt) ist, und -10, wenn das Argument kleiner als -0.8
> >>> (Volt) ist.
> >>> Im Bereich von -0.8 bis + 3.2 soll jeweils der letzte Wert (10 oder
> -10)
> >>> erhalten bleiben.
> >>>
> >>> Das ist an und für sich kein Problem mit eine prozeduralen
> >>> Programmiersprache, aber wie macht man das mit Mathematica?
> >>>
> >>> Habt jemand eine Idee? Meine Ansätze (MODULE, WHILE, IF) sind alle
> >>> gescheitert.
> >>>
> >>> Viele Grüße
> >>> Sven
> >>> _______________________________________________
> >>> DMUG Deutschsprachiges Mathematica-Forum demug@XXXXXXX.ch
> >>> http://www.mathematica.ch/mailman/listinfo/demug
> >>> Archiv: http://www.mathematica.ch/archiv.html
> >>>
> > _______________________________________________
> > DMUG Deutschsprachiges Mathematica-Forum demug@XXXXXXX.ch
> > http://www.mathematica.ch/mailman/listinfo/demug
> > Archiv: http://www.mathematica.ch/archiv.html
>
_______________________________________________
DMUG Deutschsprachiges Mathematica-Forum demug@XXXXXXX.ch
http://www.mathematica.ch/mailman/listinfo/demug
Archiv: http://www.mathematica.ch/archiv.html

Antworten:
Verweise:
Frühere   Chronologischer Index   Spätere
Vorherige   Thematischer Index   Nächste

DMUG DMUG-Archiv, http://www.mathematica.ch/archiv.html