3Dマップの内挿について
Show older comments
Matlabを用いて、圧力およびガス温度に依存する着火遅れ時間のマップを補完したいです。
圧力P:0.1 MPa~8.0MPa, 0.1MPa刻み(80データ数)
未燃ガス温度Tu:500~1200K, 10K刻み(71データ数)
の条件により、下図のように合計5680個の着火遅れ時間の値を取得できています。
これらのデータを補間(内挿)し、さらに細かな値をとることで、計測された圧力及びガス温度によってより適切な着火遅れ時間を算出できるようにしたいのですが、どのようなコードが適切でしょうか?

Answers (1)
Atsushi Ueno
on 20 Apr 2025
内挿 を参考に、着火遅れ時間のマップを内挿補完する事ができます。
P = 0.1:0.1:8.0; % [MPa](80データ数)
T = 500:10:1200; % [K] (71データ数)
[P1,T1] = ndgrid(P,T);
surf(P1,T1,-P1.^2+T1.^2) % 合計5680個の着火遅れ時間(値は適当)
% ------------------------------
%これらのデータを補間(内挿)し、さらに細かな値をとる
F = griddedInterpolant(P1,T1,-P1.^2+T1.^2);
% -----------------------------
P = 0.01:0.01:8.0; % [MPa](800データ数、約10倍の細かさに設定)
T = 501:1:1200; % [K] (700データ数、約10倍の細かさに設定)
[P2,T2] = ndgrid(P,T);
surf(P2,T2,F(P2,T2)) % 合計560000個の着火遅れ時間(値は適当,グリッドが細かすぎて真っ黒になっちゃった)
1 Comment
見た目の調整の補足です:
P = 0.1:0.1:8.0; % [MPa](80データ数)
T = 500:10:1200; % [K] (71データ数)
[P1,T1] = meshgrid(P,T); % x-y のメッシュを作成
surf(P1,T1,-P1.^2+T1.^2,EdgeColor="flat",FaceColor="none") % メッシュの色だけつける
colormap(turbo(6)); % 好みのカラーマップ
view([32 18]); % 角度を指定
xlabel("P(MPa)"); ylabel("Tu(K)"); zlabel("ignition-delay time(s)");
axis([0,8,400,1200]); % レンジ設定
ztickformat("%.1e"); % ztick のフォーマット指定
zticks([0e5 5e5 10e5 15e5 20e5]); % ztick の位置指定
Categories
Find more on 内挿 in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!