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

Poygonzug verfeinern

 

rooky
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 76
Anmeldedatum: 25.04.12
Wohnort: ---
Version: 2012a
     Beitrag Verfasst am: 12.05.2013, 22:43     Titel: Poygonzug verfeinern
  Antworten mit Zitat      
Hallo,
ich habe eine Frage und bitte euch um Hilfe. Ich habe einen Polygonzug mit mehreren Punkten (hier als Beispiel mit 4 Punkten):
Code:

P1.x=[0 1 1 0];
P1.y=[0 0 10 10];
 

1) Gibt es irgend einen Möglichkeit den Polygonzug (die 4 Linien) zu verfeinern. Also überall z.B. 10 Punkte einfügen. Dann wäre aber der Zug von 0-1 sehr fein.
2) Gibt es daher noch eine andere Möglichkeit jeden Abschnitt des polygons in z.B. 0.5 Abschnitte zu zerlegen?

Danke für jede Hilfe
Private Nachricht senden Benutzer-Profile anzeigen


rooky
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 76
Anmeldedatum: 25.04.12
Wohnort: ---
Version: 2012a
     Beitrag Verfasst am: 13.05.2013, 07:17     Titel:
  Antworten mit Zitat      
Ich haette gerne so was gemacht:
Code:

Pp1.x=[-8 -6  -6  -9  -9  -8]
Pp1.y=[4  4  0  0  5  5]

xi = (Pp1.x(1):.25:Pp1.x(end))
yi = interp1q(Pp1.x,Pp1.y,xi)
 

Geht aber leider nicht
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: 13.05.2013, 09:35     Titel:
  Antworten mit Zitat      
Zitat:
Geht aber leider nicht

das siht auf den ersten blick natürlich wie eine genaue fehlerbeschreibung aus aber wenn man genauer drauf achtet entpuppt es sich doch als unzureichend.
was geht den nicht? welche fehlermeldung tritt auf. was wir als erstes an deinem besipiel auffällt ist zb das du xi von -8 bis -8 laufen lässt. also ist xi -8. auf einen wert zu interpolieren ist recht schwer. weiterhin ist in deiner matrix alles doppelt belegt. wo da der sinn ist versteh ich auch nicht ganz. wenn normale werte nimmst dann funktioniert dein oben beschriebener code schon recht gut.
Code:
x=-10:10
y=x.^2

xi = (x(1):.25:x(end))
yi = interp1q(x',y',xi')
plot(x,y,xi,yi)

p.s.
wenn du schon weist das du einen polygonzug hast könntest du auch mit spline arbeiten und nicht nur linear.
Private Nachricht senden Benutzer-Profile anzeigen
 
rooky
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 76
Anmeldedatum: 25.04.12
Wohnort: ---
Version: 2012a
     Beitrag Verfasst am: 13.05.2013, 15:21     Titel:
  Antworten mit Zitat      
Winkow hat Folgendes geschrieben:
das siht auf den ersten blick natürlich wie eine genaue fehlerbeschreibung aus aber wenn man genauer drauf achtet entpuppt es sich doch als unzureichend.

Genau desshalb hab ich das Beispiel auch gemacht. Da sieht gleich jeder, dass man von -8 bis -8 nicht interpolieren kann. Das ist ja mein Problem. Ich habe immer, und das hab ich nicht geschrieben, geschlossene Polygonzuege. Wie in meinem Beispiel. Daher klappt das eben mit dem interp1q nicht. Ich wollte das nur verdeutlichen.
Winkow hat Folgendes geschrieben:
wenn du schon weist das du einen polygonzug hast könntest du auch mit spline arbeiten und nicht nur linear.

Das ist aber eine gute Idee. Ich weiss jetzt nur nicht, wie ich da vorgehen soll. kannst du mir da ein Beispiel geben.
Danke
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: 13.05.2013, 15:24     Titel:
  Antworten mit Zitat      
hmm wenn der polygonzug geschlossen ist würde ich versuchen ihn einfach in 2 teile aufzusplitten damit ich dann wieder interpolieren kann. quasi einen oberen und einen unteren teil.
Private Nachricht senden Benutzer-Profile anzeigen
 
rooky
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 76
Anmeldedatum: 25.04.12
Wohnort: ---
Version: 2012a
     Beitrag Verfasst am: 13.05.2013, 15:33     Titel:
  Antworten mit Zitat      
und wenn es senkrecht nach oben geht. Dann habe ich schon mindestens vier. Ich weiss nicht so recht? Beim spline würde ich ja auch die Fehlermeldung "The data sites should be distinct." erhalten.
Und noch zur allg. Info warum ich das mache. Die Linien werden dann auf eine Fläche projiziert und als Linienintegral auf addiert. Daher brauche ich mehrere Punkte, sonst wird mein Ergebnis zu ungenau.
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: 13.05.2013, 15:56     Titel:
  Antworten mit Zitat      
hmm wie wäre es mit einer schleife die zwischen zwei werten immer den mittelwert der beiden einfügt. ? das wäre ja quasi lin interpoliert.
Private Nachricht senden Benutzer-Profile anzeigen
 
rooky
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 76
Anmeldedatum: 25.04.12
Wohnort: ---
Version: 2012a
     Beitrag Verfasst am: 13.05.2013, 16:07     Titel:
  Antworten mit Zitat      
Ja das wäre auch meine fall back Lösung. Aber ich dachte mir, bevor ich da anfange frag ich erst mal ob es nicht eine bekannte Lösung gibt.
Aber hilft nix. Da werd ich wohl anfangen müssen mir was eigenes zu programmieren.
Danke nochmal für deine Unterstützung
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.