www.vorhilfe.de
Vorhilfe

Kostenlose Kommunikationsplattform für gegenseitige Hilfestellungen.
Hallo Gast!einloggen | registrieren ]
Startseite · Forum · Wissen · Kurse · Mitglieder · Team · Impressum
Forenbaum
^ Forenbaum
Status Englisch
  Status Grammatik
  Status Lektüre
  Status Korrekturlesen
  Status Übersetzung
  Status Sonstiges (Englisch)

Gezeigt werden alle Foren bis zur Tiefe 2

Navigation
 Startseite...
 Neuerdings beta neu
 Forum...
 vorwissen...
 vorkurse...
 Werkzeuge...
 Nachhilfevermittlung beta...
 Online-Spiele beta
 Suchen
 Verein...
 Impressum
Das Projekt
Server und Internetanbindung werden durch Spenden finanziert.
Organisiert wird das Projekt von unserem Koordinatorenteam.
Hunderte Mitglieder helfen ehrenamtlich in unseren moderierten Foren.
Anbieter der Seite ist der gemeinnützige Verein "Vorhilfe.de e.V.".
Partnerseiten
Weitere Fächer:

Open Source FunktionenplotterFunkyPlot: Kostenloser und quelloffener Funktionenplotter für Linux und andere Betriebssysteme
Forum "Matlab" - 3D erstellen aus mehr vektoren
3D erstellen aus mehr vektoren < Matlab < Mathe-Software < Mathe < Vorhilfe
Ansicht: [ geschachtelt ] | ^ Forum "Matlab"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien

3D erstellen aus mehr vektoren: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 22:09 Mi 21.11.2007
Autor: mfis

Ich habe diese Frage in keinem Forum auf anderen Internetseiten gestellt.

hallo,
zuerst möchte ich voraus schicken, dass ich mich mit MATLAB nicht wirklich auskenne und dies meine ersten versuche sind.

Problem: ich habe mehrere dateien die jeweils aus 3 spalten bestehen, aber mit unterschiedlicher zeilenzahl. jede zeile steht für einen punkt (x,y,z), wobei es sich um normierte werte [0,1] handelt.

die punkte einer Datei sollen jeweils in der gleichen farbe dargestellt werden.

das auslesen funktioniert soweit:
...

fid = fopen('test1.txt');
A = fscanf(fid,'%g %g %g',[3 inf])';
fclose(fid);

PRA=A(:,1);
LWA=A(:,2);
PUA=A(:,3);


fid = fopen('test2.txt');
B = fscanf(fid,'%g %g %g',[3 inf])';
fclose(fid);

PRB=B(:,1);
LWB=B(:,2);
PUB=B(:,3);


fid = fopen('test3.txt');
C = fscanf(fid,'%g %g %g',[3 inf])';
fclose(fid);

PRC=C(:,1);
LWC=C(:,2);
PUC=C(:,3);
...


die frage ist nun, wie diese werte in einem 3D diagramm gleichzeitig dargestellt werden können?

viele grüsse
mfis



        
Bezug
3D erstellen aus mehr vektoren: Antwort
Status: (Antwort) fertig Status 
Datum: 22:50 Mi 21.11.2007
Autor: Martin243

Hallo und [willkommenmr],

es gibt mehrere Möglichkeiten, dies zu erreichen.

1.
Wenn es dir nicht darauf ankommt, die einzelnen Dateiinhalte getrennt aufzubewahren, dann kannst du sie schon beim Einlesen in je einen Vektor packen:
PR = []; LW = []; PU = [];
for i=1:anzahl_dateien,
  A = load(sprintf('test%g.txt', i)); %wegen des einfachen Dateiformats

  PR = [PR ; A(:,1)];
  LW = [LW ; A(:,2)];
  PU = [PU ; A(:,3)];
end;
plot3(PR, LW, PU, '.');


2.
Du willst getrennte Vektoren für jeden Datensatz:
<Einlesen aller Vektoren>
plot([PRA ; PRB ; PRC ; PRD ; ...] , [LWA ; LWB ; LWC ; LWD ; ...] , [PUA ; PUB ; PUC ; PUD ; ...], '.');


3.
Alternativ:
<Einlesen aller Vektoren>
hold on;
plot3(PRA, LWA, PUA, '.');
plot3(PRB, LWB, PUB, '.');
plot3(PRC, LWC, PUC, '.');
...
hold off;


Ich würde auf jeden Fall etwas mit Schleifen empfehlen, wenn die Dateinamen alle nach dem gleichen Muster aufgebaut sind.


Gruß
Martin

Bezug
                
Bezug
3D erstellen aus mehr vektoren: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 23:21 Mi 21.11.2007
Autor: mfis

das ging ja super schnell.
vielen dank!
hab die letzte variante erstmal genutzt und fkt. soweit.

mich würde jetzt noch interessieren, wie man die punkte farblich kennzeichnen kann in derart, dass alle punkte einer datei die gleiche farbe erhalten.

vielleicht noch zum hintergrund:
die punkte innerhalb einer datei repräsentieren eine pareto-)lösungsmenge bzw paretofront eines mehrkriteriellen optimierungsproblems. datei 1 ist die exakte lösung. alle anderen lösungen sind lösungen heuristischer verfahren. so dass durch dass diagramm die annäherung an die exakte front ersichtlich werden soll.
so in etwa soll es aussehen:
[Dateianhang nicht öffentlich]



Dateianhänge:
Anhang Nr. 1 (Typ: png) [nicht öffentlich]
Bezug
                        
Bezug
3D erstellen aus mehr vektoren: Antwort
Status: (Antwort) fertig Status 
Datum: 00:03 Do 22.11.2007
Autor: Martin243

Hallo,

> mich würde jetzt noch interessieren, wie man die punkte farblich kennzeichnen kann in derart, dass alle punkte einer datei die gleiche farbe erhalten.

Das geht per:
plot3(<Daten>,'.', 'Color', [r g b]);
mit [mm] $r,g,b\in[0 [/mm] ; 1]$.

Man kann natürlich auch die Form der "Punkte" verändern. Schau dir mal die Hilfe zu plot an.


Gruß
Martin

Bezug
Ansicht: [ geschachtelt ] | ^ Forum "Matlab"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien


^ Seitenanfang ^
www.englischraum.de
[ Startseite | Forum | Wissen | Kurse | Mitglieder | Team | Impressum ]