Punktedarstellung mit Matlab < Matlab < Mathe-Software < Mathe < Vorhilfe
|
Status: |
(Frage) beantwortet | Datum: | 18:19 Fr 03.08.2007 | Autor: | Lena805 |
Hallo,
Ich stelle für meine Diplomarbeit eine Matrix aus Nullen und Einsen dar. Nun möchte ich in diese Matrix konkrete Punkte eintragen. (z.b. (15/4/65)) Die Punkte stehen in einer Matrix der Form 100x3. Hat jemad eine Idee wie man sowas machen könnte?
Oder wie man die Punkematrix in einer anderen Graphik abbilden könnte. Ich habe es schon mit den Funktionen surf (matrix) und mesh (matrix) versucht, aber da werden die Punke nicht einzeln, sondern als Fläche dargestellt.
Diese Aufgabe scheint so einfach zu sein aber irgendwie finde ich keine sinnvolle Funktion.
Vielen Dank im Voraus,
Lena
Ich habe diese Frage in keinem Forum auf anderen Internetseiten gestellt.
|
|
|
|
Hi,
was soll diese Matrix mit Nullen und Einsen? Kannst Du das nochmal erklären?
Diskrete Punkte kannst Du wie folgt plotten, auch in eine vorhandene Grafik:
1: | clear all; close all; clc;
| 2: |
| 3: | A=rand(100,3);
| 4: | t=0:0.02:2*pi;
| 5: | x=0.5+sin(t)/2;
| 6: | y=0.5+cos(t)/2;
| 7: | z=t/(2*pi);
| 8: | plot3(x,y,z);
| 9: |
| 10: | grid on
| 11: | axis square
| 12: | hold on;
| 13: | for i = 1:100
| 14: | plot3(A(i,1),A(i,2),A(i,3),'ro');
| 15: | end;
| 16: |
| 17: | pX=A(:,1);
| 18: | pY=A(:,2);
| 19: | pZ=A(:,3);
| 20: | figure;
| 21: | plot3(x,y,z);
| 22: | grid on
| 23: | axis square
| 24: | hold on;
| 25: | stem3(pX,pY,pZ,'MarkerEdgeColor',[1 0 0],'LineStyle','none'); |
Dateianhänge: Anhang Nr. 1 (Typ: m) [nicht öffentlich]
|
|
|
|
|
Status: |
(Frage) beantwortet | Datum: | 10:15 Mo 06.08.2007 | Autor: | Lena805 |
Die Datei, die dargestellt werden soll besteht aus Nullen und Einsen. Wenn man diese in eine 3 dim Matrix umformt und diese wie unten darstellt, dann wird von Matlab immer die Grenzfläche zwischen 0 und 1 angezeigt und es ergibt sich eine bestimmte Geomtrie, in meinem Fall eine Kugel (wobei a das File ist in dem die 0en und 1en untereinander stehen) :
load [mm] C:\Javaausgabe\a.in
[/mm]
reshape (a, 202,202,202);
p=patch(isosurface(p,0.5))
set(p,'FaceColor','red','EdgeColor','none');
set(p,'FaceAlpha', 0.4);
daspect([1 1 1])
view(3); axis tight
camlight
lighting gouraud
Mein Problem ist, dass ich jetzt noch eine zweite Matrix habe in der konkrete Punkte in dem Format (a b c) stehen, es sind allerdings so viele, dass ich sie nicht manuell darstellen kann.
Danke schon mal für die letzte Antwort, jetzt kann ich zumindest schon mal einen einzelnen Punkt darstellen.
Liebe Grüße,
Lena
|
|
|
|
|
Hi,
wenn A die Matrix mit den konkreten Punkten ist, dann kannst Du doch mit Zeilen 17 bis 19
und dem Befehl stem3 alle Punkte zeichnen lassen, oder nicht?
mfg
nschlange
|
|
|
|