Matlab 使用带有动态变量的函数
我有一个大小为Matlab 使用带有动态变量的函数,matlab,loops,Matlab,Loops,我有一个大小为[mxn]的数组,一个函数f(数组,A,b,c)和一个变量数组 [a1 b1 c1;a2 b2 c2;…ak bk ck] 我想得到一个数组: [f(A, a1, b1, c1); f(A, a2, b2, c2); ... f(A, ak, bk, ck)] 在MATLAB中实现这一点,而不使用繁琐的循环结构,这是一种优雅的方式吗 for i = 1:k B(i) = f(A, a(i), b(i), c(i)); end 使用怎么样? 设P为k乘以3矩阵,参数为[a1 b1
[mxn]
的数组,一个函数f(数组,A,b,c)
和一个变量数组
[a1 b1 c1;a2 b2 c2;…ak bk ck]
我想得到一个数组:
[f(A, a1, b1, c1); f(A, a2, b2, c2); ... f(A, ak, bk, ck)]
在MATLAB中实现这一点,而不使用繁琐的循环结构,这是一种优雅的方式吗
for i = 1:k
B(i) = f(A, a(i), b(i), c(i));
end
使用怎么样?设
P
为k
乘以3矩阵,参数为[a1 b1 c1;…'akbk ck]
B = arrayfun( @(a,b,c) f( A, a, b, c), P(:,1), P(:,2), P(:,3) );
顺便说一句这是最好的