& 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
<https://de.wikipedia.org/wiki/Kernspeicher>"
Viel Erfolg wünscht Peter
Am Di., 22. Okt. 2019 um 00:13 Uhr schrieb Peter Klamser <klamser@XXXXXXX.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 <
>> 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