欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 人工智能 > 循环神经网络 >内容正文

循环神经网络

java matlab 矩阵_如何在MATLAB中将函数应用于矩阵的每一行/列?

发布时间:2025/3/21 循环神经网络 27 豆豆
生活随笔 收集整理的这篇文章主要介绍了 java matlab 矩阵_如何在MATLAB中将函数应用于矩阵的每一行/列? 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

你可能想要更模糊的Matlab函数bsxfun . 从Matlab文档中,bsxfun "applies the element-by-element binary operation specified by the function handle fun to arrays A and B, with singleton expansion enabled."

@gnovice在上面说过,sum和其他基本函数已经在第一个非单一维度上运行(即,如果有多个行,则为行;如果只有一行,则为列;如果较低的维度都具有大小,则为更高的维度== 1 ) . 但是,bsxfun适用于任何功能,包括(尤其)用户定义的功能 .

例如,假设你有一个矩阵A和一个行向量B.例如,让我们说:

A = [1 2 3;

4 5 6;

7 8 9]

B = [0 1 2]

你想要一个函数power_by_col,它在向量C中返回A中所有元素到B的相应列的幂 .

从上面的例子中,C是3x3矩阵:

C = [1^0 2^1 3^2;

4^0 5^1 6^2;

7^0 8^1 9^2]

即,

C = [1 2 9;

1 5 36;

1 8 81]

你可以使用repmat以蛮力的方式做到这一点:

C = A.^repmat(B, size(A, 1), 1)

或者您可以使用bsxfun以优雅的方式执行此操作,bsxfun在内部负责repmat步骤:

C = bsxfun(@(x,y) x.^y, A, B)

所以bsxfun会为你节省一些步骤(你不需要明确地计算A的尺寸) . 然而,在我的一些非正式测试中,事实证明,如果要应用的函数(如上面的幂函数)很简单,repmat的速度大约是其两倍 . 因此,您需要选择是否需要简单性或速度 .

总结

以上是生活随笔为你收集整理的java matlab 矩阵_如何在MATLAB中将函数应用于矩阵的每一行/列?的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。