|
lars1512 |

Forum-Newbie
|
 |
Beiträge: 3
|
 |
|
 |
Anmeldedatum: 02.08.12
|
 |
|
 |
Wohnort: Stuttgart
|
 |
|
 |
Version: 2012a
|
 |
|
|
 |
|
Verfasst am: 02.08.2012, 18:09
Titel: Rückwerts Interpolation
|
 |
Hey,
kennt jemand von euch zufällig ein code um rückwerts zu interpolieren? Matlab bietet die Funktion leider nicht an ...
Mein Problem ist praktisch folgendes ich habe z.B. zwei Matrizen, eine ausgehende "Ma" und eine eingehende "Me" die in einer direkten beziehung zu einander stehen. Während mir meine eingehnde klare werte anzeigt, sind die der ausgehnden natürchlich durch rechenoperationen verändert. und ich bräuchte jetzt praktisch ein programm dass mir die Werte für die eingehende Matrix neu berechnet wenn die Werte der Ausgehenden Matrix gleich sind wie die der ursprünglichen eingehenden.
Bisher: Me=[10 10 ; 25 25] Ma=[1.4 1.2 ; 5.4; 5.2]
Gesucht: Ma=[10 10 ; 25 25 ] Me=[? ?; ? ?]
vielen dank für eure hilfe und sorry für die schlechte beschreibung ...
|
|
|
|
|
Bluesmaster |

Forum-Century
|
 |
Beiträge: 203
|
 |
|
 |
Anmeldedatum: 13.11.11
|
 |
|
 |
Wohnort: Gera
|
 |
|
 |
Version: 2012a
|
 |
|
|
 |
|
Verfasst am: 02.08.2012, 19:00
Titel:
|
 |
du brauchst also eine Umkehrfunktion hab ich das richtig verstanden?
Könntest du den Code posten wie das hier passiert:
Das müsste man von Hand machen, einen code rückwärts
laufen zu lassen habe ich noch nie gesehen. Vielleicht habe
ich das Problem aber auch falsch verstanden
Gruß
Blues
|
|
|
MaFam |

Forum-Meister
|
 |
Beiträge: 799
|
 |
|
 |
Anmeldedatum: 02.05.12
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: R2009b
|
 |
|
|
 |
|
Verfasst am: 02.08.2012, 19:54
Titel:
|
 |
Hallo,
das Problem ist im wesentlichen dann lösbar, wenn die Abbildung, welche ME nach MA abbildet, invertierbar ist. Sollte dies beispielsweise eine linear Abbildung sein, ist das stets möglich.
Grüße, Marc
|
|
|
lars1512 |
Themenstarter

Forum-Newbie
|
 |
Beiträge: 3
|
 |
|
 |
Anmeldedatum: 02.08.12
|
 |
|
 |
Wohnort: Stuttgart
|
 |
|
 |
Version: 2012a
|
 |
|
|
 |
|
Verfasst am: 02.08.2012, 20:39
Titel:
|
 |
|
 |
|
Hey,
ich glaub ich habs n bissle schlecht beschrieben. also ich soll ne rückwertssimulation für ein fahrzeug machen und habe praktisch eine matrix in der das vom motor geleistete moment bei verschiedenen drehzahlen darstelle. und dann habe ich eine zweite matrix die mir zu den jeweiligen gängen die verluste über den fahzeugstrang anzeigt. damit komm ich praktisch auf eine matrix die mir darstellt bei welcher drehzahl bei welchem eingangsmoment wie viel moment auf die straße übertragen ist. dummerweise sollte ich das jetzt aber genau in die andere richtung umrechnen. also ich sollte anhand des momentes das auf der straße gefragt ist sagen wie viel mein motor leisten soll.
Wenn ich praktisch folgenden aufbau habe, dann ist T_out meine gesuchte größe und T_in meine eingangsgröße. aber ich hab bis jetzt keine möglichkeit gefunden das interpolieren einfach umzudrehen ...
for i=1:26
for j=1:5
T_in(i,j) = interp2(W,T,T_out,N(j),J(i));
end
end
N(j) ist ein Vektor in dem die verschiedenen Drehzahlen mit denen ich simulieren möchte dargestellt sind.
J(i) ist ein Vektor der die Abstufung der Momente darstellt mit denen ich simulieren möchte.
W ist die Matrix in der die Drehzahlen zeilenweise dargestellt werden
T ist die Matrix in der die Momentenabstufung spaltenweise dargestellt ist.
T_out ist die Matrix die das Moment das auf der Straße ankommt enthält
T_in ist die Matrix die das Moment das mein motor liefern soll enthält
habt ihr da vielleicht ne ahnung was ich machen könnte?
|
|
|
Bluesmaster |

Forum-Century
|
 |
Beiträge: 203
|
 |
|
 |
Anmeldedatum: 13.11.11
|
 |
|
 |
Wohnort: Gera
|
 |
|
 |
Version: 2012a
|
 |
|
|
 |
|
Verfasst am: 02.08.2012, 21:38
Titel:
|
 |
obwohl ich eine Weile darüber nachgesonnen habe, bin ich ungläubig
fasziniert davon wie eine einfache Funktion die nur Stützstellen errechnen
kann so etwas komplexes wie ein Fahrzeug abbilden kann.
Aber egal hier die Fakten:
http://www.mathworks.de/help/techdoc/ref/interp2.html
interp2 erzeugt zwischenpunkte so:
Xist Yist Zist Xsoll Ysoll > Zsoll
2____3___10 10___3 ____3______15
4____5___20 20___ ____ _______
invertieren hieße Xist gegen Xsoll zu vertauschen und da kommt
die Invertierbarkeit ins Spiel die MaFam angesprochen hat.
Aber probier das erst mal und melde dich wieder.
Gruß
Blues
|
|
|
lars1512 |
Themenstarter

Forum-Newbie
|
 |
Beiträge: 3
|
 |
|
 |
Anmeldedatum: 02.08.12
|
 |
|
 |
Wohnort: Stuttgart
|
 |
|
 |
Version: 2012a
|
 |
|
|
 |
|
Verfasst am: 03.08.2012, 20:09
Titel:
|
 |
|
 |
|
danke für eure mühe
du hast schon recht, die funktion an sich kann das fahrzeug nicht abbilden. die komplette sturktur wird etwas komplexer. ich muss daten aus gt auslesen die formeln für die simulation aufstellen, meine eingangswerte festlegen und dann die simulation über eine dpm funktion vorwerts und rückwerts ablaufen lassen um die idealen betriebspunkte zu bekommen.
die interp2 brauch ich um mein kennfeld nach den vorgaben für die simulation
zu erweitern, das läuft auch ganz gut.
aber jetzt hab ich gerade halt noch das problem mit den zwei matrizen. die beziehung brauch ich um den optimalen gang auswählen zu können. ich hab mir erst gedacht dass ich die beziehung hinbekommen würde wenn ich die interp2 umdrehen könnte aber jetzt glaub ich meine überlegung war guatsch
meine neue überlegung: eigentlich stehen die beiden matrixen zu einander in einer beziehung wie bei einer 3 dimensionalen kennfeld. die matrix mit dem eingeneden moment stellt die y-z-ebene dar. z enthällt die drehzahl und y das eingehende moment. die ausgehende matrix stellt die x-z-ebene dar, wobei x das ausgehende moment darstellt. verbunden sind beide matrizen praktisch über die matrix mit den Wirkungsgraden. die müsste also eigentlich eine funktion in der form einer map darstellen? heißt wenn ich z.b. bei z=0 den wert 10 auf der y achse ablese komme ich auf den wert 5,2 oder so. und ich sollte die beziehung jetzt so ändern, dass ich sage ich möchte für den wert 10 auf der x achse den wert auf der y achse wissen. habt ihr da ne idee wie ich ansetzen könnte?
Bis jetzt hab ich eigentlich folgende Formel: Ma=Me.*M_kennfeld
Also wenn ich die Matix umstelle dann dürfte ich doch folgende Struktur haben: Me=Ma*inv(M_kennfeld), stimmt das soweit?
aber wie kann ich jetzt Ma auf die werte von Me bringen?
sorry dass ich euch mit meinen problemen so zutexte ...
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
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
| 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.
|
|