Transponieren < Matlab < Mathe-Software < Mathe < Vorhilfe
|
Hallo,
anbei das kleine Simulink-Modell fürs Verständnis. Nach diesem Schema würde ich gerne mehrere Wert vergleichen.
Kann ich das mit Simulink machen oder muss ich das mit Matlab machen.
Mir ist es eigentl. egal, ich bekomme es mit Matlab aber nicht hin und allein zwecks Vorgehen habe ich mir mal das simulink-Modell aufgebaut.
Also eine definierte Anzahl an Werten ins Kennfeld schicken, die dadurch ermittelten Werte in das transponierte Kennfeld schicken und dann die Eingangswerte x-Achse Kennfeld mit den entsprechenden Ausgangswerten z-Achse trans. Kennfeld vergleichen.
Kann mir hierbei bitte jemand helfen?
mfg
[Dateianhang nicht öffentlich]
Dateianhänge: Anhang Nr. 1 (Typ: png) [nicht öffentlich]
|
|
|
|
Hallo,
ich denke, du beziehst dich auf diese Frage.
Ich habe mir das mal angeschaut und würde sagen, dass man zuerst das Datenformat etwas anpassen muss:
[X,Y] = meshgrid(x,y);
Z = z';
Nun können wir unsere x- und y-Werte zum Testen zusammenstellen und in einer Schleife die Differenzen bestimmen per:
testx = [12, 16, 55];
testy = [-2, 3, 11];
for i=1:length(testx),
interpx = griddata(Z,Y,X,interp2(X,Y,Z,testx(i),testy(i)),testy(i));
diffx(i) = interpx - testx(i);
end;
Gruß
Martin
|
|
|
|
|
Danke. Aber ich stelle die Frage nochmal ein wenig anders. Es bezieht sich schon auf die Frage, ein Simulink-Modell ist aber doch anschaulicher......
Also meine zwei Kennfeld sind gegeben. Einmal original und das andere ist eben transponiert (jetzt aber y mit z).
Aber wie gesagt, die Daten sind gegeben, ich muss nichts transponieren!
Das 1.Kennfeld berechnet anhand x und y die Ausgangsgröße z.
Das 2.Kennfeld rechnet zum gleichen Zeitpunkt die Größen zurück.
Also anhand der Ausgangsgröße z und x sollte das transponierte Kennfeld die Eingangsgröße y ermitteln. Das will ich testen.
Problem hier ist mal wieder die Schleife die ich nicht hinbekomme.
Also ich will mir künstlich die Eingangsvektoren generieren, mit diesen Vektoren jeden Betriebspunkt im Kennfeld 1 interpolieren. Und das dann wieder rückrechnen mit den ebenfalls entsprechenden Eingangsvektoren und dann die Differenz ermitteln.....
mfg
|
|
|
|
|
Hallo,
ich habe das Gefühl, du liest dir meine Antworten nicht wirklich durch. Die Antwort ist daraus nämlich recht einfach abzuleiten (oder ich verstehe dich falsch...).
In welcher Form liegen denn x,y,z bzw. x,z,y vor? Vektor,Vektor,Matrix oder anders?
Inwiefern unterscheidet sich das explizit gegebene x,z,y-Kennfeld von meiner Lösung? Ich weiß nämlich nicht, was man an dem Ansatz ändern könnte...
Gruß
Martin
|
|
|
|
|
Ich versuchs nochmal zu erklären, deine Lösung war schon nah dran, versteh ich aber leider nicht so ganz......
gegeben:
1.Kennfeld z.b [16x40] (x1,y1,z1)
in diese Kennfeld wird mit eine Signalgröße x1int und y1int interpoliert und z1aus ermittelt.
2.Kennfeld z.b [16x20] (x2,y2,z2)
diese Kennfeld entspricht dem transponierten 1.Kennfeld, egal wie dies geschah, es ist gegeben.
Diese Kennfeld ermittelt mit x1int und dem entsprechenden Wert z1aus die Ausgangsgröße y2aus. Nun sollte y2aus=y1int entsprechen, ist aber eben nicht immer so.
Problem:
ich will jeden möglichen Betriebspunkt anfahren und vergleichen. Die Größe x1int hat unterschiedl. Schrittweiten in den Fällen. Also in der Hinrechnung ist x1int=0.5 und in der Rückrechnung x1int=40. Also wenn x1int noch 39,5 ist, ist in der Rückrechnung noch die 0.
Ic weiß, es klingt kompliziert. Im Forum habe ich auch schon was ähnliches wegen der Schrittweite gelesen, ich kriegs aber einfach nicht hin.
Vielen Dank
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 00:23 So 11.03.2007 | Autor: | matux |
$MATUXTEXT(ueberfaellige_frage)
|
|
|
|
|
Bin noch absolut weiterhin interessiert....
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 11:20 Do 15.03.2007 | Autor: | matux |
$MATUXTEXT(ueberfaellige_frage)
|
|
|
|