zoukankan      html  css  js  c++  java
  • MATLAB 基础

    1.sum用法

    当x为矩阵时

    sum(x):对矩阵的每一列进行求和,得到一个行向量

    sum(x,2):对矩阵中每一行进行求和,得到一个列向量

    sum(x(:)):对矩阵中所有元素进行求和,得到的是一个数

    2.exist用法

    exist('b','var'):可以用来判断是否存在变量(var)b

    3.bsxfun用法

    bsxfun(fun,A,B):对两个矩阵A,B之间进行一些运算,运算方式由fun参数决定,bsxfun()可以对A,B自动扩维,而不必使用repmat

    1.判断A和B的维度是否相同,如果相同,直接运算;

    2.如果A和B的维度不同,则A或者B必须有一个在某个维度上是1,该函数进行扩维后,进行相应运算

    常用的操作:

     4.sort用法

    clear all;
    clc;
    close all;
    B = [2,3,6;0,2,8];

    [b,idx]=sort(B);%每一列进行升序排序,b为排序后的矩阵,idx为索引矩阵,每一个元素代表行号

    输出:

    b =

    0 2 6
    2 3 8

    idx=

    2 2 1
    1 1 2

    B = [2,3,6;9,2,8];

     [bb,index] = sort(B,2) %矩阵每一行进行升序排序,bb为排序后的矩阵,index为索引矩阵,为排序前元素的列号

    bb =

    2 3 6
    2 8 9

    index =

    1 2 3
    2 3 1

    5.issparse,sparse

     if issparse(aa)%确定aa的存储类是否为稀疏矩阵, 返回值为0,1

       aa = full(aa)   %full函数:把稀疏矩阵转为全矩阵

    sparse():创建稀疏矩阵

    栗子:

    a = [0,0,0,1;1,0,0,0;0,0,1,0]
    b = sparse(a)%非零数字从左到右表示,三元组存储,分别为(行号,列号,数值)

    b =

    (2,1) 1
    (3,3) 1
    (1,4) 1

    c=full(b)

    c =

    0 0 0 1
    1 0 0 0
    0 0 1 0

     6 sprintf( format,variable )

      category=‘car’;

      sprintf('%s.bmp',category)

      I = imread(sprintf('%s.bmp',category));
      load(sprintf('model_%s_graz.mat',category));

      %s表示字符串

      将数据格式转换成字符串

      方便加载数据集

     7 查找.mat文件中变量名

      whos('-file','文件名.mat')

      8 rgb2gray函数

      rgb2gray是matlab内部一种处理图像的函数,通过消除图像色调和饱和度信息同时保留亮度实现将将RGB图像或彩色图转换为灰度图像,即灰度化处理的功能,调用这个功能的格式是I = rgb2gray(RGB),意思是将真彩色图像RGB转换为灰度强度图像I 。

       9 ndims()

      求矩阵维度

      10 im2double()

      im2double 将输入转换为double类.若输入是uint8类 uint16 类 logical类则函数将其转换为范围[0,1]之间的类.若输入是double类,则函数im2double将返回一个与输入相等的数组.

      11 mresize函数

    功能:改变图像的大小。

    用法:B = imresize(A,m)
    B = imresize(A,m,method)
    B = imresize(A,[mrows ncols],method)

    B = imresize(...,method,n)
    B = imresize(...,method,h)

    imrersize函数使用由参数method指定的插值运算来改变图像的大小。method的几种可选值:
    'nearest'(默认值)最近邻插值
    'bilinear'双线性插值
    'bicubic'双三次插值
    B = imresize(A,m)表示把图像A放大m倍
    B = imresize(...,method,h)中的h可以是任意一个FIR滤波器(h通常由函数ftrans2、fwind1、fwind2、或fsamp2等生成的二维FIR滤波器)。

     12 mean(A,3)

      

      13 nargin

      在程序多个输入变量,多个输出变量的情况,在变量对应不匹配的情况下,增加程序的适应性。

      14 ceil:向上取整

      15 fspecial

      此函数用于建立预定义的滤波算子

      G = fspecial('gaussian', f_wid, sigma);

      高斯低通滤波

      H = FSPECIAL('gaussian',HSIZE,SIGMA):

      HSIZE:表示模板尺寸,可以是向量也可以是一个标量。sigma表示滤波器的标准值,单位为像素

       G是具有标准差sigma(正)的size尺寸的旋转对称高斯低通滤波器

     16 高斯滤波

      高斯滤波是根据一类高斯函数的形状来选择权值的线性平滑滤波器。高斯平滑滤波器对于抑制服从正态分布的噪声非常有效,高斯参数sigma决定了高斯函数的宽度。高斯平滑又叫低通滤波。所谓低通,信号高频部分受到削弱,信号低频部分可以通过,可以很好地去除噪声。

  • 相关阅读:
    active learning
    PLS-00201: identifier 'SYS.DBMS_CUBE_EXP' must be declared
    浅谈防火墙
    yum安装nginx错误处理
    简单的SQL注入
    mysql之查询语句练习题
    Linux权限和用户管理
    Linux文件及目录查找命令~~续集
    linux文件及目录查找命令
    linux文件管理练习题
  • 原文地址:https://www.cnblogs.com/shuangcao/p/11320189.html
Copyright © 2011-2022 走看看