matlab常用技巧、语法

技巧

输入输出参数

narginnargoutvararginvarargout
函数输入参数数目函数输出参数数目可变长度输入参数列表可变长度的输出参数列表

示例:

function varargout = Test(a, b, varargin)
    if (nargin == 2)
        fprintf('共有%d个输入参数.\n',nargin);
        varargout{1} = a;
        varargout{2} = b;
    elseif (nargin == 3)
        fprintf('共有%d个输入参数.\n',nargin);
        varargout{1} = a; 
        varargout{2} = b; 
        varargout{3} = varargin{1};
    end
end

[a, b, c] = Test(1,2,3)
共有3个输入参数.

a = 1

b = 2

c =3


常用的操作

矩阵的操作

  1. 扩展(复制矩阵)
    repmat(A,2,1) : 将矩阵A垂直方向复制2次,水平方向复制1次(等于没有复制)

  2. 重构矩阵(改变矩阵的形状)
    A = eye(3);A = reshape(A,[1,9]);

高斯分布

  1. 基础的函数
randn() : 产生均值为0,方差为1 的高斯分布
rand()  :产生[0,1] 的均匀分布
  1. 产生10*10的矩阵,里面数服从均值是5,方差是D的高斯分布
    A = 5+sqrt(D)*randn(10,10)

求和

  1. 普通求和

B = sum(A, dim) %将矩阵A按dim求和,返回的维度降低一维,默认1,按行求和, 输入n*n, 输出1*n

A = [1,2;3,4]
B = sum(A) 
%B=[4,6]

  1. 累积求和(cumulative sum)

B = cumsum(A, dim) % 输出和A一样的维度
dim = 1 : 每个元素按行求和,求它以上的元素之后(default)
dim = 2 : 每个元素按列求和,求它以左的元素之后
如果A是向量或者数组,每个元素 = 求它以上或者以左的和

X =

     0     1     2
     3     4     5

>> cumsum(X,1)

ans =

     0     1     2
     3     5     7

K>> cumsum(X,2)

ans =

     0     1     3
     3     7    12

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
A =

     1
     2
     3

>> cumsum(A)

ans =

     1
     3
     6

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
A =

     1     2     3

>> cumsum(A)

ans =

     1     3     6
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值