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

Einträge in Matrix miteinander verrechnen

 

steve
Ehrenmitglied

Ehrenmitglied



Beiträge: 2.029
Anmeldedatum: 03.09.07
Wohnort: Wien
Version: R2024a
     Beitrag Verfasst am: 22.04.2008, 15:55     Titel: Einträge in Matrix miteinander verrechnen
  Antworten mit Zitat      
Hallo zusammen,
ich hab da auch mal wieder eine kleine Frage:
Gibt es eine Möglichkeit die Einträge 2x12-Matrix (z.B.) zeilenweise zu verrechnen?

Auf deutsch:
Ich möchte jeden Eintrag der einen Zeile mit jedem Eintrag der anderen Zeile verrechnen. Hat jemand ein Idee, wie man das realisieren könnte?


Gruß
Alex
_________________

>> I told me to.

____________________________________
Matlab Cheat Sheet
goMatlab-Knigge - dran gehalten?!
Schon in den FAQ gesucht?
Ist vielleicht bei den Skripten oder den Tutorials was für dich dabei?
Private Nachricht senden Benutzer-Profile anzeigen


Bijick
Ehrenmitglied

Ehrenmitglied



Beiträge: 914
Anmeldedatum: 18.06.07
Wohnort: Nürnberg
Version: R2006b, R2008b
     Beitrag Verfasst am: 22.04.2008, 16:14     Titel:
  Antworten mit Zitat      
Hallo Alex,

eine Möglichkeit ist, die Zeilen mit meshgrid zu Matrizen aufzublasen und dann elementweise zu rechnen:

Code:
[X,Y] = meshgrid(A(1,:),A(2,:));
X+Y
X.*Y


Multiplikation geht aber auch einfacher:

Code:
A(1,:)'*A(2,:)


Es kommt also etwas darauf an, was Du genau rechnen möchtest. Aber die erste Möglichkeit müsste immer gehen. Falls jemandem meshgrid unheimlich sein sollte (glaube ich bei Dir nicht!), so kann er auch selber rechnen:

Code:
X = A(1,:)' * ones(1,12)
Y = ones(12,1) * A(2,:)


Wobei das vielleicht noch unheimlicher aussieht. Laughing

Herzliche Grüße
Bijick
_________________

>> why
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
steve
Themenstarter

Ehrenmitglied

Ehrenmitglied



Beiträge: 2.029
Anmeldedatum: 03.09.07
Wohnort: Wien
Version: R2024a
     Beitrag Verfasst am: 22.04.2008, 16:48     Titel:
  Antworten mit Zitat      
Hey Bijick,

vielen Dank für des Rätsels Lösung. Das sieht schonmal gut aus Smile

Meshgrid is doch gar nicht so schlimm - solange man sich die Funktion an nem Beispiel zeigen lässt!
Die andere Möglichkeit sieht dagegen doch schon etwas kryptischer aus Wink

Gruß
Alex
_________________

>> I told me to.

____________________________________
Matlab Cheat Sheet
goMatlab-Knigge - dran gehalten?!
Schon in den FAQ gesucht?
Ist vielleicht bei den Skripten oder den Tutorials was für dich dabei?
Private Nachricht senden Benutzer-Profile anzeigen
 
steve
Themenstarter

Ehrenmitglied

Ehrenmitglied



Beiträge: 2.029
Anmeldedatum: 03.09.07
Wohnort: Wien
Version: R2024a
     Beitrag Verfasst am: 22.04.2008, 18:00     Titel:
  Antworten mit Zitat      
Eine Frage habe ich allerdings noch:

Gibt es auch eine schnellere Lösung als mit meshgrid? Denn bei der Matrix Größe (>1e5) rödelt Matlab ne ganze Weile an der Berechnung...

Bei der Verrechnung der Elemente handelt es sich übrigens um eine Subtraktion...

Gruß
Alex
_________________

>> I told me to.

____________________________________
Matlab Cheat Sheet
goMatlab-Knigge - dran gehalten?!
Schon in den FAQ gesucht?
Ist vielleicht bei den Skripten oder den Tutorials was für dich dabei?
Private Nachricht senden Benutzer-Profile anzeigen
 
Bijick
Ehrenmitglied

Ehrenmitglied



Beiträge: 914
Anmeldedatum: 18.06.07
Wohnort: Nürnberg
Version: R2006b, R2008b
     Beitrag Verfasst am: 23.04.2008, 12:04     Titel:
  Antworten mit Zitat      
Hallo Alex,

was Geschwindigkeit angeht, bin ich nicht so fit. Vielleicht ist das hier schneller (aus meshgrid.m geklaut):

Code:
xx = A(1,:);
yy = A(2,:));
X = xx(ones(12, 1),:);
Y = yy(:,ones(1, 12));


Das ist halt die meshgrid-Funktion ohne alle Sicherheitsabfragen. Aber sonst fällt mir nix dazu ein.

Herzliche Grüße
Bijick
_________________

>> why
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.