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

Analyse der Streuung von Punkten

 

karle

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 20.05.2014, 14:38     Titel: Analyse der Streuung von Punkten
  Antworten mit Zitat      
Hallo,

ich habe einige konvergierende Geraden und diese treffen auf einen Halbkreis. Damit ergeben sich Schnittpunkte, die bekannt sind.
Wenn ich nun aber den Radius des Halbkreises variiere, habe ich sehr viele "Ebenen an Schnittpunkten".

Sinn ist jener: Ich möchte gerne jenen Radius finden, bei dem die Streuung der Schnittpunkte am kleinsten ist und somit meine Strahlen (Geraden) mehr oder weniger einen Brennpunkt haben.

Oder: Wie berechne ich die Streuung von Punkten (definiert durch x- und y-Koordinaten)? --> kleinste Streuung zeigt den Brennpunkt.

Ich hoffe, dies verständlich erklärt zu haben. Kann mir jemand helfen?


karle

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 20.05.2014, 15:03     Titel:
  Antworten mit Zitat      
ich möchte doch noch etwas weiter erklären:
die beste methode wäre es, den abstand zwischen jedem schnittpunkt auszurechnen. da die zahl der geraden und somit auch der schnittpunkte aber variabel ist, fällt mir keine lösung dazu ein.

arrayfun und bsxfun sind, soweit ich das verstanden habe, auch keine lösung, da diese nicht differenzen zwischen ALLEN elementen zweier vektoren bilden, sondern immer nur paarweise.
d.h. bei zwei vektoren mit 4 elementen kommen nicht 6 sondern nur vier differenzen heraus.

zu hilf! bitte...
 
karle

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 28.05.2014, 15:01     Titel:
  Antworten mit Zitat      
für alle, die jemals diesen thread finden werden und ein ähnliches problem haben:
ich hab das problem nun so gelöst:
Code:
clear
clc

a = round(rand*20+1);
b = round(rand*10+1);
x = rand(a,b);
y = rand(a,b);
clear a b

asize = size(x);
n = (asize(2)*(asize(2)-1))/2;
fprintf('Die Anzahl an Punkten ist: %d\n', n);

%ZIEL: differenzen aller spalten für jede zeile...
z = NaN(asize(1), n);

for j = 1 : asize(1)
    l = 1;
    for k = 1 : asize(2)-1
        temp = x(j, k) - x(j, k+1:end);
        bsize = length(temp);
        z(j, l:l+bsize-1) = temp;
        l = l + bsize;
    end
   
end

clear j k l temp bsize


%und nun das ganze mit differenzen aus zwei matrizen (somit wird der
%abstand zwischen den puntken berechnet)
z2 = NaN(asize(1), n);
for j = 1 : asize(1)
    l = 1;
    for k = 1 : asize(2)-1
        tempx = x(j, k) - x(j, k+1:end);
        tempy = y(j, k) - y(j, k+1:end);
        tempz = sqrt(abs(tempx).^2 + abs(tempy).^2);
        bsize = length(tempz);
        z2(j, l:l+bsize-1) = tempz;
        l = l + bsize;
    end
end
clear j k l tempx tempy tempz bsize


hier werden die differenzen zwischen allen elementen des/der vektors/vektoren berechnet.
 
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.