トピック "Einsatz des Maxima Pakets: COMA - COntrol engineering with MAxima"

タブ

  • 削除されました
    削除されました | 12. May 2021, 10:52 選択
    Einsatz des Maxima Pakets: COMA - COntrol engineering with MAxima

    Für das Regelungstechnik Labor haben wir bereits erste Fragen für Tests auf STACK Basis erstellt.

    In Maxima ist das regelungstechnische Paket COMA

    http://www.austromath.at/daten/maxima/zusatz/coma.htm 

    integriert:

    http://www.austromath.at/daten/maxima/zusatz/Regelungstechnik_mit_Maxima.pdf

    Für uns und wahrscheinlich für alle, die mit der Laplace Transformation (Übertragungsfunktionen), Bodediagramme, Sprungantworten …
    arbeiten wäre das eine echte Hilfe, wenn wir das Paket einsetzen könnten.

    load(coma);

    Der Kollege aus dem Rechenzentrum hat das Paket aktiviert, es lässt sich aber dennoch nicht ansprechen.
    Es wäre die Frage, ob das Paket unter Ilias/STACK verfügbar ist. Vielleicht haben Sie ja schon einmal mit dem Paket zu tun gehabt.

  • bird
    Anja Bird | bird | 14. May 2021, 10:00 選択
    Einsatz des Maxima Pakets: COMA - COntrol engineering with MAxima
    In der STACK-Dokumentation (moodle) unter https://github.com/maths/moodle-qtype_stack/blob/2657c7e427ca2312829b0810ad6804e4a8716882/doc/en/Developer/Maxima_packages.md wird etwas erklärt, wie das mit den Maxima Paketen funktioniert.

    Das dort erwähnte public static $maximalibraries = '...';  finde ich im Code des STACK-Plugins unter https://github.com/ilifau/assStackQuestion/blob/7b5df418b07e11794bda94c543a843ce9ecf89e1/classes/stack/cas/installhelper.class.php

    public static $maximalibraries = array('stats', 'distrib', 'descriptive', 'simplex');

    Daraus würd ich schlussfolgern, dass aktuell nur die Pakete 'stats', 'distrib', 'descriptive' und 'simplex' unterstützt werden.
  • koospal
    Stefan Koospal | koospal | 14. May 2021, 13:56 選択
    編集日: 14. May 2021, 14:00 - by Stefan Koospal | koospal
    Einsatz des Maxima Pakets: COMA - COntrol engineering with MAxima
    Die maxima-packages muessen im Server geladen werden. Die Variable, die Anja erwaehnt, wirkt wahrscheinlich nur fuer eine lokale Installation von maxima.
    Beim Maximapool muss man das im Maximapool entsprechend konfigurieren.

    goemaxima: Lennart Kramer arbeitet gerade daran, auf github die Docker-Konfig so zu aendern, dass COMA geladen wird. Wir werden dieses Dockerimage mit COMA dann auch in unserem public maximapool einsetzen. Spaetestens ab naechste Woche sollte der Kubernetespool wegen des rolling updates auch COMA unterstuetzen.

    Was ich nicht weiss, inwieweit alles, was COMA zur Verfuegung stellt, dann auch in STACK funktioniert.
  • 削除されました
    削除されました | 14. May 2021, 16:06 選択
    Einsatz des Maxima Pakets: COMA - COntrol engineering with MAxima
    Wo wird das "load(coma);" denn eingebracht?
    Wenn man COMA zu maximalibraries hinzugefuegt, dann wird es glaube ich nur wirksam, wenn man das optimierte Image generieren laesst.
    Beim MaximaPool muss man es entweder beim Generieren des optimierten Images schon machen, oder sonst bei maximalocal.mac als Zeile einfuegen.

    Davon unabhaengig, es scheint so, als wenn COMA eine eigene plot Funktion mitbringt, die Stacks plot Funktion ueberschreibt, deswegen funktionieren Plots nicht, wenn man coma nach den Stack libraries laedt.
    Wenn man COMA beim Erstellen des optimierten Images vor den Stack libraries laedt, scheint es aber zu funktionieren (ich konnte zumindest die nilt Funktion in maxima aufrufen, und die plot Funktion ist dann nicht die von COMA), allerdings habe ich noch keine ausfuehrlichen Tests gemacht.
  • 削除されました
    削除されました | 17. Jun 2021, 14:25 選択
    Einsatz des Maxima Pakets: COMA - COntrol engineering with MAxima
    Vielen Dank! Wir haben eine Installation, wie sie Frau Bird beschrieben hat. Auf die Grafikbefehle muss ich wohl auf jeden Fall verzichten. Ich habe in meinem Beitrag vom 10.6. (weiter unten) beschrieben, wie ich vorgegangen bin. Ich war der Meinung, dass ich security-map.json erweitern muss, um Befehle nutzen zu können. Ich habe aber festgestellt, dass dieser Mechanismus bei Stack https://docs.stack-assessment.org/en/Developer/Census/ und auch Moodle so vorgesehen ist, aber nicht in Ilias.
    Bei meiner Suche nach einem solchen Mechanismus habe ich nur im git assStackQuestion\classes\stack\cas in der Datei casstring.class.php eine Befehlswhitelist für Studenten, eine globale Befehlsblacklist (z.B. load Befehl) und eine Befehlsblacklist für teacher (z.B. bode_mag - klar die Grafikbefehle funktionieren nicht) gefunden, d.h. wenn ich$maximalibraries = array('stats', 'distrib', 'descriptive', 'simplex'); um z.B. bode erweitere wird der Befehl geblockt und eine entsprechende Fehlermeldung angezeigt. Wenn ich das Array um coma und eine Befehl daraus im Aufgabentext {@befehl@} aufrufe, wird der Befehlsausdruck befehl ausgegeben - der Befehl ist unbekannt. Selbst Befehle aus simplex liefen nicht.
    Kann mir jemand einen Hinweis geben, wie das unter Ilias vorgesehen ist? In meiner Windows Maxima Installation habe ich maximalocal.mac nicht gefunden.
  • 削除されました
    削除されました | 17. May 2021, 11:26 選択
    編集日: 17. May 2021, 11:28 - by 削除されました
    Einsatz des Maxima Pakets: COMA - COntrol engineering with MAxima
    Vielen Dank für die vielen Rückmeldungen, Informationen und das Erarbeiten von Lösungen! Ich hatte am Fr Urlaub und habe damit nicht gerechnet. Das hört sich sehr vielversprechend an.
    Ich werde mich mit dem Kollegen vom RZ unterhalten, wie bei uns Maxima eingebunden ist. Da bei uns der Prüfungszeitraum des vergangenen Wintersemesters läuft und die Studenten in Ilias abgeben, kann am System frühestens in 1 1/2 Wochen etwas geändert werden. Ich werde versuchen das bis dahin vorzubereiten.
  • 削除されました
    削除されました | 10. Jun 2021, 12:06 選択
    Einsatz des Maxima Pakets: COMA - COntrol engineering with MAxima

    Ich möchte kurz meinen Fortschritt dokumentieren, falls jemand ein ähnliches Problem hat. Wie sich herausgestellt hat verwenden wir die einfache Maxima Anbindung (ohne Lastverteilung), wie sie Frau Bird beschrieben hat. Hier für hat mir der Kollege vom Rechenzentrum wie beschrieben (auf einer Testplattform) die Coma Lib in stack/cas/installhelper.class.php   https://github.com/ilifau/assStackQuestion/blob/7b5df418b07e11794bda94c543a843ce9ecf89e1/classes/stack/cas/installhelper.class.php ergänzt: public static $maximalibraries = array('stats', 'distrib', 'descriptive', 'simplex');.  Danach läuft Coma aber immer noch nicht, denn

    • Wenn ich es richtig verstanden habe, müssen die einsetzbaren Befehle in security-map.json https://github.com/maths/moodle-qtype_stack/tree/2657c7e427ca2312829b0810ad6804e4a8716882/stack/cas gelistet sein, siehe Link von Frau Bird  https://github.com/maths/moodle-qtype_stack/blob/2657c7e427ca2312829b0810ad6804e4a8716882/doc/en/Developer/Maxima_packages.md. Ich würde zunächst gerne testweise ein paar Befehle hinzufügen, habe aber noch nichts zum Format gefunden. Wenn jemand zu dem Thema etwas wüsste wäre ich dankbar. Betrifft mich maximalocal.mac, die Lennart beschreibt ebenso?

    • Wie Lennart geschrieben hat muß ich auf die Grafikbefehle erst einmal ganz verzichten (ich hatte das nicht gleich verstanden), denn aus Sicherheitsgründen hat man keinen Zugriff auf die Grafikbefehle wie z.B. plot2d. Nur der Befehl plot2d ist über einen STACK Befehl plot als Wrapper verfügbar https://moodle.hft-stuttgart.de/question/type/stack/doc/doc.php/CAS/Plots.md (aber nicht mit allen Optionen). Für das Maxima draw Paket gibt es keine Unterstüzung und das kommt bei Coma zum Einsatz
      引用文
      Handbuch, Coma
      ... The plot routines of COMA don’t use the standard functions of Maxima (plot2d, plot3d,
      wxplot2d, wxplot3d), but the functions of the additional package Draw (draw2d, draw3d,
      wxdraw2d und wxdraw3d), refer [1], [3]. Those functions are a little bit more complicated
      in their application, but they offer much more possibilities to adapt the graphics according to
      special requirements by the use of options. ....

       Ich nehme an, man müsste dann für jeden Grafikbefehl einen Wrapper schreiben?

    Ich werde jetzt versuche Coma ohne Grafik zum Laufen zu bekommen. Meine Hoffnung ist, das die Lib die Möglichkeit bietet, wie z.B. MATLAB mit dem bode/step (Bodediagramm/Sprungantwort) vom Behfehl die Daten Frequenzvektor, Zeitvektor, Amplitudenvektor, Phasenvektor ... zu erhalten und dann mit plot selbst zu plotten.

    s=tf('s');
    G=2/(0.5*s+1);
    [y,t]=step(G);
    plot(t,y);


    Man muß auch noch das Paket bode https://maxima.sourceforge.io/docs/manual/de/maxima_36.html hinzufügen, denn das kommt nicht von der Coma Lib.