|
|
"Symbolisches Rechnen" in MatLab |
|
lovobo |

Forum-Fortgeschrittener
|
 |
Beiträge: 50
|
 |
|
 |
Anmeldedatum: 26.07.15
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 27.07.2015, 00:10
Titel: "Symbolisches Rechnen" in MatLab
|
 |
|
 |
|
Hallo,
zum einen entschuldige ich mich für die absolut schwammige Überschrift, ich habe echt über 2 Stunden gesessen um irgendwas passendes zu finden, wenigstens in etwa passend. Wenn euch da etwas besseres zu einfällt bitte sagt es mir, ansonsten können befugte das natürlich sehr gerne ändern, ich weis nichts anderes dazu.
Dann zu meiner Frage die ich mit einem Beispiel beginne. Da ich dazu eben nicht weis wie ich das codetechnisch realisieren soll, muss ich das leider in Textform/Pseudocode machen.
Ich gebe MatLab folgendes:
R=Reifen
M=Metall (in kg)
PKW=4*R+1700*M
LKW=12*R+20000*M
MRD=2*R+300*M
Bestellung=100*PKW+10*LKW+200*MRD
Im Grunde will ich da nun nichts anderes das er mir jetzt sagt wie viele Räder und Metall bei Bestellung stehen.
Das ist auch schon das ganze "Problem", ich wollte das erst mit Excel machen, stand da aber vor dem gleichen Problem.
Ich bin auch totaler MatLab Anfänger und denke auch das das was ich machen will gar nichts für ein Programm für MatLab ist, von daher wäre ich auch offen für andere Programme, da das hier schon mit Kanonen auf Spatzen schießen ist.
MfG
lovobo
Edit:
ich bin ja so dämlich... direkt nachdem ich den Thread erstellt hatte kam mir die Idee syms zu verwenden und damit habe ich meine Frage selbst beantwortet.
Trotzdem!!! Das ist ein super Forum das mir schon so unendlich viele male weiter geholfen hat Danke dafür an das ganze Forum.
|
|
|
|
|
Andreas Goser |

Forum-Meister
|
 |
Beiträge: 3.654
|
 |
|
 |
Anmeldedatum: 04.12.08
|
 |
|
 |
Wohnort: Ismaning
|
 |
|
 |
Version: 1.0
|
 |
|
|
 |
|
Verfasst am: 27.07.2015, 10:12
Titel:
|
 |
Für die anderen Anfänger die das lesen. Die sehr weit verbreitete Toolbox "Symbolic Math Toolbox" ermöglicht das definieren von symbolischen Variable "syms".
Andreas
|
|
|
lovobo |
Themenstarter

Forum-Fortgeschrittener
|
 |
Beiträge: 50
|
 |
|
 |
Anmeldedatum: 26.07.15
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 27.07.2015, 16:18
Titel:
|
 |
|
 |
|
ok, eine kleine Frage habe ich dann doch, nachdem ich da nun eine recht verzweigte Rechnung aufstellte, die fast komplett auf eine symbolische Variable zurück zu führen ist, frage ich mich ob es möglich istherauszufinden wie das ergebnis bei einem zwischenwert ist.
um das beispiel von oben aufzugreifen:
G=Gummi
K=Kunststoff
M=Metall (in kg)
Reifen=5*G+3*M
R=Reifen
PKW=4*R+1700*M+50*K
LKW=12*R+20000*M+150*K
MRD=2*R+300*M+15*K
Bestellung=100*PKW+10*LKW+200*MRD
Nun wäre das Ergebnis 4600 Gummi, 4327602 Metal und 9500 Kunststoff. Wie kann ich aber zB feststellen wie viele Reifen da drinne sind ?
Und das noch eine weitere Frage, würde ich nun für für Gummi oder Metall irgendwelche "krummen" werte eintragen, so bekomme ich Brüche heraus, wie bekomme ich diese Brüche zum einen als Dezimalzahl mot Komma angezeigt UND wie bekomme ich das hin das nur der Teil in einer Extra Variable abgespeichert wird, da mir im Workspace als Wert halt immer "1x1 sym" angezeigt wird.
Vielen dank
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.499
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 27.07.2015, 21:00
Titel:
|
 |
Hallo,
bitte auf den Status eines Beitrags achten.
Zitat: |
Wie kann ich aber zB feststellen wie viele Reifen da drinne sind ? |
Zitat: |
wie bekomme ich diese Brüche zum einen als Dezimalzahl mot Komma angezeigt UND wie bekomme ich das hin das nur der Teil in einer Extra Variable abgespeichert wird, da mir im Workspace als Wert halt immer "1x1 sym" angezeigt wird. |
eval
. Diese Frage gab es schon mehrfach im Forum.
Bitte für die Zukunft: bitte poste den verwendeten Code statt zu beschreiben, was du machst. Code ist eindeutiger und oft schneller verständlich.
Grüße,
Harald
|
|
|
lovobo |
Themenstarter

Forum-Fortgeschrittener
|
 |
Beiträge: 50
|
 |
|
 |
Anmeldedatum: 26.07.15
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 27.07.2015, 23:18
Titel:
|
 |
ich denke nicht das das wirklich eine verbesserung ist den ganzen code zu posten, zumal mein beispiel wirklich wirklich identisch ist, wenn dann drücke ich mich selbst nur etwas blöd aus.
wie zB das mit den Reifen, ich wollte wissen wie viele Reifen da nun drinne sind, das ich vorher selbst den Reifen definiere weis ich ja auch, aber kann ich aus dem ergebnis selbst nun herausextrahieren wie viele das sind ? Also ohne eine rückrechnung amchen zu müssen mein ich damit.
bei eval kommt exakt der gleiche ausdruck raus der vorher schon da stand. als beispiel, da steht
da möchte ich einfach nur das er mir den zweiten teil dann nicht als bruch schreibt und das auch unabhängig vom ersten teil. nur suchte ich auch bereits in diesem forum danach und auch eval war dabei und das brachte nicht das gewünschte ergebnis. Es würde ja schon helfen wenn ich den ausdruck seperieren könnte, nur weis ich auch hier nicht wie
mfg
|
|
|
lovobo |
Themenstarter

Forum-Fortgeschrittener
|
 |
Beiträge: 50
|
 |
|
 |
Anmeldedatum: 26.07.15
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 02.08.2015, 15:30
Titel:
|
 |
keiner da eine idee wie das gehen könnte ?
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.499
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 02.08.2015, 16:25
Titel:
|
 |
Hallo,
Zitat: |
Es würde ja schon helfen wenn ich den ausdruck seperieren könnte |
sym2poly
Grüße,
Harald
|
|
|
lovobo |
Themenstarter

Forum-Fortgeschrittener
|
 |
Beiträge: 50
|
 |
|
 |
Anmeldedatum: 26.07.15
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 31.05.2018, 12:41
Titel:
|
 |
hui, fast drei jahre her und noch immer das gleiche problem
zum einen weiß ich noch immer nicht wie aus dem ergebnis einzelne komponenten herausziehen kann(also dessen anzahl weiß). Ich möchte also nicht nur die ausgangsstoffe erfassen, sondern dann noch alle zwischenschritte. Wenn das überhaupt geht.
zum anderen funktioniert sym2poly nicht
das bekomme ich dabei heraus, wenn ich es mit der funktion probiere
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.499
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 31.05.2018, 23:10
Titel:
|
 |
Hallo,
das Problem scheint dir ja wirklich unter den Nägeln zu brennen, wenn du drei Jahre für eine Reaktion brauchst. Sei's drum.
Eben versucht:
>> syms cobblestone
>> y = 8*cobblestone + 15143/1680
>> z = sym2poly(y)
Funktioniert einwandfrei. Wenn das nicht funktioniert, verwendest du
sym2poly
wohl anders. Dann wäre gut zu wissen wie.
Die Beschreibung des ersten Problems verstehe ich nicht.
Grüße,
Harald
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.499
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 01.06.2018, 10:41
Titel:
|
 |
Hallo,
um die Brüche zu vermeiden, kann auch noch
vpa
helfen.
Grüße,
Harald
|
|
|
|
|
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.
|
|