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

Erstellung eines Polynom dritten Grades mit acht Variablen

 

mariusmd
Forum-Newbie

Forum-Newbie


Beiträge: 2
Anmeldedatum: 03.02.14
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 03.02.2014, 19:02     Titel: Erstellung eines Polynom dritten Grades mit acht Variablen
  Antworten mit Zitat      
Hallo Leute,

ich benötige für eine Uni-Aufgabe eure Hilfe. Es soll ein Kennfeldbasiertes Modell eines Motors erstellt werden, welches mithilfe von acht Eingangsvariablen einen Wert berechnet. Dies soll durch ein Polynom geschehen, dessen Ordnung drei und Ordnung seiner Wechselwirkung ebenfalls drei beträgt. Daraus ergibt sich rechnerisch eine Koeffizientenanzahl von:
8^3+8^2+8^1+8^0=585 (falls ich mich nicht vertue...). Da ich solch ein Polynom unmöglich händisch programmieren kann, würde ich gern wissen, ob Matlab eine Möglichkeit zur Erstellung des Polynoms bietet. Ich habe mir bereits einige Polynombefehle angeschaut, habe aber bisher keinen gefunden, welche ein solch komplexes erstellen könnte.

Hier nochmal zum Verständnis ein solches Polynom dritten Grades mit nur zwei Eingangsvariablen:

y(x_1,x_2)=a_0+a_1*x_1+a_2*x_2+a_1_2*x_1^2+a_2_2*x_2^2+a_1_3*x_1^3+a_2_3*x_2^3+a_4*x_1*x_2+a_5*x_1^2*x_2+a_6*x1*x_2^2

Es sind also wirklich alle denkbaren Kombinationen der Variablen nötig, weshalb es das ganze ein wenig größer macht.

Wen der Hintergrund interessiert:
Die Koeffizienten a_i_jdes Polynoms sollen durch die Methode des kleinsten Fehlerquadrate aus Messdaten eines DoE's approximiert werden. Daraus kann dann das Modell für den Motor beispielsweise in Simulink realisiert werden.

Vielen Dank im Voraus!

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


Phate
Forum-Guru

Forum-Guru



Beiträge: 283
Anmeldedatum: 09.11.09
Wohnort: Stuttgart
Version: R2008b
     Beitrag Verfasst am: 04.02.2014, 09:27     Titel:
  Antworten mit Zitat      
Hi,

Aus deiner Problembeschreibung ist für mich leider nicht ersichtlich wo du gerade hängst. Es gibt glaub ich nicht den Befehl, den du suchst aus einer Verwsuchsmatrix direkt das Polynom zu generieren. Denn es kommt drauf an wie dein Versuchsplan aussieht. Die Berechnung der Koeffizienten sollte in Matlab einfach sein, da hier alle notwendigen Befehle für Matrixoperationen vorhanden sind. Wenn ich mich noch richtig an statistische Versuchsplanung erinnere ist das ein vollfaktorieller Versuchsplan, oder?
Im Vorlesungsskript sollten die passenden Ansätze diskutiert sein oder in jedem Buch über DoE. Wenn es viele Daten sind bzw. koplexere Ansätze wie Latin-Hypercube macht der Einsatz von Matlab definitv Sinn. Allerdings hängt die Berechnung der Koeffizienten und der Wechselwirkung wie bereits gesagt vom aussehen der Versuchsmatrix ab.

Grüße
Private Nachricht senden Benutzer-Profile anzeigen
 
Thomas84
Forum-Meister

Forum-Meister


Beiträge: 546
Anmeldedatum: 10.02.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 04.02.2014, 09:28     Titel:
  Antworten mit Zitat      
http://www.mathworks.com/matlabcent.....leexchange/34765-polyfitn

viele Grüße
Thomas
Private Nachricht senden Benutzer-Profile anzeigen
 
Bibonaut
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 60
Anmeldedatum: 06.06.13
Wohnort: Berlin
Version: 2013a
     Beitrag Verfasst am: 04.02.2014, 13:17     Titel:
  Antworten mit Zitat      
Hallo mariusmd,

das klingt ja ganz nach Automobilelektronik an der TUB? Wink

So sah meine Formel letztlich für das Polynom aus:

<br />
y = \sum_{i=1 \\ j \geq i \\ k \geq j}^8 (a_{i} \cdot x_{i} + a_{ii} \cdot x_{i}^2 + a_{iii} \cdot x_{i}^3 + a_{ij} \cdot x_{i} \cdot x_{j} + a_{ijk} \cdot x_{i} \cdot x_{j} \cdot x_{k} + a_{0} + \varepsilon)
<br />

Da ich nicht die Lösung "spoilen" möchte, geb ich dir einen Tipp:
Mit der Formel kannst du dir drei ineinander geschachtelte For-Schleifen aufbauen. Das Polynom lässt du dir in den For-Schleifen als langen String erstellen und mit eval() machst du dir daraus eine Anonymous-Function.

Ich hoffe, das hilft erstmal. Viel Erfolg Smile

Alex
Private Nachricht senden Benutzer-Profile anzeigen
 
mariusmd
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 2
Anmeldedatum: 03.02.14
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 04.02.2014, 17:40     Titel:
  Antworten mit Zitat      
Hallo Alex,

BESTEN DANK! Very Happy In der Art habe ich es gesucht, ich bin aber nicht auf die Idee gekommen, das ganze als String aufzubauen. Und du lagst auch richtig mit deiner Vermutung meines Kurses... Wink

Eine Frage hab ich allerdings noch. Welche Bedeutung hat der \epsilon-Anteil in der Formel? Als variablenunabhängiger Wert ist ja schon a0 im Polynom.

Das Polynom ist aber soweit erstellt, jetzt kümmere ich mich um die Parameterbestimmung aus den DoE-Messwerten...

Grüße, Marius
Private Nachricht senden Benutzer-Profile anzeigen
 
Bibonaut
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 60
Anmeldedatum: 06.06.13
Wohnort: Berlin
Version: 2013a
     Beitrag Verfasst am: 04.02.2014, 17:59     Titel:
  Antworten mit Zitat      
Oh,

das habe ich übersehen. Das war nur für den theoretischen Teil der Ausarbeitung, da man ja annimmt, dass es durch die Polynominterpolation einen Fehler gibt, der dann mit der Methode der kleinsten Fehlerquadrate minimiert wird. Der taucht deshalb bei der Schätzung der Koeffizienten in den Berechnungen nicht konkret auf.

Grüße und viel Spaß beim Praktikum Wink

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