在 MATLAB 中的函数内使用数据矩阵

Using a matrix of data inside a function in MATLAB

我需要知道如何在函数内提取矩阵的任意项。假设函数 f 获得两个额外的输入参数 ij 以提取固定实值矩阵的元素 a(i,j)。矩阵在工作区中,并且尺寸很大。函数 f 在一个长迭代算法中。在每次迭代中调用整个矩阵 a 会显着降低速度。这个矩阵需要被定义为一个函数(以便它可以在函数内部调用),或者从 mat-file 加载。第一个选项似乎更有效,但不知道如何将矩阵保存为函数。

我不明白你的问题。

假设您有数组 arr。您可以执行 arr(i,j) 来访问它的元素。

假设您在函数体中也有一个函数 func(arr, i, j),您可以使用参数轻松访问 arr(i,j)

如果func returns一个数组,那么你可以var = func(arr); var(i,j)

如果您想要一个函数矩阵,请处理它们并将其存储在数组中;

a = @func_a;
b = @func_b;
c = @func_c;
funcarray = [a b c];