DMUG-Archiv 2019

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

Re: [Dmug] Smitt-Trigger

Ich hätte den letzten Wert ja an das Symbol f gebunden

f[x_ /; x < -0.8 || x > 3.2] := f[] = 10*Sign[x];
f[_] := f[]

Cheers
Patrick

On Mi, 2019-10-23 at 17:04 +0200, Peter Klamser via demug wrote:
> ... aber das macht im ursprünglichen Beispiel keinen Sinn ...
> 
> meint Peter
> 
> Am Di., 22. Okt. 2019 um 01:03 Uhr schrieb Peter Klamser <klamser@gma
> il.com>:
> > 
> > 
> > & dieses Konstrukt kann auch verwendet werden, um sehr aufwendige
> > Berechnungen für eine erneute Verwendung "automatisch" zur
> > Verfügung zu stellen:
> > foo[x_]:=foo[x]=x^2
> > Hier natürlich sinnlos kann aber manchmal vieles erleichtern. Eines
> > benötig man dann aber ggf: Viel "Kernspeicher"
> > 
> > Viel Erfolg wünscht Peter
> > 
> > Am Di., 22. Okt. 2019 um 00:13 Uhr schrieb Peter Klamser <klamser@g
> > mail.com>:
> > > 
> > > 
> > > ... 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 <kla
> > > > > mser@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@mathematic
> > > > > > > a.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

Attachment: signature.asc
Description: This is a digitally signed message part

_______________________________________________
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