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

Krümmung eines vektors bestimmen

 

ms1080
Forum-Century

Forum-Century


Beiträge: 203
Anmeldedatum: 02.12.09
Wohnort: ---
Version: R2009
     Beitrag Verfasst am: 21.10.2010, 08:14     Titel: Krümmung eines vektors bestimmen
  Antworten mit Zitat      
hi

ich habe einen vektor der eine Krümmung aufweist, der vektor ist mir anhand von 100 punkten gegeben, wobei ich die ersten und letzten 10 vernachlässigen kann.
kann ich mit mathlab auf eine einfache art und weise die krümmung berechnen bzw. ermitteln.
kann man das anhand des plots machen?

bitte um hilfe und vorschläge!

mfg nitram
Private Nachricht senden Benutzer-Profile anzeigen


Achi
Forum-Guru

Forum-Guru


Beiträge: 250
Anmeldedatum: 14.04.10
Wohnort: ---
Version: R2007a
     Beitrag Verfasst am: 21.10.2010, 08:17     Titel:
  Antworten mit Zitat      
Schau dir mal polyfit an!

Gruß Achi
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
ms1080
Themenstarter

Forum-Century

Forum-Century


Beiträge: 203
Anmeldedatum: 02.12.09
Wohnort: ---
Version: R2009
     Beitrag Verfasst am: 21.10.2010, 08:28     Titel:
  Antworten mit Zitat      
ja das mache ich grade schon, aber danke für den tip.

polyfit erzeugt mir aus meinem vektor ein polynom? richtig

wie berechne ich dann jetzt die krümmung?

1. Ableitung und da den punkt einsetzen?

bitte um reaktion!

mfg nitram
Private Nachricht senden Benutzer-Profile anzeigen
 
Achi
Forum-Guru

Forum-Guru


Beiträge: 250
Anmeldedatum: 14.04.10
Wohnort: ---
Version: R2007a
     Beitrag Verfasst am: 21.10.2010, 09:41     Titel:
  Antworten mit Zitat      
Polyfit gibt dir die Koeffizienten zurück. Kleines Bsp:

>> x=[1 2 3 4 5]
x =
1 2 3 4 5
>> y=[1 2 3 4 5]
y =
1 2 3 4 5
>> polyfit(x,y,1)
ans =
1.0000 -0.0000

1 ist die Steigung.
Wenn du deine Steigung auf die x-Achse beziehst kannst du mit:
atand(1) den Winkel berechnen!
ans =
45
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
ms1080
Themenstarter

Forum-Century

Forum-Century


Beiträge: 203
Anmeldedatum: 02.12.09
Wohnort: ---
Version: R2009
     Beitrag Verfasst am: 21.10.2010, 09:53     Titel:
  Antworten mit Zitat      
hi achi

ansich verstehe ich das schon, aber irgendwo habe ich da jetzt ne blockade.


Code:

py = data1_x_verkippt(10:90);
px = X(10:90);
polynom_x = polyfit(px, py, 1);
ableitung1 = diff (polynom_x);
ableitung2 = diff (ableitung1);
fprintf('Poly %.5f \n', ableitung2);
 


py hat die werte meiner kurve und px gibt die zugehörigen x werte an.


Code:

polynom_x = polyfit(px, py, 1);
 


erzeugt dann mein polynom, mit diff kann ich doch ableitungen vom polynom machen, weil die krümmung ja in der 2. Ableitung ermittelt werden kann.

is das soweit korrekt mit dem programieren, und wenn de ahnung von der bestimmung des krümmungsradiuses hast sag mal deine meinung dazu.

danke nitram
Private Nachricht senden Benutzer-Profile anzeigen
 
ms1080
Themenstarter

Forum-Century

Forum-Century


Beiträge: 203
Anmeldedatum: 02.12.09
Wohnort: ---
Version: R2009
     Beitrag Verfasst am: 21.10.2010, 11:23     Titel:
  Antworten mit Zitat      
irgendwie bin ich zu d..f

kriege das mit polifit nicht hin, die ableitungen mache ich jetzt mit

polyder

laut hilf gibt polyder mir die ableitungen, aber bei der 2. ableitung sagt er mir es sei 0, was aber nich sein kann, weil dann meine krümmung nicht berechnet werden kann.

wenn ich aber bei

Code:

polynom_x = polyfit(px, py, 1);
 

anstatt der 1 eine 2 oder 3 schreibe meckert er rum


Code:

Warning: Polynomial is badly conditioned. Add
points with distinct X
         values, reduce the degree of the
         polynomial, or try centering
         and scaling as described in HELP POLYFIT.
> In polyfit at 80
  In GUI_22062010>Oeffnennach_Callback at 319
  In gui_mainfcn at 96
  In GUI_22062010 at 42
  In @(hObject,eventdata)GUI_22062010('Oeffnennach_Callback',hObject,eventdata,guidata(hObject))
Poly -0.00000


hilfe!
Private Nachricht senden Benutzer-Profile anzeigen
 
Achi
Forum-Guru

Forum-Guru


Beiträge: 250
Anmeldedatum: 14.04.10
Wohnort: ---
Version: R2007a
     Beitrag Verfasst am: 21.10.2010, 11:57     Titel:
  Antworten mit Zitat      
Dann ist es wohl ein Wendepunkt?

Was spricht gegen
Code:
?
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
ms1080
Themenstarter

Forum-Century

Forum-Century


Beiträge: 203
Anmeldedatum: 02.12.09
Wohnort: ---
Version: R2009
     Beitrag Verfasst am: 21.10.2010, 12:20     Titel:
  Antworten mit Zitat      
mmmmhhhh

ja nee keine ahnung

also der fehler lag bei mir:
Code:

px = data_2d_x_verkippt(10:90);
py = spaltenvektor_x(10:90);
py = py';
polynom_a = polyfit(px,py,1);
fprintf('test_a %.5f \n', polynom_a);
 


jetzt bekomme ich zwei werte für mein polynom:

f(x) = -116259.02160x + 2083711769.86605

m ist jetzt -116259.02160 und damit kann ich nun meine winkel berechnen, und was sagt mir der, damit habe ich doch nicht die krümmung bzw. den krümmungsradius berechnet.

mfg nitram
Private Nachricht senden Benutzer-Profile anzeigen
 
Achi
Forum-Guru

Forum-Guru


Beiträge: 250
Anmeldedatum: 14.04.10
Wohnort: ---
Version: R2007a
     Beitrag Verfasst am: 21.10.2010, 12:54     Titel:
  Antworten mit Zitat      
kannst du mal alles posten?
Inklusive deiner Werte im Anhang?
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
ms1080
Themenstarter

Forum-Century

Forum-Century


Beiträge: 203
Anmeldedatum: 02.12.09
Wohnort: ---
Version: R2009
     Beitrag Verfasst am: 21.10.2010, 13:05     Titel:
  Antworten mit Zitat      
aber klar

1. das komplette gui, in dem das alles bearbeitet werden soll
2. txt datei der einzulesenden daten

ab zeile 312 findest du meine berechnung des krümmungsradiuses
die datei must du mit dem button : Öffnen beschichteter Wafer öffnen
hoffe das ist alles nicht zuviel für dich

mfg nitram

3D-beschichtet-Wafer01.TXT
 Beschreibung:

Download
 Dateiname:  3D-beschichtet-Wafer01.TXT
 Dateigröße:  113.18 KB
 Heruntergeladen:  354 mal
GUI_22062010.fig
 Beschreibung:

Download
 Dateiname:  GUI_22062010.fig
 Dateigröße:  11.2 KB
 Heruntergeladen:  391 mal
GUI_22062010.m
 Beschreibung:

Download
 Dateiname:  GUI_22062010.m
 Dateigröße:  19.28 KB
 Heruntergeladen:  388 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
Achi
Forum-Guru

Forum-Guru


Beiträge: 250
Anmeldedatum: 14.04.10
Wohnort: ---
Version: R2007a
     Beitrag Verfasst am: 21.10.2010, 14:08     Titel:
  Antworten mit Zitat      
Versuchs mal mit:
Code:

winkel = atand(polynom_a(1));
 
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 21.10.2010, 22:41     Titel:
  Antworten mit Zitat      
Hallo Martin,

Code:

polynom_a = polyfit(px,py,1);
 

Das Berechnet Dir eine Gerade. Eine Gerade hat natürlich keine Krümmung.
Mit "polyfit(., ., 2)" würdest Du eine Parabel bekommen, deren Krümmung aber immerhin noch von den jeweiligen Koordinaten abhängt: Am Scheitelpunkt hat die Parabel z.B. eine größere Krümmung als an allen anderen Punkten.
Die einzige Kruve, die eine konstante Krümmung hat, ist ein Kreis.

Deswegen müsste eine Klärung Deines Problems gleich im ersten Posting ansetzen:
Was bedeutet "Krümmung eines Vektors"? Mathematisch gesehen ergibt das keinen Sinn.

Gruß, Jan
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.