ich habe eine Reihe von Messdaten die sowohl von der Zeit als auch vom Ort anhängen. Meine Messdaten sind in eine Matrix dargestellt, wobei die Zeilen die zeitliche Änderungen beschreiben und die Messstellen sind in der Spalten eingetragen.
Da ich nur in bestimmten Stellen Mess kann möchte ich nun meine Messdaten interpolieren und extrapolieren. Dafür habe diese Code geschrieben, aber irgend was stimmt nicht ganz mit der extrapolation.
Code:
[n m]=size(Messwerte);
Dauer_Messung = n/(10*60);
t = linspace(0,Dauer_Messung,n);
X = linspace(0.2,0.8,6); %Messstellen [m]
Xi = linspace(0,1,100);
ti= linspace(0,Dauer_Messung,n);
Messwerte_inter=interp2(X,t,Messwerte,Xi,ti','cubic',22);
hallo khaled.habaieb,
ich denke mit einem lauffähigem Beispiel und einer etwas präzieseren Problembeschreibung würde die Hilfsbereitschaft rapide ansteigen.
Grüße Schrank
zwei Kommentare:
- sind die Messpunkte auch schon auf einem Gitter? Dann ist interp2 richtig. Wenn es eine Punktwolke ist (also unstrukturiert t,x und Messwert), dann musst Du griddata nehmen
- extrapolieren funktioniert in beiden Fällen nicht, ist auch eher kniffelig
die Messwerte stellen die zeitliche und Ortliche abhängigkeit der Temperatur dar. Wie vorherbeschrieben repräsentieren die Zeilen die zeitliche Änderungen der Temperatur an der entsprchenden Stellen, wo es gemessen wird.
Als Beispiel von den Messdaten hat man folgende Matrix:
49,55 72,95 61,53 56,47 81,13 77,50
52,78 72,50 62,44 58,31 79,77 76,59
51,86 73,87 63,36 57,85 81,59 76,59
54,63 74,32 62,90 56,93 79,77 79,77
53,25 73,87 63,36 56,47 82,49 78,41
.....
In der Spalten sind genau die Stellen wo ich die Temperatur messe, d.h x = 0.2000 0.3200 0.4400 0.5600 0.6800 0.8000 [m]
und ich möchte die ganze Temperaturprofil von x=0..1 [m] darstellen.
wie währe es möglich die Werte zu extrapolieren\
Vielen Dank
Ahmad
Gast
Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
Verfasst am: 20.08.2010, 15:34
Titel:
Hallo khaled.habaieb,
versuch mal damit:
Code:
[n m]=size(Messwerte);
Dauer_Messung = n/(10*60);
t = linspace(0,Dauer_Messung,n);
X = linspace(0.2,0.8,6); %Messstellen [m]
Xi = linspace(0,1,100);
ti= linspace(0,Dauer_Messung,n);
Messwerte_inter=interp2(X,t,Messwerte,Xi,ti','spline');
wenn du wietere fragen hast kannst du mich auf mein email schreiben
ahmad.fani hier_@_zeichen gmail.com
edit by denny: in eigener Interesse bitte keine E-Mail Adressen schreiben. Sonst können es Suchbots für Spam ausnutzen.
Frank
Gast
Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
Verfasst am: 20.08.2010, 15:56
Titel: a
Lieber Ahmad,
ich denke nicht dass Khaled nach 2 Jahren immer auf eine antwort wartet.
mfg
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
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.