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

bsxfun für non-builtin-Funktionen?

 

Buhmann
Forum-Anfänger

Forum-Anfänger



Beiträge: 30
Anmeldedatum: 25.05.11
Wohnort: ---
Version: R2012b
     Beitrag Verfasst am: 23.02.2012, 11:07     Titel: bsxfun für non-builtin-Funktionen?
  Antworten mit Zitat      
Hallo zusammen! Brauche wieder einmal einen Rat Smile

Ich habe eine Liste von k 2D-Koordinaten in einer kx2-Matrix.
Von diesen Koordinaten habe ich eine Referenzkoordinate mittels bsxfun subtrahiert:
Code:

refcoords = bsxfun(@minus,coords,AxisCoords')
 

Nun möchte ich von jeder Zeile in refcoords der Betrag dieser Vektoren mit norm() berechnen. Natürlich ohne Schleife. Das ist wie die vorherige auch eine Operation, die auf alle Zeilen der Matrix angewendet werden soll. Mit bsxfun ist das aber leider nicht möglich, da bsxfun nach der Funktion zwei Parameter erwartet.
(Anschließend soll mir min() die Koordinate bzw. Zeile mit dem kleinsten Betrag ausgeben)

Gibt's da eine Lösung ohne for-Schleife?
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden


Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 23.02.2012, 13:48     Titel: Re: bsxfun für non-builtin-Funktionen?
  Antworten mit Zitat      
Hallo Buhmann,

Die Euklisische Norm kannst Du entweder direkt berechnen, oder ein schnelles C-mex-file verwenden:
Direkt:
Code:
X = rand(100, 200);
N = sqrt(sum(X .* X));


C-Mex:
http://www.mathworks.com/matlabcentral/fileexchange/29035-dnorm2
Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
Buhmann
Themenstarter

Forum-Anfänger

Forum-Anfänger



Beiträge: 30
Anmeldedatum: 25.05.11
Wohnort: ---
Version: R2012b
     Beitrag Verfasst am: 26.02.2012, 22:31     Titel:
  Antworten mit Zitat      
OK, manchmal ist es doch das einfachste, es händisch zu machen Smile
Danke.
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 - 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.