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

Polynome mit mehreren Variablen in Matlab

 

Timo123

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 18.01.2013, 19:25     Titel: Polynome mit mehreren Variablen in Matlab
  Antworten mit Zitat      
Hallo Zusammen,

in Matlab kann man z.B. ein Polynom x^2 -4 durch [1 0 -4] darstellen; nun brauche ich so ähnliche Form für ein Polynom aus mehreren Var. z.B. x und y ;
gibt es dafür eine Möglichkeit in Matlab?
z.B. für das Polynom x.y^3 -2x+4y+1 , wie kann man das in Matlab darstellen? Als Funktion möchte ich das nicht haben , denn das ist dann ziemlich langsam für die Polynome die ich habe und auch für die weitere Bearbeitungen wie z.B. Ableitung und Auswertung usw. .

Viele Grüße

Timo


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.492
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 18.01.2013, 20:58     Titel:
  Antworten mit Zitat      
Hallo,

du könntest diese Polynome z.B. als Matrix darstellen. Überhaupt kannst du sie wohl in so ziemlich jeglicher Art darstellen, solange du dabei konsistente Regeln befolgst.
Die Frage ist in erster Linie: was willst du denn mit den Polynomen machen?

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Timo123

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 18.01.2013, 22:13     Titel:
  Antworten mit Zitat      
Hallo,

ich brauche die Ableitung von Polynomen (bzgl x und y ) in mehreren Werten zu bestimmen und damit die ganzen Auswertungen in zwei Ableitungsmatrizen darzustellen, wie z.B. D_x und D_y

Gruss
Timo
 
Bluesmaster
Forum-Century

Forum-Century



Beiträge: 203
Anmeldedatum: 13.11.11
Wohnort: Gera
Version: 2012a
     Beitrag Verfasst am: 25.01.2013, 15:30     Titel:
  Antworten mit Zitat      
http://www.mathworks.de/matlabcentr.....al-fitting-and-evaluation

Damit könntest du ein 2D-Polynom numerisch auswerten und mit
gradient numerisch ableiten. Aber ich hab das Gefühl, das ist nicht das was du suchst oder?


Dann gibts da noch jemanden, der eine symbolische Toolbox für 2D Polynome geschrieben hat:

http://www.mathworks.com/matlabcentral/fileexchange/9577

Native höherdimensionale Polynome hab ich in Matlab noch nie gesehen.
Wenn es keine Terme mit X*Y gibt (Superposition) , könntest du sie auch einzeln ableiten und kombinieren

Gruß

Blues
Private Nachricht senden Benutzer-Profile anzeigen
 
MaFam
Forum-Meister

Forum-Meister


Beiträge: 799
Anmeldedatum: 02.05.12
Wohnort: ---
Version: R2009b
     Beitrag Verfasst am: 25.01.2013, 15:37     Titel:
  Antworten mit Zitat      
Hallo Bluemaster,

was haben Terme wie X*Y mit Superpostion zu tun, und warum sollte man solche Terme nicht "normal" ableiten können?
Man muss dann eben partiell ableiten. dX*Y/dX=Y und dX*Y/dY=X.

Grüße, Marc
Private Nachricht senden Benutzer-Profile anzeigen
 
Bluesmaster
Forum-Century

Forum-Century



Beiträge: 203
Anmeldedatum: 13.11.11
Wohnort: Gera
Version: 2012a
     Beitrag Verfasst am: 25.01.2013, 15:59     Titel:
  Antworten mit Zitat      
numerisch ja, aber ich dachte es um Geschwindigkeit

Mein Vorschlag wäre den X und den y Anteil des Polynoms zu trennen
und dann symbolisch abzuleiten ohne symbolic math toolbox:

CoeffD_y = polyder( coeff_Y_Anteil )

CoeffD_x = polyder( coeff_X_Anteil )

D_y = polyval( CoeffD_y , y_soll )
D_x = polyval( CoeffD_x , x_soll )

gradient = [ D_x ' ; D_y ]


Das geht aber nur, wenn sich X und Y Anteil des Polynoms superpositiv überlagern (sprich + und - ) Anteile mit X^Y oder X*Y usw. Gehen nicht.

Falls ich irgendwie dem Vorhaben von Timo123 vorbeigeredet habe
entschuldige ich mich hiermit.

Gruß

Blues
Private Nachricht senden Benutzer-Profile anzeigen
 
MaFam
Forum-Meister

Forum-Meister


Beiträge: 799
Anmeldedatum: 02.05.12
Wohnort: ---
Version: R2009b
     Beitrag Verfasst am: 25.01.2013, 16:20     Titel:
  Antworten mit Zitat      
Das kann man auch so machen. Man führt drei Spaltenvektoren ein.

1. Koeffizientenvektor
2. Vektor der Exponenten an x1
3. Vektor der Exponenten an x2

Das Polynom definiert man dann als komponentenweises Produkt dieser Vektoren.

Partielles Ableiten ist dann simpel: Vektor 2 oder 3 um 1 verringern (aber immer >=0) und zuvor mit Vektor 1 multiplizieren.

Das ganze kann man auch über Matrixoperationen definieren, weil Differenzieren ein linearer Operator ist.
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.