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

Embedded Matlab Function - Matrix Operationen

 

Lisa

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 31.03.2010, 10:41     Titel: Embedded Matlab Function - Matrix Operationen
  Antworten mit Zitat      
Hallo,

Ich versuche über eine Embedded Matlab Function in Simulink die erste Zeile einer Matrix ausgeben zulassen, jedoch erhalte ich mit der Anweisung bloß den ersten Spaltenvektor :

Code:

A=M(1,:); %M ist die Matrix
 


Ich habe es bereits auch mit dem Block 'Submatrix' aus der Simulink Library versucht, jedoch ohne Erfolg. Kann mir jemand helfen vernünftige Einstellungen für den Block Submatrix herauszufinden oder für meine Embedded Matlab Function? Über einen Denkanstoß würde ich mich freuen!
Vielen Dank im Voraus!
Lisa


Zenon
Forum-Guru

Forum-Guru


Beiträge: 292
Anmeldedatum: 20.01.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 31.03.2010, 11:18     Titel:
  Antworten mit Zitat      
Mit deiner Anweisung solltest Du den Inhalt der ersten Zeile A zuweisen.

Weshalb ich davon ausgehe, dass die Matrix M die Werte nicht so enthält, wie Du das gerne hättest bzw. erwartest. Wurde die Matrix evtl. irgendwo transponiert (z.b. M = M')? Vielleicht führt dich auch einfach M(:,1) zum Ziel, liest zwar die erste Spalte aus, aber vielleicht suchst du ja diese Werte...

Wenn nichts klappt, einfach mal den Code posten.
Private Nachricht senden Benutzer-Profile anzeigen
 
Lisa

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 01.04.2010, 08:28     Titel:
  Antworten mit Zitat      
Hallo und Dabke für die schnelle Antwort,

ich bereits einiges rum probiert, auch schon das mit den Spalten....
ich bin echt am verzweifeln, irgendwie bekomm ich dann sogar eine 3 dimensionale mtrix und so späße also ich poste nochmal den code:

hiermit erstelle ich die Matrix, aus der ich nur die erste zeile haben möchte
mit hilfe einer Embedded MatLab Function und die Werte für die Variablen werden über die Block-Parameterbox des Subsystems eingegeben

Code:
K=2*(sqrt(2*log(2)));
sigma=FWHM/K;

Vin=(1/(sqrt(2*pi)*sigma))*exp(-(((x-x0)).^2)/(2*sigma^2));
 


dann leite ich den Ausgang, also Vin in die neue Embedded MatLab Function und benutze den Code den ich schon bei meinem ersten Eintrag gepostet habe....
 
Zenon
Forum-Guru

Forum-Guru


Beiträge: 292
Anmeldedatum: 20.01.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 01.04.2010, 09:31     Titel:
  Antworten mit Zitat      
FWHM ist irgendeine Konstante bzw. skalare Größe oder?

Wie bekommst Du denn aus Vin jetzt deine Matrix?
Private Nachricht senden Benutzer-Profile anzeigen
 
Lisa

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 01.04.2010, 09:39     Titel:
  Antworten mit Zitat      
also FWHM ist ne skalare Größe und x ist ein Vektor, entschuldige bitte, das hätte ich sofort schreiben sollen.....
 
Zenon
Forum-Guru

Forum-Guru


Beiträge: 292
Anmeldedatum: 20.01.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 01.04.2010, 09:58     Titel:
  Antworten mit Zitat      
Verwirrend...mit x als Vektor bekommst Du aber doch auch nur einen Vektor raus (oder steh ich hier aufm Schlauch?) und keine "echte" Matrix

Je nachdem ob X ein Zeilen oder Spaltenvektor ist, ändert sich natürlich auch der Vin Vektor. Ist x ein Zeilenvektor, ist auch Vin ein Zeilenvektor und wenn Vin = M dann ergibt

Code:

A = Vin(1,:);
 


natürlich den gesamten Vektor...

Code:

A = Vin(:,1);
 


aber nur den ersten Eintrag.

Alternativ könnte man auch versuchen den x Vektor mal zu transponieren.

Gib dir doch mal alle Matrizen und Vektoren aus und schau mal was in Vin steht, was in M steht und was in A steht und was du mit dem jeweiligen Befehl A zugewiesen hast...

Ich brauche mehr Details Wink ...aber ich habe das Gefühl es ist irgendetwas simples, was wir hier übersehen...
Private Nachricht senden Benutzer-Profile anzeigen
 
Lisa

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 01.04.2010, 10:10     Titel:
  Antworten mit Zitat      
ich lad mal die .mdl datei hoch....
ich hab mir nämlich auch immer alle Ausgänge in die workspace ausgeben lassen, und da ist Vin definitiv ne Matrix....

Laser.mdl
 Beschreibung:

Download
 Dateiname:  Laser.mdl
 Dateigröße:  69.58 KB
 Heruntergeladen:  609 mal
 
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.