问题标签 [bsxfun]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
matlab - 在矩阵的行上调用通用函数
我想为 Matlab 中的通用核函数有效地计算核矩阵。这意味着我需要k(x,y)
为每一行x
和X
每一行y
计算Y
. 这是一些计算我想要的matlab代码,但它相当慢,
是否有任何其他方法可以解决这个问题,例如某些bsxfun
变体在从X
and获取的每一行上调用一个函数Y
?
matlab - matlab代码中的矩阵维数错误
我正在 matlab 中尝试特定代码但收到错误
Error using ==> plus
Matrix dimensions must agree.
在这条线上
在哪里k=w*alpha;
和[LL,LH,HL,HH] = dwt2(X,'db1','d');
请X=imread('cameraman.tif');
X=im2double(X);
帮助我应该如何解决这个错误?
编辑:我浏览了这里的一篇文章并尝试使用 bsxfun
但这并不能解决问题
编辑 2:代码是关于使用 dwt 算法的数字图像水印,我在浏览互联网时发现了这个代码,但它给出了我上面讨论的错误。
我已经发布了代码的前半部分,直到出现错误。
我希望我的回复对解决错误有用
matlab - 下标索引必须是实数正整数或逻辑数
我编写了一个函数来对具有三行的矩阵的每一行求和。
然后使用具有一行和三列的矩阵来划分先前的结果。
但我不断收到这个错误。我知道下标不应该是小数或负数。但我还是找不到罪魁祸首。请帮忙,谢谢。
例如:
一个=
乙= 7 8 9
然后我想得到
更新:
罪魁祸首: 我在前面的命令行中使用 mean_access_time 作为变量。
matlab - MATLAB - bsxfun 用于负值
我正在使用命令规范化数据集
我在两个不同的数据集上尝试了这个函数。一个也有负值。其他人没有。没有负值的数据集在 0 和 1 之间完美归一化。并且具有负值的那个没有正确规范化。这可以解决吗?还有另一种方法可以用负值规范化数据集吗?
matlab - Matlab - 矩阵除以零 - 零和 NaN
我正在尝试将精度矩阵 sigmaT 转换为协方差矩阵。我尝试了两种方法:
和
sigmaT 中的某些元素为零,因此会发生除以零。第一种基于循环的解决方案将发生被 0 除的元素保留为 0,第二种方法将元素设置为 NaN。
我的问题是:为什么它们的行为不同,我怎样才能将第二种单行方法更改为基于循环的方法?我相信后一种解决方案在大型矩阵上应该明显更快。
matlab - 使用 bsxfun 计算匹配值两个矩阵
我c=bsxfun(@eq,b,a)
用来比较两个矩阵的值。但我发现很难计算不匹配的值。例如,我使用这段代码
和结果
我想用第二个匹配保存值第一个匹配矩阵。例如
你有什么建议吗?谢谢..
matlab - 避免 sub2ind 和 ind2sub
我需要访问 3D 中某个点周围的多个索引。例如,对于点 ( x1
, y1
, z1
),我需要获取其 3x3x3 邻域的所有索引,使得 ( x1
, y1
, z1
) 居中。为大小 3 的附近,我做
在这里,我通过添加从 ( , , ) 到 3x3x3 框中任意点的距离来x1
将y1
、、居中。z1
x1
y1
z1
x1
这给了我 ( , y1
, z1
) 3x3x3 邻域的坐标。然后我需要将它们转换为线性索引,以便我可以访问它们:
这是我所做的代价高昂的事情。
我的问题是,如何避免sub2ind
. 如果inx
是 ( x1
, y1
, z1
) 的线性索引,
如何通过加减或任何其他简单操作找到线性索引的 3x3x3 邻域inx
?
matlab - 在对非常大的矩阵中的每一行执行操作时,如何避免 MATLAB 中的 for 循环?
我正在使用MATLAB。我有非常大的 稀疏矩阵,我想在这个矩阵的每一列上执行一个logical
或。bsxfun
有一个循环,其中是填充稀疏矩阵for
的单个操作。logical
在这里,我包含了一个带有一些虚假小数据的示例函数,以查看我想要做什么;
graph_temp
并且com_mat
更大,大约有1Mfor
行和列,并且代码对循环的执行速度非常慢。关于 SO 这里还有另一个相关问题,但我还没有理解它背后的理论,看看我是否也可以将这些解决方案应用于这个问题。
我正在考虑编写一个mex
c++ 函数或尝试进行某种嵌套arrayfun
,以便将每个logical
/bsxfun
操作作为更大函数的子例程调用,以避免 for 循环瓶颈。
matlab - Matlab向量化矩阵减法使用bsxfun
我有一个数组Y=rand(1000,28);
,我想找到列差异:
我可以这样做bsxfun
吗?
matlab - Matlab:您对使用矩阵的小内存问题的看法
我有一个关于 MATLAB 内存消耗的小问题。
我的架构:
- Linux OpenSuse 12.3 64 位
- 16 GB 内存
- Matlab 2013a 64 位
我处理一个大小为:62 x 11969100(称为 y)的双精度矩阵
当我尝试以下操作时:
或者干脆
我收到了OUT of MEMORY 错误(在这两种情况下)。
我刚刚计算了为矩阵分配的 ram 空间:
62 x 11969100 x 8 = 5.53 GB
我哪里错了?!
非常感谢!