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

Variable Anzahl von Blöcken, Block Parameter als Eingänge

 

divB
Forum-Anfänger

Forum-Anfänger


Beiträge: 38
Anmeldedatum: 23.10.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 20.05.2010, 16:26     Titel: Variable Anzahl von Blöcken, Block Parameter als Eingänge
  Antworten mit Zitat      
Hi,

Ich hab zwei grundlegende Fragen:
1.) Kann ich die Parameter von Blöcken (z.B. Frequenz bei einem Sinus) von aussen über ein Signal einspeisen oder muss ich diese immer statisch vorgeben?

2.) Kann ich irgendwie (mit einer Art "for"-Block) eine variable Anzahl an Blöcken erstellen und die Ausgaben z.B. summieren?

Konkret will ich ein Signal erstellen das aus einer zufälligen Anzahl K an Sinustönen besteht wobei die jeweiligen Frequenzen ebenfalls zufällig (ganzzahlig) sein sollen...

lg
divB
Private Nachricht senden Benutzer-Profile anzeigen


LittleX
Forum-Guru

Forum-Guru


Beiträge: 494
Anmeldedatum: 14.05.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 25.05.2010, 17:55     Titel:
  Antworten mit Zitat      
Hallo,

ich würde im MATLAB workspace eine Variable mit den gewünschten Frequenzen anlegen:

Code:

k = randi(10,1);
f = randi([2,8],k,1);
 


Im Simulink sine wave block kannst Du dann als frequncy f angeben.
Mit dem sum of elements block kannst Du alles aufsummieren.
Den Code kannst Du z.B. in die model callback Funktion (init oder preload) einfügen, damit werden bei jeder Simulation bzw. bei jedem Laden des Modells neue Frequenzen erzeugt.

Viele Grüße,

LittleX
Private Nachricht senden Benutzer-Profile anzeigen
 
divB
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 38
Anmeldedatum: 23.10.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 01.06.2010, 09:31     Titel:
  Antworten mit Zitat      
Hi, Danke für deine Antwort!

Was ist randi? Bei mir gibt es diesen Befehl weder in Matlab noch in Simulink. Und die Syntax von rand ist auch anders

Zu den variablen Anzahl an Blöcken: Wie meinst du das genau?

Vielen Dank nochmals! divB
Private Nachricht senden Benutzer-Profile anzeigen
 
LittleX
Forum-Guru

Forum-Guru


Beiträge: 494
Anmeldedatum: 14.05.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 02.06.2010, 15:26     Titel:
  Antworten mit Zitat      
Hi,

randi ist ein MATLAB Befehl, der ganzzahlige Zufallszahlen erzeugt. Wenn er bei Dir nicht vorhanden ist, ist Dein MATLAB zu alt.

Du kannst auch rand verwenden:
Code:

k = floor(rand(1)*10+1);  % Anzahl der Sinustöne
f = floor(rand(k,1)*10+1); % Vektor mit zufälligen Frequenzen
 


Die Variablen legst Du im MATLAB workspace an. Im Simulink Modell hast Du dann einen sine wave block (frequency f) und einen sum of elements block.

Viele Grüße,

LittleX
Private Nachricht senden Benutzer-Profile anzeigen
 
divB
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 38
Anmeldedatum: 23.10.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 02.06.2010, 15:44     Titel:
  Antworten mit Zitat      
Jetzt hab' ich das Konzept verstanden. VIELEN DANK!!!!!
Private Nachricht senden Benutzer-Profile anzeigen
 
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.