2012-09-18 12 views
5

Soweit ich weiß, werden Stateflow und Simulink häufig gleichzeitig verwendet und sind beide von MathWorks entwickelte Umgebungen, die Matlab herstellen. Darf ich wissen, was ist der Unterschied zwischen ihnen?Was ist der Unterschied zwischen Stateflow und Simulink?

+0

Haben Sie versucht, die MathWorks-Webseiten zu lesen? Welche anderen Dinge hast du untersucht? Was ist dein gegenwärtiges Verständnis, kannst du es erklären? Was sehen Sie als Gemeinsamkeiten und Gemeinsamkeiten? Worüber bist du noch verwirrt? Die Beantwortung dieser Fragen hilft anderen Menschen, Ihnen die Hilfe zu geben, die Sie benötigen. – AndrewC

+0

Ja, ich habe die Webseiten gelesen. Meiner Meinung nach sind das alles gute Maschinen. Da ist Staat, Übergang. Der Unterschied besteht lediglich darin, dass es im Simulink kontinuierliche Variablen gibt. –

+0

Mein Punkt war, dass deine Frage ein bisschen offen war, dein gegenwärtiges Verständnis nicht offen legte und klang, als ob du wolltest, dass wir die Produktbeschreibungen für dich lesen. Ich habe MatLab verwendet, aber weder Stateflow noch Simulink. Mein Verständnis ist, dass Stateflow eine spezielle domänenspezifische Umgebung innerhalb von Simulink ist, die speziell für diskrete Logik verwendet wird, während Simulink ein allgemeineres Paket mit einer Vielzahl von Tools ist. Ich bin kein Experte. Vielleicht ist jemand anderes. Ich habe weitere Tags hinzugefügt, um Ihre Frage einem breiteren Publikum zugänglich zu machen. – AndrewC

Antwort

12

Simulink ist weitgehend eine auf die Steuerung ausgerichtete Lösung. Es stellt mathematisch mathematische Produkte, Summen, Integrale usw. dar. Es fehlt jedoch die konditionelle Logik. Jede Art von if Konstrukt wird schnell meiner Meinung nach knapp und unüberschaubar. Ich habe viele Modelle gesehen, und hier ist eine klare Grenze, wo Simulink enden sollte und Stateflow anfangen sollte.

Stateflow behandelt sehr gut Logik und natürlich State-Maschinen. Jetzt, mit dem Hinzufügen der Simulink Function Blöcke innerhalb von Stateflow, haben wir eine mächtige Kombination, um es der State Machine in Stateflow zu ermöglichen, den Rest des Programms zu steuern.

Soweit Funktionalität geht, sind sie beide funktional abgeschlossen, was bedeutet alles, was Sie in C codieren können, können Sie in Simulink oder Stateflow codieren. Ich würde jedoch nicht empfehlen, eine PID-Schleife in Stateflow zu programmieren, aber es ist möglich. Sie könnten auch einfach eine Zustandsmaschine in Simulink erstellen, aber ich würde davon abraten.

Soweit Code-Generierung; Zu Beginn der Meldung hatten Stateflow und Simulink separate Code-Generatoren, die bei der Codegenerierung mit mehr Simulink-generiertem C-Code zusammengenäht wurden. Dann kam CGIR (Code Generation Intermediary Representation), die den Code-Generator zwischen Stateflow und Simulink vereinheitlicht. Es kam um das Jahr 2007 herum und erzielte weiterhin erhebliche Leistungssteigerungen. Der generierte Code hat die Zielperformance bis zu einem Punkt erhöht, an dem Unternehmen den Code in ihren eingebetteten Systemen verwenden können und tatsächlich eine Leistung erhalten, anstatt einen kleinen Schlag zu machen. Auch die Zeit, um den Code zu generieren, hat sich ebenfalls wesentlich verringert. CGIR ist ein Ersatz für den Zielsprachen-Compiler, fürchtet jedoch niemals, dass TLC-API immer noch verfügbar ist, vielleicht für immer für diejenigen, die umfangreiche Bibliotheken von proprietären Codegenerierungsbibliotheken entwickelt haben.

Hoffe das hilft, lassen Sie mich wissen, wenn etwas faul klingt oder wenn ich klären muss.

0

Erfahren Sie mehr über Stateflow® im allgemeinen bei: http://www.mathworks.com/products/stateflow/examples.html

Stateflow® wurde für die es sehr einfach aktualisiert state machines zu erstellen und Flussdiagramme in R2012b.

Die Hauptaktualisierungen umfassen einen neuen grafischen Editor, Statusübergangstabellen, MATLAB als Aktionssprache und einen integrierten Debugger. Finden Sie kurze Videos für diese Funktionen und wie sie bei verwendet werden:

http://www.mathworks.com/products/stateflow/whatsnew.html

besten, Siddharth

0

Ich bin derzeit auch mit beiden Simulink und Stateflow beteiligt. Bis jetzt habe ich alles in Simulink gemacht, aber sobald Sie Logik implementieren müssen (wenn, Fall) wird Ihr Modell visuell schwierig, nach dem Codieren analysiert zu werden. Aber ich denke theoretisch kannst du alles auch nur in Simulink machen (korrigiere mich wenn ich falsch liege).

Die Antwort von Macduff erklärt sehr gut die Unterschiede.

Grüße, GR

1

a Stateflow Webinar Zitiert:

Simulink wird verwendet, um kontinuierliche Veränderungen der dynamischen Veränderungen zu reagieren. Stateflow wird verwendet, um auf augenblickliche Änderungen dynamischer Änderungen zu reagieren. Reale Systeme müssen sowohl auf kontinuierliche als auch auf augenblickliche Änderungen reagieren. Verwenden Sie Simulink und Stateflow, damit Sie das richtige Werkzeug für den richtigen Job verwenden können. Beispiele: Die Fahrwerkdynamik eines Autos wird mit Simulink modelliert, während die Getriebeübertragung mit Stateflow modelliert wird.