Ich versuche eine M*N
Matrix zu interpolieren. Zum Beispiel Matrix T
stellt Temperatur und Matrix B
repräsentiert den Ort:Interpolation entlang einer Dimension einer 2D-Matrix
T = [1 3 5; ...
2 4 6; ...
1 2 3];
B = [0.1 0.2 0.3; ...
0.1 0.2 0.3; ...
0.1 0.2 0.3];
Ich versuche, die Temperaturinformationen an Orten 0.15
und 0.25
zu erhalten. Also, Matrix B
werden wie:
New_B = [0.1 0.15 0.2 0.25 0.3; ...
0.1 0.15 0.2 0.25 0.3; ...
0.1 0.15 0.2 0.25 0.3];
und die erwarteten Ergebnisse für Matrix T
sein wird:
T = [1 2 3 4 5; ...
2 3 4 5 6; ...
1 1.5 2 2.5 3];
Ich habe versucht:
New_T = interp2(T, B, New_B);
Aber es funktioniert nicht. Wie kann ich diese Interpolation durchführen?
Danke. Kann ich interp2 benutzen? weil ich große Daten habe und Loop das Programm beenden wird. – Math
interp2 nimmt auch eine Beziehung zwischen den Werten in der 2. Dimension an. Sie können die Schleife schnell machen, indem Sie anstelle einer Zelle eine Matrix vordefinieren. 'T_new = nan (Größe (B_new))' und 'T_new (k, :) = interp1 (...' interp1 ist sehr schnell. Ich kann mir nicht vorstellen, wie es das Programm beenden würde. – Gelliant