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

Aus 3 Vektoren eine Matrix erzeugen.

 

hatschy
Forum-Newbie

Forum-Newbie


Beiträge: 3
Anmeldedatum: 23.06.14
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 23.06.2014, 15:02     Titel: Aus 3 Vektoren eine Matrix erzeugen.
  Antworten mit Zitat      
Hi!
Also ich schreibe an meiner Diplomarbeit. Die hat mit WiFI Fingerprinting zu tun. Ich habe eine App die mir WLAN Scan in eine TXT schreibt. Dabei wird jeder Gefunden Access Point und die dazu gehörigen Infos in je einer Zeile Gespeichert.
Ein Scan besteht aus mehren Zeilen. Und in der TXT sind meher Scan gespeichert.
Ein Scan möchte ich als Vektor darstellen. Wobei jeder AP eine Id hat und einen Scan Level.
Alle Scan lassen dann als Matrix darstellen.

Prinzipille habe ich dazu schon eine Funktion gemacht, aber da diese mit Schleifen arbeitet dauert das sehr lange.
Jetzt möchte ich das besser machen.

Ich haben eine Structur WIFIPOINTS
Folgen Vektoren kann ich auslesen für Postion 9905

Code:
% Alle Access Point IDS
 AP_ID=[WIFIPOINTS([WIFIPOINTS.pointID]==9905 & [WIFIPOINTS.dirction_ID]==1).AP_ID];

% Stärle der AP
    LEV=[WIFIPOINTS([WIFIPOINTS.pointID]==9905 & [WIFIPOINTS.dirction_ID]==1).level];

% Id die ein Scan idendiefziert
    timeStamp=[WIFIPOINTS([WIFIPOINTS.pointID]==9905 & [WIFIPOINTS.dirction_ID]==1).timestamp];

% Damit habe ich dein Anzahl von scans
[b, m, ScanID]=unique(timeStamp);
 


Die Vektoren haben eine Größe von 1x1121 Werten.
Es gibt 30 Scans( und 289 AP. Kann ich diese in ein 30x289 Matrix abbilden.
Ich steh grad an!

Wäre schon wenn mir wer einen Tip geben kann.
Private Nachricht senden Benutzer-Profile anzeigen


TurboUlli
Forum-Anfänger

Forum-Anfänger


Beiträge: 35
Anmeldedatum: 26.05.14
Wohnort: NRW
Version: 2014a
     Beitrag Verfasst am: 23.06.2014, 18:56     Titel:
  Antworten mit Zitat      
Hi,

da ich nicht in deiner Arbeit mental drin bin, ist es teilweise schwierig nachzuvollziehen, was du meinst.
Ich verstehe noch nicht so ganz wie deine Daten aussehen.
Was ist das für ein Vektor, der 1x1121 groß ist?
Bitte etwas übersichtlicher darstellen.

Und meinst du in Vektoren zusammenführen wie z.B. das hier?

Code:

% irgendein Vektor der Größe 1x1121
A1 = rand(1, 1121);
% irgendein anderer Vektor der Größe 1x1121
A2 = rand(1, 1121);

% den ersten Vektor in die Matrix packen
M = A1
% den zweiten Vektor in die Matrix einhängen
M = [M; A2];

% usw.
 


Oder möchtest du am Ende ein Struct haben?
Private Nachricht senden Benutzer-Profile anzeigen
 
hatschy
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 3
Anmeldedatum: 23.06.14
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 23.06.2014, 20:18     Titel:
  Antworten mit Zitat      
Okay ich hab es vielleicht nicht gut erklärt.
Daher am besten ein Bsp.
Ich messe an einem Punk X
Es werden 3 Durchgänge gemessen.
sagen es gibt insgesamt 8 Access Points

Bei einem WLan-Scan werden merhe AP gefunden aber jeder nur 1 pro Durchlauf. Welche scan zusammen gehören wird über den Zeitstempel bestimmt.

Dann schaut das bei mir so aus
Code:

AP_ID=[2 5 1 6 2 5 1 7 2 5 1 8]

LEV=[-55 -60 -90 -55 -60 -90 -55 -60 -90 -55 -60 -90]

% Bildet ab welche scan der AP zu einem Durchlauf gehören
% stehen für die Startzeit des gesamten scans
timeStamp=[501 501 501 501 608 608 608 912 912 912 912 912]

% Man könnte es aber auch so betrachten
timeStampID=[1 1 1 1 2 2 2 3 3 3 3 3]

%Haben will
LeveMat =

   -90   -55   NaN   NaN   -60   -55   NaN   NaN
   -55   -60   NaN   NaN    90   NaN   NaN   NaN
   -60   -90   NaN   NaN   -55   NaN   -60   -90
%1 Zeile steht für einen gesamten Scan durchlauf
% in den Spalten stehen für die Ids der AP


Mit einer Schleife bekomme ich das natürlich hin, aber bei 10.000 Datensätzen dauert das ewig.

Mein Ansatz ist
Code:
LeveMat=NaN(3,8);
% Da sollten jetzt die Werte aus LEV verwendet werden
LeveMat(timeStampID,AP_ID)=%????


So ich glaub jetzt ist klarer was ich meine..
Hoffentlich
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.