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

Ebene in 3-dimensionales Koordinatensystem plotten

 

cey
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 69
Anmeldedatum: 16.03.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 19.03.2012, 15:37     Titel: Ebene in 3-dimensionales Koordinatensystem plotten
  Antworten mit Zitat      
Hallo zusammen. Ich habe folgendes Problem und hoffe ihr könnt mir helfen:

Ich habe eine Funktion der Form:

 y=-2+\frac{2}{3} x_1  -  \frac{5}{3} x_2  + \frac{1}{3} x_3

Das ist eine Ebene, die zwei Punktmengen voneinander trennen soll. Ich kriege es irgendwie nicht hin, diese Ebene einzuzeichnen in Matlab.

Kann mir da jemand helfen? LG
Private Nachricht senden Benutzer-Profile anzeigen


Winkow
Moderator

Moderator



Beiträge: 3.842
Anmeldedatum: 04.11.11
Wohnort: Dresden
Version: R2014a 2015a
     Beitrag Verfasst am: 19.03.2012, 15:40     Titel:
  Antworten mit Zitat      
das sind doch 4 variablen. oder ist y eine konstante?
3d flächen kann man mit
Code:
plotten
so zb
Code:
x=-10:10;
y=-10:10;
[X,Y]=meshgrid(x,y);
x3=@(x1,x2,y) (y+2-2/3*x1+5/3*x2)*3;
Z=x3(X,Y,1);
surf(X,Y,Z)
Private Nachricht senden Benutzer-Profile anzeigen
 
cey
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 69
Anmeldedatum: 16.03.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 19.03.2012, 16:43     Titel:
  Antworten mit Zitat      
Also irgendwie raffe ich es nicht:

In deinem Beispiel wähle ich ja die Variablen x und y selbst, indem ich sage

Code:
x=-10:10;
y=-10:10;


wenn ich doch jetzt statt y z so wähle, sieht meine Ebene doch anders aus. Ich brauchte aber eine ebene im Raum, die die beiden Punktwolken trennt.

Also irgendwie begreife ich das gerade nicht.

Kann mir da nochmal jemand helfen?
Private Nachricht senden Benutzer-Profile anzeigen
 
Winkow
Moderator

Moderator



Beiträge: 3.842
Anmeldedatum: 04.11.11
Wohnort: Dresden
Version: R2014a 2015a
     Beitrag Verfasst am: 19.03.2012, 16:50     Titel:
  Antworten mit Zitat      
das x und y sind in meinem fall die werte x1 und x2 . wenn du x2 in abhängigkeit von x1 und x3 nimmst siht die gleichung anders aus ja. das y in der funktions definition ist nicht das y von -10:10 sondern das y aus deiner formel oben. wenn das nicht das ist was du willst solltest du dein problem nochmal genauer erklären.
Private Nachricht senden Benutzer-Profile anzeigen
 
cey
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 69
Anmeldedatum: 16.03.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 19.03.2012, 16:56     Titel:
  Antworten mit Zitat      
Bevor ich das nochmal ausprobiere, schreibe ich es nochmal besser auf:

wenn f = (...die Funktion...)

dann muss der Code so aussehen:

Code:
x=-10:10;
y=-10:10;
[X,Y]=meshgrid(x,y);
x3=@(x1,x2,f) (f+2-2/3*x1+5/3*x2)*3;
Z=x3(X,Y,1);
surf(X,Y,Z)
Private Nachricht senden Benutzer-Profile anzeigen
 
Winkow
Moderator

Moderator



Beiträge: 3.842
Anmeldedatum: 04.11.11
Wohnort: Dresden
Version: R2014a 2015a
     Beitrag Verfasst am: 19.03.2012, 17:08     Titel:
  Antworten mit Zitat      
genau das ist das was ich oben gepostet hab ^^ das y 2 mal verschieden benutzt wurde war vieleicht etwas verwirrend da geb ich dir recht.
Private Nachricht senden Benutzer-Profile anzeigen
 
cey
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 69
Anmeldedatum: 16.03.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 19.03.2012, 17:14     Titel:
  Antworten mit Zitat      
Okay. Ich beschreibe nochmal ausführlich was ich machen will. Ich habe zwei Punktmengen A und B die folgendermaßen definiert sind:

Code:
a1= [2 3 6 4 3 4 3 2 5 3 3 4];
a2 = [3 4 5 4 2 7 5 4 6 6 3 5];
a3= [1 2 1 2 1 2 1 2 1 2 1 2];

b1 = [5 4 7 3 4 5 4 5 6 5 6 6];
b2= [4 3 5 3 4 2 2 5 7 3 4 6];
b3 = [5 6 5 6 5 6 5 6 5 6 5 6];


Und diese Funktion soll die beiden Punktwolken trennen:

Code:
f=-1,05958118719550+0,551113434826141*x1-0,301800214309553*x2+1,97669767695294*x3;


So und, nun würde ich gerne diese Funktion/Ebene so einzeichen, dass sie die beiden Punktwolken trennt. Das kriege ich nämlich nicht hin.
Private Nachricht senden Benutzer-Profile anzeigen
 
Winkow
Moderator

Moderator



Beiträge: 3.842
Anmeldedatum: 04.11.11
Wohnort: Dresden
Version: R2014a 2015a
     Beitrag Verfasst am: 19.03.2012, 17:25     Titel:
  Antworten mit Zitat      
du hast immernoch nicht angegeben ob du f kennst oder rätst oder ob es auch berechnet werden soll.
mit rumprobieren kommt man mit dem was ich oben gepostet ab auf zb :
Code:
a1= [2 3 6 4 3 4 3 2 5 3 3 4];
a2 = [3 4 5 4 2 7 5 4 6 6 3 5];
a3= [1 2 1 2 1 2 1 2 1 2 1 2];
b1 = [5 4 7 3 4 5 4 5 6 5 6 6];
b2= [4 3 5 3 4 2 2 5 7 3 4 6];
b3 = [5 6 5 6 5 6 5 6 5 6 5 6];  
plot3(a1,a2,a3,'*','color','red')
hold on
plot3(b1,b2,b3,'*','color','blue')
x3=@(x1,x2,f) (f-(-1.05958118719550+0.551113434826141*x1-0.301800214309553*x2))/1.97669767695294;
x=1:8;
y=2:8;
[X,Y]=meshgrid(x,y);
Z=x3(X,Y,8);
surf(X,Y,Z)
Private Nachricht senden Benutzer-Profile anzeigen
 
cey
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 69
Anmeldedatum: 16.03.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 19.03.2012, 17:27     Titel:
  Antworten mit Zitat      
Entschuldige die Parameter für f kenne ich, habe sie ausgerechnet
Private Nachricht senden Benutzer-Profile anzeigen
 
Winkow
Moderator

Moderator



Beiträge: 3.842
Anmeldedatum: 04.11.11
Wohnort: Dresden
Version: R2014a 2015a
     Beitrag Verfasst am: 19.03.2012, 17:29     Titel:
  Antworten mit Zitat      
ist das problem jetzt damit gelöst?
Private Nachricht senden Benutzer-Profile anzeigen
 
cey
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 69
Anmeldedatum: 16.03.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 19.03.2012, 17:31     Titel:
  Antworten mit Zitat      
Ja, das ist super nett von dir. Smile

so wollte ich haben.

Danke
Private Nachricht senden Benutzer-Profile anzeigen
 
cey
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 69
Anmeldedatum: 16.03.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 19.03.2012, 18:01     Titel:
  Antworten mit Zitat      
Okay, da bin ich nochmal. ich weiß jetzt nicht ob ich total bescheuert bin, aber ich habe mal eine andere Punktwolke genommen und wollte mir die Ebene plotten, aber es passt irgendwie nicht. Ich weiß nicht was ich fasch mache oder vielleicht wichtiges nicht beachte. Ich poste mal meine Parameter:

Code:
a1 = [0,529164   0,50625 0,53035 0,55092  0,52828 0,53733]
a2 = [0,47295  0,47293  0,47297  0,47294  0,47295  0,47294];
a3 = [0,6549585  0,6644447 0,658742  0,6616399  0,65794936  0,67793


Code:
b1 = [0,2064788  0,2167866  0,21343255 0,217108  0,219617 0,2173145]
b2 = [0,4729485  0,4729649  0,47296735  0,4729887 0,472975  0,472954]
b3 = [0,7912018  0,8106655 0,81179  0,814831  0,82411 0,827832]



Und die Funktion dazu hat folgende Parameter:

Code:
f = 614.6093 + 26.2980x1 -1322,4277x2 -25,9125x3


Und die Ebene die ich da rausbekomme ist nicht korrekt. Kannst du mir da nochmal helfen?
Private Nachricht senden Benutzer-Profile anzeigen
 
Winkow
Moderator

Moderator



Beiträge: 3.842
Anmeldedatum: 04.11.11
Wohnort: Dresden
Version: R2014a 2015a
     Beitrag Verfasst am: 19.03.2012, 18:43     Titel:
  Antworten mit Zitat      
ist dir klar das du dein f anpassen must? als wert?
Private Nachricht senden Benutzer-Profile anzeigen
 
cey
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 69
Anmeldedatum: 16.03.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 19.03.2012, 18:54     Titel:
  Antworten mit Zitat      
Ich merke schon, heute ist nicht mein Tag. Ich hoffe mit anpassen meinst du, dass Ich nach X3 umformen muss. Wenn nicht, dann weiss Ich gerade nicht was du meinst
Private Nachricht senden Benutzer-Profile anzeigen
 
cey
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 69
Anmeldedatum: 16.03.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 19.03.2012, 20:04     Titel: Mein Lösungsweg
  Antworten mit Zitat      
Code:
a1 = [0,529164   0,50625 0,53035 0,55092  0,52828 0,53733]
a2 = [0,47295  0,47293  0,47297  0,47294  0,47295  0,47294];
a3 = [0,6549585  0,6644447 0,658742  0,6616399  0,65794936  0,67793];

b1 = [0,2064788  0,2167866  0,21343255 0,217108  0,219617 0,2173145]
b2 = [0,4729485  0,4729649  0,47296735  0,4729887 0,472975  0,472954]
b3 = [0,7912018  0,8106655 0,81179  0,814831  0,82411 0,827832]

 
plot3(a1,a2,a3,'*','color','red')
hold on
plot3(b1,b2,b3,'*','color','blue')
x3=@(x1,x2,f) (f-(614.6093 + 26.2980x1 -1322,4277x2))/-25,9125;
x=0:1;
y=0:1;
[X,Y]=meshgrid(x,y);
Z=x3(X,Y,1);
surf(X,Y,Z)
 


Vielleicht hast du da noch ne Idee?

Gruß
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen

Gehe zu Seite 1, 2  Weiter

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.