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

Rückwerts Interpolation

 

lars1512
Forum-Newbie

Forum-Newbie


Beiträge: 3
Anmeldedatum: 02.08.12
Wohnort: Stuttgart
Version: 2012a
     Beitrag Verfasst am: 02.08.2012, 18:09     Titel: Rückwerts Interpolation
  Antworten mit Zitat      
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 ...
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: 02.08.2012, 19:00     Titel:
  Antworten mit Zitat      
du brauchst also eine Umkehrfunktion hab ich das richtig verstanden?


Könntest du den Code posten wie das hier passiert:

Code:
Bisher: Me=[10 10 ; 25 25] Ma=[1.4 1.2 ; 5.4; 5.2]




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
Private Nachricht senden Benutzer-Profile anzeigen
 
MaFam
Forum-Meister

Forum-Meister


Beiträge: 799
Anmeldedatum: 02.05.12
Wohnort: ---
Version: R2009b
     Beitrag Verfasst am: 02.08.2012, 19:54     Titel:
  Antworten mit Zitat      
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
Private Nachricht senden Benutzer-Profile anzeigen
 
lars1512
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 3
Anmeldedatum: 02.08.12
Wohnort: Stuttgart
Version: 2012a
     Beitrag Verfasst am: 02.08.2012, 20:39     Titel:
  Antworten mit Zitat      
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?
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: 02.08.2012, 21:38     Titel:
  Antworten mit Zitat      
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___ ____ _______

Code:
interp2([2 4] , [3 5 ] , [10 20; 10 20] , 3 , 4)


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
Private Nachricht senden Benutzer-Profile anzeigen
 
lars1512
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 3
Anmeldedatum: 02.08.12
Wohnort: Stuttgart
Version: 2012a
     Beitrag Verfasst am: 03.08.2012, 20:09     Titel:
  Antworten mit Zitat      
danke für eure mühe Wink

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 Sad

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