假设我有数组A(n,k)
和向量b(1,4)
。矩阵和向量的上下文在伽罗瓦域(2)上。
是否有任何方法可以将A的每一行与向量b进行卷积而不进行for循环?
例如,如果A的大小为(4,5)
,则命令应该执行以下操作:
conv(A(1,:),b)
conv(A(2,:),b)
conv(A(3,:),b)
conv(A(4,:),b)
任何想法?
您可以首先将A
转换为单元格数组,然后使用cellfun
将您的函数应用于单元格数组的每个元素,例如:
cellA = num2cell(A, 2) % creates a cell array where each element is a row of A
result = cellfun(@(row)(conv(row, b)), cellA);
这里@(row)(conv(row, b))
是一个匿名函数,它接受单元格数组中的一个元素,并将conv
函数应用于它和b
向量