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

Berechnung eines Vektors aus Matrix

 

nufan

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 27.09.2010, 16:00     Titel: Berechnung eines Vektors aus Matrix
  Antworten mit Zitat      
Hallo Leute,

bin totaler Neuling in Sachen Matlab und sonstigen Programierungssachen. Ich habe eine Matrix mit zwei Spalten. Einmal meine Zeit in der einen Spalte und das andere mal die gemesene Leistung P. Insgesammt sind es 6.002 Zeilen.
Ich würde nun gerne eine neue Matrix bzw einen Vektor erstellen, der mir die über die Formel P=U*I --> I= P/U bei konstanter Spannung alle Werte für I berechnet. Nur hab ich grad keine Ahnung wie ich anfangen soll. Sad
Über Hilfe wäre ich sehr dankbar!
Viele Grüße
Chris


Sco
Forum-Meister

Forum-Meister


Beiträge: 699
Anmeldedatum: 15.08.10
Wohnort: Dundee
Version: 2008a, 2010a
     Beitrag Verfasst am: 27.09.2010, 16:25     Titel:
  Antworten mit Zitat      
Hallo,

dies ist eine sehr einfache Aufgabe, die du eigentlich mit der Matlab Hilfe oder einem kurzen Blick in ein "Getting Started with Matlab" selber loesen kannst!
Code:

% Erstellen einer Beispieltabelle mit Spalte 1: Zeit; Spalte 2: Leistung
tab(:,1) = 1:10; % Zeit
tab(:,2) = rand(1,10); % Leistung
P = tab(:,2); % Erstellen eines Vektors "P" aus allen Daten der 2. Spalte der Tabelle (Vektor "tab")
U = 250; % Festlegen des Spannungswertes
I = P/U % Berechnung der Stromstaerke
 

MFG

Sco
Private Nachricht senden Benutzer-Profile anzeigen
 
nufan

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 27.09.2010, 16:36     Titel:
  Antworten mit Zitat      
Hi dank dir für deine Antwort. Aber ich versteh deinen Ansatz leider nicht wirlich. Für jemanden der sich schon länger damit beschäftigt mag das recht einfach sein, aber für mich ist das nachvollziehen sogar schon eine Herrausforderung.
Ich möchte ja nur einen neuen Vektor, der die Werte aus der zweiten Spalte keiner Matrix durch einen konstaten Wert teilt.
Kann ich das ganze nicht mit einer for schleife oder sowas machen? Wäre das nicht einfacher?
Viele Grüße
 
Sco
Forum-Meister

Forum-Meister


Beiträge: 699
Anmeldedatum: 15.08.10
Wohnort: Dundee
Version: 2008a, 2010a
     Beitrag Verfasst am: 27.09.2010, 16:55     Titel:
  Antworten mit Zitat      
Hallo,

Zitat:

Ich möchte ja nur einen neuen Vektor, der die Werte aus der zweiten Spalte keiner Matrix durch einen konstaten Wert teilt.

Dies geht zusammengefasst so (matrix = variable "mat"):
Code:

P = mat(:,2)/250 % mat(:,2) sind alle Werte der 2. Spalte, 250 ist dein Wert durch den du teilen moechtest
 

Matlab teilt den Wert 250 automatisch durch ALLE Elemente der 2. spalte und speichert die Ergebnisse in einem Neuen Vektor P (hat die selbe Anzahl an Daten wie die 2. spalte in mat)
Zitat:

Kann ich das ganze nicht mit einer for schleife oder sowas machen? Wäre das nicht einfacher?

Natuerlich geht das, aber dies ist (besonders) bei grossen Datenmengen bedeutend langsamer und definitiv nicht einfacher. Matlab sein Vorteil liegt in der schnellen Berechnung von Matrizen (wurde dafuer auch urspruenglich entwickelt), die natuerlich auch mit Matrixoperationen ausgenuzt werden sollte. Also anstatt von der Schleife:
Code:

for k = 1:length(mat)
    P(k) = mat(k,2)/250;
end
 

sollte nach Moeglichkeit immer die Matrixoperation genommen werden:
Code:

P = mat(:,2)/250
 


Hoffe dies hilft erstmal, ansonsten bitte mal ein Getting started lesen, es gibt sehr viele gute (kostenlose) Einfuehrungen in Matlab.

MFG

Sco
Private Nachricht senden Benutzer-Profile anzeigen
 
nufan

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 27.09.2010, 17:01     Titel:
  Antworten mit Zitat      
Ah, super, jetzt habe ich es geschnallt. Danke!
Super Forum hier Laughing
 
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.