|
|
"einfaches Problem" oder doch nicht? |
|
ska78 |
Forum-Anfänger
|
|
Beiträge: 14
|
|
|
|
Anmeldedatum: 01.02.08
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 23.03.2008, 09:23
Titel: "einfaches Problem" oder doch nicht?
|
|
Hallo zusammen und frohe Ostern,
ich sitze gerade über folgendem Problem:
Ich würde gerne in Simulink in eine Variable schreiben und diese direkt wieder aus dem Zyklus vorher auslesen.
Seltsamerweise hatte das einmal in einem anderen Projekt funktioniert. Nur jetzt nicht mehr. Das vereinfachte Programm habe ich in den Anhang gestellt!
Im Endeffekt soll dann da eine Variable mit 100 Zeilen entstehen, die von 1-99 hochzählt. Nicht das Zählen ist das Wichtige, sondern das man from Workspace nimmt und in die gleiche Variable wieder rein schreibt.
Hat jemand eine Idee?
Vielen Dank für jede HILFE.
Viele Grüße
Die
Beschreibung: |
Matlab und Simulink File zu meinem Problem. Vereinfachte Version. |
|
Download |
Dateiname: |
Test.zip |
Dateigröße: |
4.97 KB |
Heruntergeladen: |
855 mal |
|
|
|
|
|
jack |
Forum-Fortgeschrittener
|
|
Beiträge: 71
|
|
|
|
Anmeldedatum: 28.12.07
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 23.03.2008, 11:11
Titel:
|
|
Hi, was passiert denn, wenn du die Simulation startest?
Gruß
Jack
|
|
|
ska78 |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 14
|
|
|
|
Anmeldedatum: 01.02.08
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 23.03.2008, 11:27
Titel:
|
|
Hallo Jack,
dann bekomme ich folgende Meldungen:
Warning: The model 'testmodell' does not have continuous states, hence using the solver 'VariableStepDiscrete' instead of the solver 'ode45' specified in the Configuration Parameters dialog.
> In testfile at 13
Warning: Using a default value of 1.98 for maximum step size. The simulation step size will be limited to be less than this value.
> In testfile at 13
und dieVariable simmod ist von Zeile 1 bis 100 mit lauter Einsen gefüllt.
Und somit funktioniert das nicht so, wie ich das brauche. Vom Prinzip her müsste ja immer die letzte Variable ausgelesen werden und der dann 1 dazuaddiert werden. Aber irgendwie fängt das Programm immer wieder bei 0 an.
Hoffe, Du verstehst, was ich meine.
Hast Du eine Idee?
Vielen Dank und einen schönen Ostersonntag.
Viele Grüße
Dee
|
|
|
jack |
Forum-Fortgeschrittener
|
|
Beiträge: 71
|
|
|
|
Anmeldedatum: 28.12.07
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 23.03.2008, 13:15
Titel:
|
|
OK - dann benutze doch am besten den diskreten Löser...
Außerdem hast du ungleich lange Zeilenvektoren generiert (siehe unten)!
|
|
|
ska78 |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 14
|
|
|
|
Anmeldedatum: 01.02.08
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 23.03.2008, 15:01
Titel:
|
|
Hallo Jack,
nochmals danke für Deine Antwort.
Was meinst Du mit diskretem Löser?
Bei mir sind die Längen alle gleich auf 100.
Verstehe gerade nicht, wieso das bei Dir im Beispiel anders ist.
Ich lade das Beispiel noch einmal hoch, obwohl es das Gleiche sein sollte.
Im endeffekt will ich das ja in eine Embedded Funktion einbauen. Also den Zwischenteil der Addition und der Constanten 1.
Freue mich auf Deine Antwort.
Viele Grüße
Dee
Beschreibung: |
Matlab und Simulink File meines Problems. |
|
Download |
Dateiname: |
Test.zip |
Dateigröße: |
4.97 KB |
Heruntergeladen: |
838 mal |
|
|
|
jack |
Forum-Fortgeschrittener
|
|
Beiträge: 71
|
|
|
|
Anmeldedatum: 28.12.07
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 23.03.2008, 15:34
Titel:
|
|
man man man
also doppelklickt auf
From Workspace
dann unter sample-time eine 1 eintragen
simulationsdauer auf 99 (neben dem play-button)
nun testfile nochmal durchlaufen lassen und anschließend play zum starten der simulation klicken!
|
|
|
ska78 |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 14
|
|
|
|
Anmeldedatum: 01.02.08
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 23.03.2008, 15:51
Titel:
|
|
Hallo Jack,
nochmals Danke. Sorry, aber ich bin nicht so bewandert in Matlab/Simulink.
Es sieht momentan so aus, dass wenn ich den Play-Button drücke die Variable simmod immer komplett um 1 erhöht wird (also alle 100 Zeilen).
Aber ich versuche, dass ich nur mit dem Aufruf aus Matlab beim "einmaligen Durchlauf" alle Zahlen nacheinander erhöhen. Quasi 1, 2, 3, 4 ..., 100.
Das ursprüngliche Problem habe ich ein paar Threads weiter unten schon einmal gepostet. Ich verstehe einfach nicht, wieso ich eine Variable nicht abspeichern kann und dann den Wert des vorherigen Zykluses wieder abrufen und verändern kann usw.
Oder gibt es eine Alternative?
Nochmals vielen Dank für Deine Bemühungen.
Viele Grüße
Dee
|
|
|
HansWerner |
Forum-Fortgeschrittener
|
|
Beiträge: 58
|
|
|
|
Anmeldedatum: 21.03.08
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 23.03.2008, 17:23
Titel: Warum so umständlich ?
|
|
Habe mich mit der Datei nicht auseinandergesetzt, aber warum so umständlich ? Wenn es mit einem Memory-Block nicht geht dann verwende doch einen Data Store.
|
|
|
ska78 |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 14
|
|
|
|
Anmeldedatum: 01.02.08
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 23.03.2008, 17:27
Titel:
|
|
Hallo HansWerner,
danke für Deine Antwort. Auf diese Idee bin ich auch schon gekommen. Leider hat die Umsetzung wegen fehlender Kenntnisse nicht geklappt. Und die Hilfe von Matlab hat mich auch nicht wirklich weitergebracht. Ich muss mal ein Beispiel suchen und es dann erneut so probieren.
Vielen Dank für Deine Hilfe
Viele Grüße und frohe Ostern
Dee
|
|
|
ska78 |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 14
|
|
|
|
Anmeldedatum: 01.02.08
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 26.03.2008, 21:45
Titel:
|
|
Hallo,
konnte das Problem mit einem Unit-Delay-Block lösen. Dort konnte ich dann auch den Startwert initialisieren.
Danke Euch allen.
Viele Grüße
Dee
|
|
|
|
|
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 - 2024
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.
|
|