WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Größe von Arrays bestimmen (in Simulink)?

 

EteZabel
Forum-Anfänger

Forum-Anfänger


Beiträge: 46
Anmeldedatum: 06.05.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 08.05.2009, 07:23     Titel: Größe von Arrays bestimmen (in Simulink)?
  Antworten mit Zitat      
Ich habe in Simulink mir mit dem "Random Number" Zufallszahlen erzeugen lassen, diese Zahlen habe ich in einen Array mit "To Workspace" abgelegt. Kann ich auch die Größe des Arrays selbst festlegen oder wird dies vom "To Workspace 1" automatisch festgelegt?

Ich benötige nämlich diese Zufallszahlen in einem weiteren Modell in Simulink als Eingangssignal. Wenn ich dabei schlicht und einfach den "Random Number" kopiere, an dieser anderen Stelle einfüge, die Zufallszahlen wieder erzeugen lasse, in ein "To Workspace 2" schreibe und die beiden "To Workspace" inhaltlich miteinander vergleiche, stelle ich leider fest, dass das erzeugte Array eine unterschiedliche Anzahl von Felder hat. Wie bekomme ich die beiden Arrays auf die identische Anzahl von Felder?

Bitte um HILFE......
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden


Andreas Goser
Forum-Meister

Forum-Meister


Beiträge: 3.654
Anmeldedatum: 04.12.08
Wohnort: Ismaning
Version: 1.0
     Beitrag Verfasst am: 08.05.2009, 09:03     Titel:
  Antworten mit Zitat      
Angenommen die Workspacevariable ist auf array eingestellt ist das Ergbnis eine nx1 Matrix, wobei n die Anzahl der Simulationsschritte ist. Damit hängt es von verschiedenen Einstellungen ab wie viele Elemente es sind. Beispiel Fixed-Step ist auf 0.1 s eingestellt, die Sample-Time des Blocks auch und die Simulation dauert 100s => n=1001 Werte

Man das noch erweitern indem man die Parametern im Block mit eckigen Klammern versieht: [0 0] bei "mean" erzeugt dann nx2 Werte.

Andreas
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
EteZabel
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 46
Anmeldedatum: 06.05.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 08.05.2009, 10:59     Titel:
  Antworten mit Zitat      
Wo stelle ich denn die Fixed-Step ein???
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
EteZabel
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 46
Anmeldedatum: 06.05.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 08.05.2009, 13:55     Titel: Structproblem...
  Antworten mit Zitat      
Hallo,

hier ist mein Simulink-Modell. Ich möchte das erzeugte Eingangssignal, das auf dem Scope zu sehen ist, in einem Struct speichern um dieses Signal in einem anderen Modell mit Hilfe des "From Workspace" wieder zu verwenden. Ich habe gelesen, dass ich ein Struct neben muss, da das Signal den zeitlichen Verlauf ansonsten verlieren würde.

Also in dem Modell "eingangssignal_s.mdl" wird das Eingangssignal erzeugt und gespeichert. Dann wird dieses Signal im Modell "gasverdichter_v5_s.mdl" auf den Eingang geschaltet. Gleichzeitig benötige ich die Werte aus dem Signal, daher habe ich das Array zusätzlich erzeugen lassen, um eine Konstante Kq2 (Schieberstellung) berechnen zu können. Das Array braucht dieselben Werte, wie das Eingangssignal, ohne Zeit, nur die Werte. Oder kann ich auch direkt die Werte aus dem Struct lesen???

Wenn ich das Modell "starten" (mit "gasverdichter_fv5_s.m" lassen möchte, kommt eine Fehlermeldung. Wisst ihr, was das für ein Fehler ist?

Ich bin für Eure Hilfe sehr dankbar und auch für ein lauffähiges Modell...Laughing

Gruß,
EteZabel

eingangssignal_s.mdl
 Beschreibung:

Download
 Dateiname:  eingangssignal_s.mdl
 Dateigröße:  20.31 KB
 Heruntergeladen:  650 mal
gasverdichter_fv5_s.m
 Beschreibung:

Download
 Dateiname:  gasverdichter_fv5_s.m
 Dateigröße:  2.04 KB
 Heruntergeladen:  650 mal
gasverdichter_v5_s.mdl
 Beschreibung:

Download
 Dateiname:  gasverdichter_v5_s.mdl
 Dateigröße:  40.55 KB
 Heruntergeladen:  652 mal
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
Andreas Goser
Forum-Meister

Forum-Meister


Beiträge: 3.654
Anmeldedatum: 04.12.08
Wohnort: Ismaning
Version: 1.0
     Beitrag Verfasst am: 08.05.2009, 14:10     Titel:
  Antworten mit Zitat      
Meine Fehlermeldung sagt einfach, dass man mit einer Struktur keine "geteilt durch" Rechenoperation durchführen kann. Wenn Zeile 44 so aussieht rennt es:

Code:

Kq2=oup2/esignal_array.signals.values(i,1);
 
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
EteZabel
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 46
Anmeldedatum: 06.05.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 08.05.2009, 14:33     Titel: Structfehler beseitigt, ...
  Antworten mit Zitat      
Danke, der Fehler mit dem Struct ist beseitigt.

Jedoch habe ich einmal die Eingangssignale vergleichen. Das Signal aus "eingangssignal_s.mdl" ist nicht gleich mit dem Eingangssignal "gasverdichter_v5_s.mdl", wenn ich die beiden Scopes vergleiche. Wie kommt dies denn nun? Ich möchte doch mit den gleichen Signalen arbeiten?
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
Andreas Goser
Forum-Meister

Forum-Meister


Beiträge: 3.654
Anmeldedatum: 04.12.08
Wohnort: Ismaning
Version: 1.0
     Beitrag Verfasst am: 08.05.2009, 15:20     Titel:
  Antworten mit Zitat      
Die Signale sind ähnlich aber nicht identisch. Das hat mit Interpolationseffekten zu tun. Die Schrittweiten des Solvers sind hoch, der Solver ist auf variable Schrittweite eingestellt. Ich kann den numerischen Hintergrund der Simulation nicht beurteilen, aber wenn die Solver auf Fixed-Step (Configuration Parameters) und kleinere Schrittweite eingestellt werden löst es sich vielleicht ohne theoretische Tiefe Smile

Andreas
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

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 | goMatlab RSS Button 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.