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

0 件のコメント
回答 (1 件)
Atsushi Ueno
2025 年 4 月 20 日
内挿 を参考に、着火遅れ時間のマップを内挿補完する事ができます。
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 件のコメント
Hiro Yoshino
2025 年 5 月 2 日
見た目の調整の補足です:
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 の位置指定
参考
カテゴリ
Help Center および File Exchange で Engines & Motors についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!