我有一个矩阵M [1,98]和一个矩阵N [1,x],我们假设在这种情况下x = 16.我想要的是将N乘以M,按元素求和,并递增矩阵M.最后得到[1,98]的输出.
这有点令人困惑.一个例子:
M=[2 3 4 5 6 7]
N=[1 2 3]
it1=(2*1)+(3*2)+(4*3)+(5*0)+...=20
it2=(3*1)+(4*2)+(5*3)+(6*0)+...=26
it3=..
Output=[20 26 ... ... ... ...]
Run Code Online (Sandbox Code Playgroud)
像那样直到结束但考虑矩阵N变量的大小.M总是大小相同.
这是一个卷积:
result = conv(M, N(end:-1:1), 'valid');
Run Code Online (Sandbox Code Playgroud)
要获得结果,您需要翻转第二个向量并仅保留卷积的"有效"部分(无边框效果).
在你的例子中:
>> M = [2 3 4 5 6 7];
>> N = [1 2 3];
>> result = conv(M, N(end:-1:1), 'valid')
result =
20 26 32 38
Run Code Online (Sandbox Code Playgroud)