在ODE求解器循环中执行插值的最有效方法是什么?现在我必须创建griddiedInterpolant对象并通过全局变量传递它们。每次调用执行三次插值需要 40%的计算时间。
数据准备:
options.Fx = griddedInterpolant(Mach, AD_data.Fx,'pchip');
options.Fy_alpha = griddedInterpolant(Mach, AD_data.Fy_alpha,'pchip');
options.Mz_alpha = griddedInterpolant(Mach, AD_data.Mz_alpha,'pchip');
主要代码:
global options;
Fx = options.Fx(M);
Fy = options.Fy_alpha(M) * alpha;
Mz = options.Mz_alpha(M) * alpha;
那么,有没有办法对插值调用进行矢量化?