Matlab- ScatteredInterpolant alternative Interpolation

xycgerry

Lieutenant
Registriert
Nov. 2010
Beiträge
920
Hallo,

ich habe die Daten eines Motorkennfeldes vorliegen in Folgender Form:

Drehzahl(n):
500
1000
1500
2000
500
...
Drehmoment(T):
2
2
2
2
4
...
Strom
0.5
1
1.4
1.9
0.8

Ergibt folgende schöne Betriebspunkte, mit hinterlegten Stromwerten in der Z-Achse.

Points.png


Nun möchte ich auch Zwischenwerte des Stromes bekommen, z.B für eine Drehzahl von 800 und ein Drehmoment von 5Nm.
Dies mache ich bisher mit Scatteredinterpolant.
Code:
 Data_n_T_fit= scatteredInterpolant(n,T,Strom,'linear','none');

Hier kann ich jetzt in das Data_n_T_fit einen beliebigen Wert übergeben z.B: Data_n_T_fit(800,5) und kriege meinen Z-Wert zurück.
Nun kann Scatteredinterpolant jedoch nur linear, natural und neares interpolieren, ich würde gerne auch andere Interpolationsarten nutzen.
Nun habe ich versucht es mit griddata oder interp1 hinzubekommen, da bekomme ich jedoch diverse Fehlermeldungen und kriege es mit denen überhaupt nicht hin, wahrscheinlich weil meine Daten einfach falsch vorliegen.

Wie kriege ich nun ein gutes Ergebnis wie mit Scatteredinterpolant, jedoch mit weiteren Interpolationsarten hin?
Vielen Dank für die Hilfe.
 
Also viele von denen hab ich schon durch. Im Prinzip hab ich immer das Problem das man bei diesen noch ein "grid" definieren muss, meine Daten jedoch keine gridded, sondern eine unsortierte, also scattered Verteilung haben. Wie im Anhang zu sehen bei interp2 wird immer ein grid erzeugt, wie kann ich das bei mir machen?
Beispiel_cb.png

MFG
 
sorry bin selber nicht firm drinnen .. muss es nur noch werden :-)

Und du hast doch 3 Daten dann hinterlege sie doch als Grid ...

Das du dir nur 2 Daten davon Plotten tust ist ja was anderes.
 
Zurück
Oben