【发布时间】:2017-03-12 10:09:25
【问题描述】:
我有 2 个矩阵定义如下:
A=[1 2;3 4]
B=[1 4; 5 3]
然后我像这样定义Aensem、Bensem和Gensem:
Arow=A(:);
Brow=B(:);
Aensem=repmat(Arow,1,10);
Bensem=repmat(Brow,1,10);
G=A*B;
Grow=G(:);
Gensem=repmat(Grow,1,10);
我需要创建一个可以直接从Aensem 和Bensem 计算任何Gensem 类数组的函数。我只知道Aensem 和Bensem。我尝试了以下方法,但它不起作用:
function ret = mat_mult(v1, v2, r)
ret = zeros(size(v1));
for i = 1:2*r.c.M
for j = 1:2*r.c.M
sum = 0;
for k = 1:2*r.c.M
sum = sum + ...
v1(idx1(i,k,r),:) .* v2(idx1(k,j,r),:);
ret(idx1(i,j,r),:)=sum;
end
end
end
end
【问题讨论】:
-
mat_mult的作用是什么?你定义了它,但从未使用它。 -
“不工作”不是 SO 的有效问题陈述。请说明什么是错误的:计算是否导致错误的值?你有错误吗?它是否适用于某些输入而不适用于其他输入?运行代码时你的电脑会起火吗?
标签: arrays matlab matrix sum multiplication