|
|
Kommando für Termumformung in Symbolic Toolbox |
|
helmat |
Forum-Fortgeschrittener
|
|
Beiträge: 92
|
|
|
|
Anmeldedatum: 18.12.11
|
|
|
|
Wohnort: ---
|
|
|
|
Version: R2020a
|
|
|
|
|
|
Verfasst am: 21.08.2020, 20:19
Titel: Kommando für Termumformung in Symbolic Toolbox
|
|
In Wolfram Alpha bekommt man für eingegebene Terme (z. B. sin(x)*sin(y)) ohne besondere Aufforderung "alternate forms". Gibt es in der Symbolic Toolbox Kommandos, die Ähnliches leisten?
_________________
Herzliche Grüße
helmat
p.s.
Hard work beats talent if talent doesn't work hard.
|
|
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 21.08.2020, 21:25
Titel:
|
|
Hallo,
wie sehen diese "alternate forms" denn aus?
Für mich liefert die Anforderung, dass etwas umgeschrieben werden soll, keinerlei Hinweis darauf, wie es umgeschrieben werden soll.
Mein erster Gedanke ist immer vereinfachen (
simplify
), aber was soll in dem Beispiel noch vereinfacht werden?
Grüße,
Harald
_________________
1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
|
|
|
helmat |
Themenstarter
Forum-Fortgeschrittener
|
|
Beiträge: 92
|
|
|
|
Anmeldedatum: 18.12.11
|
|
|
|
Wohnort: ---
|
|
|
|
Version: R2020a
|
|
|
|
|
|
Verfasst am: 21.08.2020, 22:39
Titel:
|
|
Z. B, erscheint nach Eingabe von
sin(x+a)*sin(x+b)
das Folgende (und Weiteres):
1/2*(cos(a-b) - cos(a+b+2*x))
Einfach mal auf https://www.wolframalpha.com ausprobieren!
simplify bringt hier (verständlicherweise) nichts.
_________________
Herzliche Grüße
helmat
p.s.
Hard work beats talent if talent doesn't work hard.
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 22.08.2020, 07:31
Titel:
|
|
Hallo,
ich sehe jetzt dadurch, dass Wolfram Alpha für diesen Ausdruck drei verschiedene alternate forms ausgibt. Mir ist aber weder klar, welche der drei nun das Ergebnis sein soll noch nach welcher Vorgabe dieses Ergebnis ermittelt werden soll.
Mit
rewrite
kann man z.B. erzwingen, dass exp statt sin verwendet wird.
Mit
expand
kann man das so umformen, dass keine trig. Funktionen von Summen oder Differenzen vorkommen.
Das sind andere Darstellungsformen als die auf Wolfram Alpha, aber mir ist jetzt nicht klar, warum das eine besser oder schlechter sein sollte als das andere.
Grüße,
Harald
_________________
1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
|
|
|
helmat |
Themenstarter
Forum-Fortgeschrittener
|
|
Beiträge: 92
|
|
|
|
Anmeldedatum: 18.12.11
|
|
|
|
Wohnort: ---
|
|
|
|
Version: R2020a
|
|
|
|
|
|
Verfasst am: 22.08.2020, 10:58
Titel:
|
|
Danke für die Antwort!
Es geht mir nicht um besser oder schlechter. Wolfram liefert ein "Überraschngsei" und formt sin(x)^2 (unt. And.) in 1/2 *(1 - cos(2*x)) um. Das ist genau das, was ich suchte. Mit Matlabs expand (und danach simplify) kriege ich das nicht hin. Hast du dafür einen Weg? Aber prinzipiell ist expand nahe an dem dran, was mir fehlt.
_________________
Herzliche Grüße
helmat
p.s.
Hard work beats talent if talent doesn't work hard.
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 22.08.2020, 11:57
Titel:
|
|
Hallo,
Zitat: |
Das ist genau das, was ich suchte. |
Und wie entscheidest du das? Warum das und nicht z.B. 1-cos(x)^2 ?
Ich verstehe immer noch nicht, wie aus der Eingabe der gleichwertige Ausdruck erzeugt werden soll. Ob es dann in MATLAB eine Funktion gibt, die genau das liefert, ist die andere Frage. Der erste Schritt ist für mich aber zu verstehen, was du über dieses konkrete Beispiel hinausgehend eigentlich willst.
Jetzt könntest du natürlich sagen "dasselbe wie in Wolfram Alpha", was mir aber wenig hilft, weil ich nicht weiß, was Wolfram Alpha macht, um diese alternate forms zu erzeugen.
Grüße,
Harald
_________________
1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
|
|
|
helmat |
Themenstarter
Forum-Fortgeschrittener
|
|
Beiträge: 92
|
|
|
|
Anmeldedatum: 18.12.11
|
|
|
|
Wohnort: ---
|
|
|
|
Version: R2020a
|
|
|
|
|
|
Verfasst am: 22.08.2020, 13:15
Titel:
|
|
Hallo Harald,
der gleichwertige Ausdruck, den Matlab liefern soll, soll im Argument der Sinus- oder Kosinusfunktion nicht x sondern 2*x enthalten. Das liegt für die Zielform hier m. E. nahe.
Kennst du eine Matlab-Lösung für diese jetzt eingeengte Frage?
_________________
Herzliche Grüße
helmat
p.s.
Hard work beats talent if talent doesn't work hard.
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 22.08.2020, 13:40
Titel:
|
|
Hallo,
Zitat: |
Das liegt für die Zielform hier m. E. nahe. |
Für mich nicht. Die ursprüngliche Form ist für mich die nahe liegendere. Das sieht auch MATLAB so, indem es dein Ergebnis in die ursprüngliche Form vereinfacht, wenn man ausreichend viele Schritte zulässt:
Eine Funktion, die so gesehen also verkompliziert, ist mir nicht bekannt.
Grüße,
Harald
_________________
1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
|
|
|
helmat |
Themenstarter
Forum-Fortgeschrittener
|
|
Beiträge: 92
|
|
|
|
Anmeldedatum: 18.12.11
|
|
|
|
Wohnort: ---
|
|
|
|
Version: R2020a
|
|
|
|
|
|
Verfasst am: 22.08.2020, 14:12
Titel:
|
|
Hallo Harald,
ss geht mir nicht ums Vereinfachen, sondern um eine bestimmte Zielform. Wer mit Produkten von sin- und cos-Schwingungen verschiedener oder gleicher Frequenz umgeht, erwartet harmonische Terme mit Summen- und Differenzfrequenz. Das soll ein m-file leisten.
Eine (etwas umwegiger) Code für sin(x)^2 ist:
_________________
Herzliche Grüße
helmat
p.s.
Hard work beats talent if talent doesn't work hard.
|
|
|
helmat |
Themenstarter
Forum-Fortgeschrittener
|
|
Beiträge: 92
|
|
|
|
Anmeldedatum: 18.12.11
|
|
|
|
Wohnort: ---
|
|
|
|
Version: R2020a
|
|
|
|
|
|
Verfasst am: 23.08.2020, 18:23
Titel:
|
|
Frage als beantwortet eingestuft. Danke an Harald für expand!
_________________
Herzliche Grüße
helmat
p.s.
Hard work beats talent if talent doesn't work hard.
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| RSS
Hosted by:
Copyright © 2007 - 2025
goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.
|
|