Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arrays 线性索引后的Matlab数组乘法_Arrays_Matlab_Matrix_Sum_Multiplication - Fatal编程技术网

Arrays 线性索引后的Matlab数组乘法

Arrays 线性索引后的Matlab数组乘法,arrays,matlab,matrix,sum,multiplication,Arrays,Matlab,Matrix,Sum,Multiplication,我有两个矩阵,定义如下: A=[1 2;3 4] B=[1 4; 5 3] A_ = reshape(Aensem(:, 1), 2, 2); % extract A from Aensem B_ = reshape(Bensem(:, 1), 2, 2); % extract B from Bensem G_ = A_*B_; % calculate G based on the extracted A and B Gensem_ = repmat(G_(:),1,10); % bui

我有两个矩阵,定义如下:

A=[1 2;3 4]   
B=[1 4; 5 3]
A_ = reshape(Aensem(:, 1), 2, 2); % extract A from Aensem
B_ = reshape(Bensem(:, 1), 2, 2); % extract B from Bensem
G_ = A_*B_; % calculate G based on the extracted A and B
Gensem_ = repmat(G_(:),1,10); % build Gensem
然后我定义
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     

如果我正确理解您的问题,您希望直接从
Aensem
Bensem
计算
Gensem
。这可以通过以下方式完成:

A=[1 2;3 4]   
B=[1 4; 5 3]
A_ = reshape(Aensem(:, 1), 2, 2); % extract A from Aensem
B_ = reshape(Bensem(:, 1), 2, 2); % extract B from Bensem
G_ = A_*B_; % calculate G based on the extracted A and B
Gensem_ = repmat(G_(:),1,10); % build Gensem

如果我正确理解您的问题,您希望直接从
Aensem
Bensem
计算
Gensem
。这可以通过以下方式完成:

A=[1 2;3 4]   
B=[1 4; 5 3]
A_ = reshape(Aensem(:, 1), 2, 2); % extract A from Aensem
B_ = reshape(Bensem(:, 1), 2, 2); % extract B from Bensem
G_ = A_*B_; % calculate G based on the extracted A and B
Gensem_ = repmat(G_(:),1,10); % build Gensem

材料的功能是什么?您定义了它,但从未使用过它。“不工作”不是有效的问题陈述。请指定错误:计算是否导致错误值?你有错误吗?它对某些输入有效,而对其他输入无效吗?运行代码时,您的计算机是否着火?mat\u mult的功能是什么?您定义了它,但从未使用过它。“不工作”不是有效的问题陈述。请指定错误:计算是否导致错误值?你有错误吗?它对某些输入有效,而对其他输入无效吗?当你运行代码时,你的电脑会着火吗?