如何在MATLAB中第一次迭代后忽略for循环中的函数
我在for循环中有一个函数。在这个函数中,我加载一个文件,对数据点进行插值,如下所示。这个过程非常昂贵。我可以在第一次迭代后跳过这个过程,只使用(p1,p2)的“F”函数(CAR=F(p1,p2))作为输入值吗如何在MATLAB中第一次迭代后忽略for循环中的函数,matlab,loops,for-loop,Matlab,Loops,For Loop,我在for循环中有一个函数。在这个函数中,我加载一个文件,对数据点进行插值,如下所示。这个过程非常昂贵。我可以在第一次迭代后跳过这个过程,只使用(p1,p2)的“F”函数(CAR=F(p1,p2))作为输入值吗 function CAR = AcAd (p1, p2) num = xlsread('Book.xlsx'); x = num(:, 1); y = num(:, 2); z = num(:, 3); t1 = 0.05:0.02:2; t2 = 0.05:0.02:0.5; F =
function CAR = AcAd (p1, p2)
num = xlsread('Book.xlsx');
x = num(:, 1); y = num(:, 2); z = num(:, 3);
t1 = 0.05:0.02:2; t2 = 0.05:0.02:0.5;
F = scatteredInterpolant(x, y, z);
[qx, qy] = meshgrid(t1, t2);
qz = F(qx, qy);
CAR = F(p1, p2);
有几种方法可以解决此问题:
function CAR=AcAd(p1,p2,num)
并仅在函数外部加载一次这显然只适用于
num
,但可以通过同样的方式轻松扩展以获得F
function CAR = AcAd (p1, p2)
if (~exist('num'))
num = xlsread('Book.xlsx');
end