在 MATLAB 中的函数内使用数据矩阵
Using a matrix of data inside a function in MATLAB
我需要知道如何在函数内提取矩阵的任意项。假设函数 f
获得两个额外的输入参数 i
和 j
以提取固定实值矩阵的元素 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];
我需要知道如何在函数内提取矩阵的任意项。假设函数 f
获得两个额外的输入参数 i
和 j
以提取固定实值矩阵的元素 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];