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

Zwei Arrays zu höherdimensionalem Array multiplizieren ?

 

Kjess

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 09.10.2008, 00:17     Titel: Zwei Arrays zu höherdimensionalem Array multiplizieren ?
  Antworten mit Zitat      
Hallo Matlab-Freunde,

ich habe eine Frage. Wenn ich zwei eindimensionale Arrays mit sagen wir mal je 10 Werten habe, wie kann ich dann einen zweidimensionalen Array daraus machen, indem alle Werte des ersten mit allen Werten des zweiten multipliziert werden ?? Und wie kann ich auch drei eindimensionalen einen dreidimensionalen machen ?
In APL gibt es dazu eine Funktion namens "outer product". In Matlab bin ich neu, und habe nichts gefunden.

LG Kjess


Maddy
Ehrenmitglied

Ehrenmitglied



Beiträge: 494
Anmeldedatum: 02.10.08
Wohnort: Greifswald
Version: ---
     Beitrag Verfasst am: 09.10.2008, 00:38     Titel:
  Antworten mit Zitat      
Wenn du zwei Zeilen-Vektoren hast z.B.

Code:
x=[1 2 3 4 5];
y=[6 7 8 9 0];

skalar=x*y' %  y wird dabei mittles ' zu einem Spaltenvektor --> Zeilen-Vektor * Spalten-Vektor ergibt das Skalarprodukt

matrix=x'*y % x wird dabei mittels ' zu einem Spaltenvektor --> Spalten-Vektor * Zeilen-Vektor ergibt eine Matrix

 


Grundlage ist dabei einfach die normale Matrizen-Multiplikation.
_________________

>> why
The computer did it.
Private Nachricht senden Benutzer-Profile anzeigen
 
Kjess

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 09.10.2008, 12:11     Titel:
  Antworten mit Zitat      
vielen Dank !

eine FRage noch :wie kann man sie dividieren ? da kommt immer eine Fehlermeldung
 
Maddy
Ehrenmitglied

Ehrenmitglied



Beiträge: 494
Anmeldedatum: 02.10.08
Wohnort: Greifswald
Version: ---
     Beitrag Verfasst am: 09.10.2008, 14:01     Titel:
  Antworten mit Zitat      
Code:

A/y % ergibt x'

A'/x % ergibt y'

_________________

>> why
The computer did it.
Private Nachricht senden Benutzer-Profile anzeigen
 
Kjess

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 13.10.2008, 02:02     Titel:
  Antworten mit Zitat      
Vielen Dank erst einmal für eure Hilfe !

ich schreibe am besten mal hin, worum es eigentlich geht. Ich möchte eine Gleichung d = (a/b)^c in einer 3D-Matrix verwirklichen. Ich habe für a und b jeweils 1000, für c 20 Werte. Alle möglichen Kombinationen für a,b und c sollen berücksichtigt werden. Nun suche ich nach einem möglichst einfachen und kurzen Verfahren. In APL geht das mit einer Zeile. Ist das in Matlab auch schön kurz möglich ?
 
Maddy
Ehrenmitglied

Ehrenmitglied



Beiträge: 494
Anmeldedatum: 02.10.08
Wohnort: Greifswald
Version: ---
     Beitrag Verfasst am: 13.10.2008, 11:20     Titel:
  Antworten mit Zitat      
Code:
[X,Y,Z]=meshgrid(x,y,z);
d=(X./Y).^Z;

_________________

>> why
The computer did it.
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.