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

Unwandlung von Matritzen in Vektoren und umgekehrt

 

logos23
Forum-Newbie

Forum-Newbie


Beiträge: 6
Anmeldedatum: 03.01.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 03.01.2010, 19:29     Titel: Unwandlung von Matritzen in Vektoren und umgekehrt
  Antworten mit Zitat      
Guten Abend,

ich besuche eine Vorlesung in der Matlab verwendet wird. Dabei gibt auch einen Katalog an Aufgaben, die Matlab verständlicher machen sollen. Bei dieser Aufgabe hänge ich ein bisschen und würde mich freuen wenn mir jemand weiter helfen könne.

%Aufgabe
Es liegt ein Vektor vec vor, der sich aus m Zahlenblöcken mit jeweils n Zahlen zusammensetzt. vec, m
und n sind vorgegeben.
Beispiel: m=2, n=3, vec=[1 4 5 2 3 3]. Es existieren damit zwei Blöcke mit jeweils drei Zahlen, nämlich
(1 4 5) sowie (2 3 3).

a)
Erzeugen Sie einen Vektor pwr, dessen Elemente die Leistungen der Blöcke von vec sind. Es soll also
pwr gleich [ N1 N2 N3 ... Nm ] sein.
Beispiel:Mit den oben genannten Zahlen ist N1 = (1^2+4^2+5^2)/3 = 14 und damit der Vektor pwr gleich [ 14 22/3 ].

b) Wie lässt sich mit MATLAB ein Vektor vec_norm erzeugen, bei dem jeder Block die Leistung Eins besitzt? Dieser Vektor soll so gewonnen werden, dass die Elemente der Blöcke aus vec durch die
zugehörigen Wurzeln aus den Blockleistungen dividiert werden.
Geben Sie (eine) geeignete Befehlszeile(n) an.
Beispiel: Beispiel: Es ist vec_norm gleich [ 1/sqrt(14) 4/sqrt(14) 5/sqrt(14) 2/sqrt(22/3) 3/sqrt(22/3) 3/sqrt(22/3) ].

Schleifen sind bei dieser Aufgabe nicht erlaubt. Als Hinweis steht noch dort, dass man Vektoren in Matrizen und umgekehrt umwandeln kann.
Die erste Aufgabe war kein Problem. Bei der zweiten Frage ich mich jedoch, wie ich es schaffe, eine Matrix spaltenweise durch die Elemente eines Vektors zu teilen.

Code:

vec = [1 4 5 2 3 3];
m = 2;
n = 3;
hilf = ones(n,m);           %Variablen Struktur festlegen
hilf(:) = vec;               %Vektor in Matrix-Struktur von hilf bringen
pwr = sum(hilf.^2)/n        %Sum addiert spaltenweise und gibt Zeilenvektor zurück
 
Private Nachricht senden Benutzer-Profile anzeigen


logos23
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 6
Anmeldedatum: 03.01.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 04.01.2010, 13:35     Titel:
  Antworten mit Zitat      
Habe es jetzt nach langem Kopfzerbrechen rausbekommen. Ich weiß nicht wie ich das kommentieren soll. Mir hat es geholfen, die einzelnen Matritzen skizzenhaft auf ein Papier zu malen, so bin ich auf die Lösung gekommen.

Code:

vec_norm = diag(1./sqrt(pwr))*hilf';
 
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 - 2025 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.