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

Suche Poynomfunktion mit besserer Performance

 

gangsterbob
Forum-Anfänger

Forum-Anfänger


Beiträge: 22
Anmeldedatum: 17.12.20
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 23.02.2021, 10:46     Titel: Suche Poynomfunktion mit besserer Performance
  Antworten mit Zitat      
Hallo zusammen,

benötige eine Funtion mit folgenden Eigenschaften. (Ich habe zwar eine Lösung, aber diese ist sehr rechenaufwändig für meine Anwendung). Daher suche ich nach einer Alternative.

Die Funktion muss für Codegenerierung geeignet sein.

Beschreibung

Die Parameter mit 0 bezeichnen die Startbedingung zum Zeitpunkt t=0.
Die Parameter mit 1 den Endzustand zum Zeitpunkt t=T1.

Die veränderlichen Eingangsparameter sind T1 und s1.

s ist die Strecke
v die Geschwindigkeit (Ableitung von s)
a die Beschleunigung (Ableitung von a)

daher gibt es folgende Parameter:

T0 ist konstant 0.
s0 ist konstant 0.
v0 ist konstant 1.
a0 ist nicht relevant (0 wäre schön)

T1 ist variabel
s1 ist variabel
v1 ist konstant 1.
a1 ist nicht relevant (0 wäre schön)


Das Besondere ist: Die Geschwindigekeit darf nicht negativ werden!!.

In der Regel werden die Polynome (auch 5.) Ordnung gerne negativ mit der Geschwindigkeit. Dies ist nicht gewollt.

Meine Lösung ist. Die Funktion ander herum zu erstellen.

Im Beispiel auf dem Bild soll folgendes erfüllen:

T0 = 0
s0 = 0
v1 = 1

T1 = 2
s1 = 1
v1 = 1

Meine Lösung:

Das heißt. Ich erstellen ein Polynom 3. Ordnung mit folgenden Parametern

T0 = 0
s0 = 0
v1 = 1

T1 = 1 (Achtung mit s1 vertauscht zur Anforderung)
s1 = 2 (Achtung mit T1 vertauscht zur Anforderung)
v1 = 1

Danach erstelle ich die Umkehrfunktion. Dies erfüllt darauhin meine Bedingungen.

Allerdings ist die Umkehrfunktion recht rechenaufwändig. Gibt es eine einfachere Lösung?

Bei Bedarf kann ich den vorhandenen Code einstellen.

Danke im Voraus

Gruß Daniel

poly3Umkehr.jpg
 Beschreibung:

Download
 Dateiname:  poly3Umkehr.jpg
 Dateigröße:  124.74 KB
 Heruntergeladen:  273 mal
Private Nachricht senden Benutzer-Profile anzeigen


gangsterbob
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 22
Anmeldedatum: 17.12.20
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 28.02.2021, 00:21     Titel:
  Antworten mit Zitat      
Hallo,

ich gehe erst einmal davon aus, dass es ohne Umkehrfunktion nicht geht.

Mit den angeben Testwerten kommt es leider nicht zu den beschriebenen negativen Geschwindigkeiten (Erste Ableitung). Dies tritt erst bei höheren x2-Werten auf. Beispielsweise 10 statt 2. Vielleicht war das nicht so gut diese anzugeben.


Die Beschriebene Lösung habe ich mit der Symbolic Toolbox erstellt.
Nun habe ich das Gleichungssystem noch einmal in Matrixform erstellt.

Wie kann daraus wohl am einfachsten die umkehrfunktion berechnet werden?

Code:

clear
clc

%Eingangsparameter
T0 = 0;
s0 = 0;
v0 = 1;

T1 = 1; %vertauscht mit s1
s1 = 10;  %vertauscht mit T1
v1 = 1;
     
%Matrix für Polynom 3. Ordnung
SP1 = [  T0^3     T0^2    T0   1];
SP2 = [3*T0^2   2*T0      1    0];
SP3 = [  T1^3     T1^2    T1   1];
SP4 = [3*T1^2   2*T1      1    0];

SP = [SP1;SP2;SP3;SP4]

b=[s0  
   v0
   s1  
   v1]

%Gleichssystem lösen
coeffs = SP\b

%Testwerte bei T1-halbe auslösen
x=T1/2;

s =     coeffs(1)*x^3 +   coeffs(2)*x^2 + coeffs(3)*x+coeffs(4)
v =   3*coeffs(1)*x^2 + 2*coeffs(2)*x   + coeffs(3)
a =   6*coeffs(1)*x   + 2*coeffs(2)


 
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 - 2024 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.