matlab 实用 api

来源:互联网 发布:西班牙语扫描翻译软件 编辑:程序博客网 时间:2024/06/05 15:04

bsxfun

Apply element-by-element(逐元素) binary operation(二元操作,体现在第一个参数) to two arrays with singleton expansion enabled.

比如我们要 0 均值化一副图像:

patches = bsxfun(@minus, patches, mean(patches));

在 matlab 中是没有 broadcasting 的概念的:

>>> A = magic(3)ans =     8     1     6     3     5     7     4     9     2>>> A - mean(A)错误使用  - 矩阵维度必须一致。>> A = A - repmat(mean(A), size(A, 1), 1)A =     3    -4     1    -2     0     2    -1     4    -3>>> mean(A)ans =     0     0     0

exist

Check existence of variable(变量), function(函数), folder(文件夹), or class(类)。

testresults = magic(5);exist testresults var                    % exist('testresults', 'var') ⇒ 可以用来赋值,前者不可以ans = 1
A = exist('plot')A =     5        % This indicates that plot is a built-in MATLAB function.

cat:多个二维矩阵拼接为一个三维矩阵

cat:在指定维度上进行拼接

cat:Concatenate

C = cat(dim, A, B)C = cat(dim, A1, A2, A3, A4, ...)                % 第一个参数为指定的维度,                % 后续参数为可变参数
>> A = [1, 2; 3, 4], B = [5, 6; 7, 8]A =     1     2     3     4B =     5     6     7     8>> cat(1, A, B)ans =     1     2     3     4     5     6     7     8                 % 等价于 [A; B]>> cat(2, A, B)ans =     1     2     5     6     3     4     7     8                 % 等价于 [A, B]>> cat(3, A, B)ans(:,:,1) =     1     2     3     4ans(:,:,2) =     5     6     7     8
0 0
原创粉丝点击