问题标签 [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.

0 投票
3 回答
11220 浏览

matlab - 用另一个矩阵对一个矩阵进行排序

假设我有一个矩阵A,我对该矩阵的行进行排序。如何在矩阵上复制相同的顺序B(当然大小相同)?

例如

这是我想出的最好的

出于好奇,还有其他选择吗?

更新: Jonas在 2008a (XP) 上的出色解决方案:

n = n

n = 2m

它只是表明循环不再是 MATLAB 程序员的诅咒,这要归功于JITA(也许)。

0 投票
5 回答
7702 浏览

matlab - MATLAB 程序员教程

我很快就会招来一些新学生,他们将编写 MATLAB 代码。他们是 MATLAB 新手,但他们有 Java 和 C++ 编码经验。

我将让他们阅读 MATLAB 帮助的入门部分。另外,我想给出一个小教程,目的是防止他们犯一些人们在切换到 MATLAB 时最常见的错误(例如“MATLAB 从 1 开始计数”),并向他们展示一些他们可能不会的特性当来自其他语言时要注意(例如“你可以直接从数组中减去一个标量,对于向量,有 bsxfun”)。

我应该告诉他们最重要的事情是什么?

0 投票
1 回答
843 浏览

matlab - 从mathematica 到matlab 的转换 --> (appendto)

我在mathematica中有以下内容并想在matlab中使用它。我试过但我有错误并且无法修复它们。这是我还没有得到matlab哲学!所以,

我这样做了:

0 投票
2 回答
3773 浏览

matlab - Matlab 的 bsxfun() 代码

这是做什么的?

没有 bsxfun 有没有等效的方法?

0 投票
4 回答
2874 浏览

matlab - 在 Matlab 中创建和操作三维矩阵

我拼命地试图避免forMatlab 中的循环,但我不知道该怎么做。情况如下:

我有两个m x n矩阵AB两个向量vw长度d。我想进行外乘Av这样我就得到了一个m x n x d矩阵,其中(i,j,k)条目是,对于andA_(i,j) * v_k也是类似的。Bw

之后,我想添加结果m x n x d矩阵,然后mean沿着最后一个维度取回一个m x n矩阵。

我很确定我可以处理后一部分,但第一部分让我完全卡住了。我尝试使用bsxfun无济于事。有人知道这样做的有效方法吗?非常感谢!

编辑:此修订版是在以下三个很好的答案之后进行的。毫无疑问,gnovice 对我提出的问题有最佳答案。但是,我要问的问题涉及在取平均值之前对每个条目进行平方。我最初忘记提及这部分。鉴于这种烦恼,其他两个答案都很好,但是这次在编码之前做代数的聪明技巧并没有帮助。谢谢大家的帮助!

0 投票
1 回答
512 浏览

matlab - matlab归一化问题

我有 84 组数据,第一组数据由下面的代码归一化...归一化方程是 (((N-min)*2)/(max-min))-1)...

现在,每个数据集都有 27 列。从第一个数据集的原始数据中,找出每列的最大值和最小值..所以,我们每列有 27 个最大值和 27 个最小值......然后通过使用每列的这 27 个最大值和 27 个最小值,规范化第 1 组数据和第 2 到第 84 个数据集......

但是,来自 b3 答案的以下代码与上述代码的结果不同。

我可以知道代码有什么问题吗?

0 投票
3 回答
4479 浏览

matlab - MATLAB 版本 7 中的 pdist2 等效项

我需要在matlab中计算2个矩阵之间的欧几里得距离。目前我正在使用 bsxfun 并计算距离如下(我附上了一段代码):

fea_test 的大小是 4754x1024 和 fea_train 是 6800x1024 ,使用他的 for 循环导致 for 的执行需要大约 12 分钟,我认为这太高了。有没有办法更快地计算两个矩阵之间的欧几里得距离?

有人告诉我,通过删除不必要的 for 循环,我可以减少执行时间。我也知道 pdist2 可以帮助减少计算时间,但由于我使用的是 matlab 7 版,所以我没有 pdist2 函数。升级不是一种选择。

任何帮助。

问候,

巴维亚

0 投票
1 回答
417 浏览

matlab - 是否有用于矩阵乘法/除法的 Matlab `bsxfun` 的类似物?

我需要将列表向量乘以矩阵列表。目前我正在使用 for 循环进行操作:

我可以在没有for循环的情况下写这个吗?

0 投票
4 回答
822 浏览

matlab - 广义矩阵积

我对 MATLAB 相当陌生。一个 M x K 矩阵乘以一个 K x N 矩阵的正常矩阵乘法 - C = A * B- 有c_ij = sum(a_ik * b_kj, k = 1:K)。如果我想让它代替c_ij = sum(op(a_ik, b_kj), k = 1:K)一些简单的二进制操作op怎么办?有没有什么好的方法可以在 MATLAB(或者甚至是内置函数)中对其进行矢量化?

编辑:这是目前我能做的最好的。

0 投票
1 回答
639 浏览

matlab - 从给定日期减去月份

我需要从矩阵中的给定 DateCol 中减去月份。我正在使用该命令bsxfun(@minus, datevec(date),[0,3,0,0,0,0]) 从给定日期中减去 3 个月。您可以看到此代码中有一个错误。如果日期是 2011 年 2 月 1 日,则此代码会将您带到 2011 年 1 月 1 日,而不是 2010 年 11 月 1 日。

垫= [100 734505; 200 734536;200 734539];% Col1 是 ID,Col2 是日期

你能建议一种矢量化的方法吗?对于单一日期(矩阵之外),addtodate(d, -3, 'month')工作得非常好!