matlab学习笔记 函数bsxfun repmat
2016-04-13 19:50
330 查看
函数bsxfun
【功能描述】两个数组间元素逐个计算.
【应用场合】当我们想对一个矩阵A的每一列或者每一行与同一个长度相等的向量a进行某些操作(比较大小,乘除等)时,我们只能用循环方法或者利用repmat函数将要操作的向量a复制成和A一样尺寸的矩阵,进而进行操作。从MATLAB R2007a开始,再遇到类似的问题时,我们有了简洁高效的方法,即利用bsxfun函数。
【函数描述】C=bsxfun(fun,A,B):两个数组间元素逐个计算,fun是函数句柄或者m文件,也可以为如下内置函数
@plus 加
@minus 减
@times 数组乘
@rdivide 左除
@ldivide 右除
For example: 如何将一个矩阵的每行或每列元素分别扩大不同的倍数?如[1 2 3;4 5 6 ;7 8 9],第一列元素乘以1,第二列元素以2,第三列元素乘以4。
利用bsxfun函数,可以给出下列代码:
a = [1,2,3;4,5,6;7,8,9];
acol = bsxfun(@times,a,[1 2 4])
Matlab中repmat函数用法
复制和平铺矩阵
函数 repmat
格式 B = repmat(A,m,n) %将矩阵A复制m×n块,即B由m×n块A平铺而成。
B = repmat(A,[m n]) %与上面一致
B = repmat(A,[m n p…]) %B由m×n×p×…个A块平铺而成
repmat(A,m,n) %当A是一个数a时,该命令产生一个全由a组成的m×n矩阵。
B=repmat(A,m,n):把矩阵A复制n*m份,并堆叠构成矩阵B,矩阵B的大小为[size(A,1)*m, size(A,2)*n]。
【功能描述】两个数组间元素逐个计算.
【应用场合】当我们想对一个矩阵A的每一列或者每一行与同一个长度相等的向量a进行某些操作(比较大小,乘除等)时,我们只能用循环方法或者利用repmat函数将要操作的向量a复制成和A一样尺寸的矩阵,进而进行操作。从MATLAB R2007a开始,再遇到类似的问题时,我们有了简洁高效的方法,即利用bsxfun函数。
【函数描述】C=bsxfun(fun,A,B):两个数组间元素逐个计算,fun是函数句柄或者m文件,也可以为如下内置函数
@plus 加
@minus 减
@times 数组乘
@rdivide 左除
@ldivide 右除
For example: 如何将一个矩阵的每行或每列元素分别扩大不同的倍数?如[1 2 3;4 5 6 ;7 8 9],第一列元素乘以1,第二列元素以2,第三列元素乘以4。
利用bsxfun函数,可以给出下列代码:
a = [1,2,3;4,5,6;7,8,9];
acol = bsxfun(@times,a,[1 2 4])
Matlab中repmat函数用法
复制和平铺矩阵
函数 repmat
格式 B = repmat(A,m,n) %将矩阵A复制m×n块,即B由m×n块A平铺而成。
B = repmat(A,[m n]) %与上面一致
B = repmat(A,[m n p…]) %B由m×n×p×…个A块平铺而成
repmat(A,m,n) %当A是一个数a时,该命令产生一个全由a组成的m×n矩阵。
B=repmat(A,m,n):把矩阵A复制n*m份,并堆叠构成矩阵B,矩阵B的大小为[size(A,1)*m, size(A,2)*n]。
相关文章推荐
- BOF算法+K-Means算法实现图像检索(Matlab实现代码)
- 图像颜色与强度分离(intensity and color decouple)方法 matlab代码
- MATLAB中取整函数——【fix, floor, ceil, round】的使用
- Matlab 函数atan 函数atan2 的区别
- Matlab 中的 isnan 函数
- MATLAB的基础-虽然基础,但全是细节,掌握了这些细节,才是MATLAB高手
- 极限学习机(ELM)算法的matlab与C++实现
- opencv的canny函数检测边缘的效果和matlab的不同
- matlab读取txt文档行数
- matlab绘制三维图形
- 图像的线性空间滤波matlab实现
- 用VBA,MATLAB,C 生成密码字典文件(源代码)
- MATLAB NN中train和adapt区别
- matlab直方图均衡
- 视频运动矢量图matlab
- Matlab中的向量
- Matlab中的向量
- 将mxArray转化为Mat类型
- Matlab、C++混合编程调用OpenCV
- matlab中Signal Builder模块的用法总结