- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我需要将矩阵 A
与 n 个矩阵相乘,然后得到 n
矩阵。例如,将 2x2 矩阵与 3 个堆叠为 2x2x3 Matlab 数组的 2x2 矩阵相乘。 bsxfun
是我通常在这种情况下使用的,但它只适用于元素操作。我可以做类似的事情:
blkdiag(a, a, a) * blkdiag(b(:,:,1), b(:,:,2), b(:,:,3))
但我需要一个任意 n
的解决方案 - ?
最佳答案
您可以 reshape
堆叠矩阵。假设您有 k
-by-k
矩阵 a
和一堆 m
k
-by-k
矩阵 sb
并且您想要 a*sb(:,:,ii)
的乘积 ii = 1 ..米
。那么你所需要的就是
sza = size(a);
b = reshape( b, sza(2), [] ); % concatenate all matrices aloong the second dim
res = a * b;
res = reshape( res, sza(1), [], size(sb,3) ); % stack back to 3d
关于matlab - bsxfun-like 用于矩阵乘积,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21088832/
我有一个二元函数,大致看起来像 func=@(i,j)exp(-32*(i-j)^2); 网格如下 [X Y]=meshgrid(-10:.1:10); 奇怪的是,arrayfun 会产生正确的结果,
这是做什么的? u = [5 6]; s = [1 1]; data1 =[randn(10,1) -1*ones(10,1)]; data2 =[randn(10,1) ones(10,
在 Matlab R2016a 中,我有一大组成对的小 X 向量和 Y 向量(例如,10,000 个 1x3 X 向量与 10,000 个 1x3 Y 向量配对)。对于每个 {X,Y} 对,我想为 X
我有两组(50 个训练和 25 个测试)大小为 42 的直方图集。(这些数字是任意的,它们在现实中会更大,所以我正在寻找一种有效的方法。而且约定可能是相反的在转置方面,请随意使用任何约定 [featu
我主要使用 bsxfun 对我的代码进行矢量化,但我遇到了一个我无法完全破解的场景。这是一个小问题示例。我想删除此代码中的 for 循环,但我很难处理 tempEA 行。 Index = [2; 3;
这里主要想研究两点- bsxfun 有六个内置关系运算:@eq (equal)、@ne(不等于)、@lt(小于)、 @le(小于或等于)、@gt(大于) 和 @ ge(大于或等于)。很多时候我们将它们
我有一个问题。我正在尝试实现这段简短的代码。 我已经完成了基本步骤。请在下面检查我的代码: clc;clear all;close all; A=round(-3+(6).*rand(5,5)); B
我想将逐个元素的二元运算应用于大型逻辑向量。这些向量的内容是错误的,因此出于性能考虑,最好使用稀疏矩阵。如果我这样做,结果矩阵是不正确的。 例子 A = logical([0;1;0;0]); B =
我正在做一个关于神经网络的项目,我的工作介质是 Matlab。运行以下代码时: net=train(net, feat_mat, gt_mat); 我使用的神经网络是具有 3 个隐藏层的 ffnn。
假设我有 2 个向量,我想做一个外积。我可以使用: A=x*y'; 或者我可以像这样使用bsxfun: bsxfun(@times,x,y') 但我想批量生产外部产品。我有 2 个矩阵,每个矩阵都包含
我在 MATLAB 中有两个数组: A; % size(A) = [NX NY NZ 3 3] b; % size(b) = [NX NY NZ 3 1] 事实上,在三维域中,我为每个 (i, j,
在尝试理解 bsxfun 函数后,我尝试在脚本中实现它以避免循环。我试图检查数组中的每个单独元素是否包含在一个矩阵中,返回一个与分别包含 1 和 0 的初始数组大小相同的矩阵。我创建的匿名函数是: m
我正在使用 bsxfun在大小矩阵之间通过单例扩展对操作进行矢量化: MS: (nms, nls) KS: (nks, nls) 运算是对每个值的绝对差求和MS(m,l)与 m在1:nms和 l在1:
使用 MATLAB,想象一个 Nx6 的数字数组,它代表 N 个具有 3+3=6 个起始点和终点坐标的线段。 假设我有一个 function Calc_Dist( Segment_1, Segment
对于非数字数据,是否有等价于 bsxfun 的方法? 例如,我想比较存储在两个元胞数组中的所有字符串对: >> a = {'aa', 'bb', 'cc'}; >> b = {'dd', 'aa'};
我需要将矩阵 A 与 n 个矩阵相乘,然后得到 n 矩阵。例如,将 2x2 矩阵与 3 个堆叠为 2x2x3 Matlab 数组的 2x2 矩阵相乘。 bsxfun 是我通常在这种情况下使用的,但它只
在我的工作(计量经济学/统计学)中,我经常需要将不同大小的矩阵相乘,然后对生成的矩阵执行其他操作。我一直依靠 bsxfun() 来矢量化代码,总的来说我发现它比 repmat() 更有效。但我不明白的
一如既往地想向您学习更多信息,我希望我能在以下代码方面得到一些帮助。 我需要完成以下任务: 1) 我有一个向量: x = [1 2 3 4 5 6 7 8 9 10 11 12] 2) 和一个矩阵:
我有一个 double 的 2092x252 矩阵s 并且需要创建一个 for使用 bsxfun 的循环.对于这个例子,我们只说bsxfun(@minus) .我需要循环完成的是运行 bsxfun(@
从 bsxfun 的 Matlab 文档中给出了一个示例: fun = @(A,B) A.*sin(B); A = 1:7; B = pi*[0 1/4 1/3 1/2 2/3 3/4 1].'; %
我是一名优秀的程序员,十分优秀!