您的位置:首页 > 编程语言 > MATLAB

Matlab的bsxfun函数

2016-04-06 11:25 232 查看

bsxfun

Matlab 中的定义:

Apply element-by-element binary operation to two arrays with singleton expansion enabled

举例说明:

1)两个矩阵相加

a=⎡⎣⎢567⎤⎦⎥\begin{bmatrix}
5 \\
6 \\
7\\
\end{bmatrix}b=[123]\begin{bmatrix}
1 & 2& 3\\
\end{bmatrix}

c=a*b=567101214151821
\begin{matrix}
5 & 10 &15\\
6& 12 & 18\\
7 & 14& 21 \\
\end{matrix}

利用c=bsxfun(@times,a,b)实现相同的功能

2)两个矩阵相加

因为a,b的尺寸不同,因此bsxfun将a,b先改变矩阵格式b=⎡⎣⎢111222333⎤⎦⎥a=⎡⎣⎢567567567⎤⎦⎥b= \begin{bmatrix}
1 & 2 &3\\
1 & 2 &3\\
1 & 2 &3\\
\end{bmatrix}
a=\begin{bmatrix}
5 & 5&5\\
6 &6 &6\\
7 & 7 &7\\\end{bmatrix}

然后实现

c=a+b=⎡⎣⎢6787898910⎤⎦⎥\begin{bmatrix}
6 & 7&8\\
7&8 &9\\
8 & 9 &10\\\end{bmatrix}

C=bsxfun(fun,A,B),其中fun有以下:

1)@plus 相加

2)@minus 相减

3)@times 相乘

…..
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: