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

Werte vergleichen und zuordnen

 

absoluter_beginner

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 15.05.2012, 13:06     Titel: Werte vergleichen und zuordnen
  Antworten mit Zitat      
Moin zusammen,

ich habe ein in meinen Augen recht komplexes Problem.
Es existieren zwei unterschiedlich große Matrizen (8760x4 und 3027x3)

Matrix 1:
Postleitzahl | geogr. Breite | geogr. Länge | Einwohnerzahl

Matrix 2:
Pixelnummer | geogr. Breite | geogr. Länge

In der ersten Matrix sind in Spalte 2 und Spalte 3 geographische Koordinaten (Breiten- und Längengrad) hinterlegt. In Spalte 4 befindet sich die dazugehörige Einwohnerzahl.

In der zweiten Matrix sind in Spalte 2 und Spalte 3 ebenfalls Koordinaten hinterlegt. Diese sind alledings nicht so exkat wie die aus Matrix 1, weil sie zu einem Deutschland-Raster (3027pixel a 0,125x0,125 Grad) gehören.

Die Aufgabe besteht darin, die Einwohnerzahlen aus Matrix 1 aufsummiert den Pixelnummern aus Matrix 2 zuzuordnen, sodass am Ende eine Matrix rauskommt, die nur noch die Einwohnerzahl für jedes der 3027 Pixel enthält.

Ich zerbreche mir schon seid Stunden den Kopf und wäre über Hilfe sehr dankbar...

der absolute_beginner


tschun
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 73
Anmeldedatum: 05.04.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 15.05.2012, 13:42     Titel:
  Antworten mit Zitat      
Hi,

Was hältst du davon? Sucht für jeden Punkt aus Matrix 1 den Pixel mit dem geringsten Abstand.

Code:
A; % Matrix 1
B; % Matrix 2
C=zeros(size(B,1),1); % Vektor mit Einwohnerzahl für jeden Punkt
for i=1:length(A)
   p1=A(i,2:3);
   bla=B(:,2:3);
   [~,idx]=min(sum(bsxfun(@minus,bla,p1).^2,2));
   C(idx)=C(idx)+A(i,4);
end
Private Nachricht senden Benutzer-Profile anzeigen
 
absoluter_beginner

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 15.05.2012, 14:04     Titel:
  Antworten mit Zitat      
hmm,

also wenn ich dein Code verwende kommen definitiv falsche Werte raus. Das kann so also nicht stimmen.

Leider fehlt mir das KnowHow um sagen zu können was da falsch ist.

Noch jemand eine Idee?

Trotzdem besten Dank
 
absoluter_beginner

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 15.05.2012, 14:41     Titel:
  Antworten mit Zitat      
also,

ich habe mal die Summen aus der ursprünglichen Matrix und der resultierenden c-Matrix gebildet.
Die Einwohner-Summen stimmen dabei überein, allerdings sind alle Einwohner in nur 6 Pixeln beheimatet, was nicht stimmen kann.

Ich steh auf dem Schlauch...
 
MaFam
Forum-Meister

Forum-Meister


Beiträge: 799
Anmeldedatum: 02.05.12
Wohnort: ---
Version: R2009b
     Beitrag Verfasst am: 15.05.2012, 14:51     Titel:
  Antworten mit Zitat      
Hallo,

du schreibst, dass die geo. Werte aus der 2. Matrix nicht so genau sind. Wie machst du denn dann den Abgleich? Es müsst doch sowas wie eine Fehlertoleranz betrachtet werden, also wie groß darf die Abweichung sein? Diesen Schritt würde ich zunächst klären.

Grüße, Marc
Private Nachricht senden Benutzer-Profile anzeigen
 
absoluter_beginner

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 15.05.2012, 15:00     Titel:
  Antworten mit Zitat      
Hallo,

die geo-Werte aus Matrix 2 sind die Mittelpunkte von 3027 Rasterpixeln. Um die Einwohner der 8670 PLZ-Gebiete (geo-Werte hier sind auch Mittelpunkte) den Pixeln zuzuordnen, müsste es doch genügen, wenn ich jeweils das Pixel wähle, welches am ehesten dem PLZ-Koordinaten entspricht.

Eine maximale Abweichung benötige ich hierfür meiner Meinung nach nicht.

Gruß
 
MaFam
Forum-Meister

Forum-Meister


Beiträge: 799
Anmeldedatum: 02.05.12
Wohnort: ---
Version: R2009b
     Beitrag Verfasst am: 15.05.2012, 15:03     Titel:
  Antworten mit Zitat      
Ja, aber definiere "am ehesten dem PLZ-Koordinaten entspricht".
Private Nachricht senden Benutzer-Profile anzeigen
 
absoluter_beginner

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 15.05.2012, 15:09     Titel:
  Antworten mit Zitat      
Welcher Pixel-Mittelpunkt am nähesten an dem PLZ-Mittelpunkt liegt, soll die Einwohnerzahl des PLZ-Bereiches zugeordnet bekommen.
 
MaFam
Forum-Meister

Forum-Meister


Beiträge: 799
Anmeldedatum: 02.05.12
Wohnort: ---
Version: R2009b
     Beitrag Verfasst am: 15.05.2012, 15:13     Titel:
  Antworten mit Zitat      
Und was ist mit dem Zweitnächsten?
Private Nachricht senden Benutzer-Profile anzeigen
 
absoluter_beginner

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 15.05.2012, 15:16     Titel:
  Antworten mit Zitat      
Der ist meiner Meinung nach nicht relevant, weil die PLZ-Bereiche ohnehin kleiner sind als das Raster von Pixeln, dass ich über Deutschland lege.
 
MaFam
Forum-Meister

Forum-Meister


Beiträge: 799
Anmeldedatum: 02.05.12
Wohnort: ---
Version: R2009b
     Beitrag Verfasst am: 15.05.2012, 15:18     Titel:
  Antworten mit Zitat      
OK, verstehe. Und kann der Fall eintreten, dass zwei Pixel den gleichen Abstand haben? Hast du auf vollständige Zuordnung geprüft?
Private Nachricht senden Benutzer-Profile anzeigen
 
absoluter_beginner

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 15.05.2012, 15:27     Titel:
  Antworten mit Zitat      
Das könnte passieren, ist aber sehr unwahrscheinlich.
Leider kann ich ja noch nicht richtig zuordnen, weil ich keine passenden Befehle kenne. Oder meinst du das jeder PLZ bzw jedem Pixel Koordinaten zugeordnet sind? Letzteres ist der Fall.
 
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.