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

Alle möglichen Kombinationen

 

StereoCamera
Forum-Anfänger

Forum-Anfänger


Beiträge: 31
Anmeldedatum: 13.06.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 13.10.2011, 13:38     Titel: Alle möglichen Kombinationen
  Antworten mit Zitat      
Hi, ich suche im n - Dimensionalen raum jeweils die eckpunkte.

ich habe für jede Dimension grenzen (min/max).
Die Eckpunkte sind
z.B in 2 Dimensionen -> min1/min2, min1/max2, max1/min2, max1/max2

für 3 dimensionen hätte ich dementsprechend 8 werte.

wie kann ich das ganze jetzt in Matlab implementieren, wenn ich die Grenzwerte und die Dimensionanzahl habe.

Das wird ja mit for schleifen zu realisieren sein, aber ich habe das problem das ganze von der Dimensionsanzahl allgemein abhängig zu machen, sodass es für jede x biliebige Dimension klappt.

Kann mir einer weiterhelfen? Danke schonmal
Private Nachricht senden Benutzer-Profile anzeigen


Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 13.10.2011, 14:41     Titel: Re: Alle möglichen Kombinationen
  Antworten mit Zitat      
Hallo StereoCamera,

Das problem wird einfacher, wenn man es in eine andere Darstellung bringt. Wenn Du für "min1" 0 schreibst und für "max1" 1, erhälst Du für die Ecken in 2D:
00, 01, 10, 11
In 3D:
000, 001, 010, 011, 100, 101, 110, 111
Kommst Dir das bekannt vor?

Zum Schluß kannst Du es dann ja wieder in die vorherige Darstellung bringen.

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
StereoCamera
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 31
Anmeldedatum: 13.06.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 13.10.2011, 14:47     Titel:
  Antworten mit Zitat      
wie soll mir das weiterhelfen. kann Matlab mir eine matrix mit den binärwerten von bitanzahl = Dimensionsanzahl geben ?
Private Nachricht senden Benutzer-Profile anzeigen
 
Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 13.10.2011, 15:36     Titel:
  Antworten mit Zitat      
Hallo StereoCamera,

Ja.

Und wenn es dies nicht könnte, wäre BITAND eine gute Idee.

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
StereoCamera
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 31
Anmeldedatum: 13.06.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 13.10.2011, 16:34     Titel:
  Antworten mit Zitat      
Hier eine lösund, welche ich mit meinen Betreuer erabeitet habe:
Unabhängig von der dimensionsanzahl und der Paramter begrenzung ( z.b. min/max/mitte)
Code:
function res = combinations(A)
%  create all possible combinations of Elements, taking one element of each
%  line of A per combination. Results in size(A,2)^size(A,1) combinations.


if size(A,1) ==1
    res = A';
    return;
end

res2            = combinations(A(2:end,:));

L               = size(res2,1);
L2              = size(A,2);

res             = zeros(L2*L, size(res2,2)+1);

res(:,2:end)    = repmat(res2,L2,1);
res(:,1)        = reshape(repmat(A(1,:),L,1),[],1);


end
Private Nachricht senden Benutzer-Profile anzeigen
 
Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 14.10.2011, 00:54     Titel:
  Antworten mit Zitat      
Hallo StereoCamera,

Eine hübsche Lösung.

Ich dachte an:
Code:
dec2bin(0:2^n-1);
% Oder als numerisches Array anstatt einer CHAR matrix:
C = rem(floor(bsxfun(@times, (0:2^n-1)', pow2(1-n:0))), 2);

Gruß, Jan
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.