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)