MATLAB常用函数

来源:互联网 发布:springboot源码分析 编辑:程序博客网 时间:2024/06/09 15:11

%%%%%%%%%%%%%%%
%MATLAB常用函数
%%%%%%%%%%%%%%%

%%%%%%%%%%%%%%%%
%特殊矩阵构造函数
%%%%%%%%%%%%%%%%
ones        创建一个所有元素都为1的矩阵
zeros       创建一个所有元素都为0的矩阵
eye         创建对角线元素为1,其他元素为0的矩阵
accumarray  将输入矩阵的元素分配到输出矩阵中的指定位置
diag        根据向量创建对角矩阵
magic       创建一个方形矩阵,其中行、列和对角线上元素的和相等
rand        创建一个矩阵或数组,其中的元素为服从均匀分布的随机数
randn       创建一个矩阵或数组。其中的元素为服从正态分布的随机数
randperm    创建一个向量(1*n的矩阵)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%%%%%%%%%%%%
%矩阵聚合函数
%%%%%%%%%%%%
cat      沿指定的维聚合矩阵
horzcat  水平聚合矩阵
vertcat  垂向聚合矩阵
repmat   通过复制和叠置矩阵来创建新矩阵
blkdiag  用已有矩阵创建块对角矩阵
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%%%%%%%%%%%%
%矩阵信息函数
%%%%%%%%%%%%
length  返回最长维的长度
ndims   返回维数
numel   返回元素个数
size    返回每一维的长度
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%%%%%%%%%%%%%%%%
%数据类型检查函数
%%%%%%%%%%%%%%%%
isa        确定输入数据是否属于给定类型
iscell     确定输入数据是否属于单元数组
iscellstr  确定输入数据是否属于字符串单元数组
ischar     确定输入数据是否属于字符数组
isfloat    确定输入数据是否属于浮点数组
isinteger  确定输入数据是否属于整型数组
islogical  确定输入数据是否属于逻辑数组
isnumeric  确定输入数据是否属于数值数组
isreal     确定输入数据是否属于实型数组
isstruct   确定输入数据是否属于结构数组
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%%%%%%%%%%%%%%%%
%数据结构检查函数
%%%%%%%%%%%%%%%%
isempty   确定输入数据是否为空
isscalar  确定输入数据是否为标量
issparse  确定输入数据是否为稀疏矩阵
isvector  确定输入数据是否为向量
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%%%%%%%%%%%%%%
%重塑矩阵的函数
%%%%%%%%%%%%%%
reshape    重塑矩阵
rot90      旋转矩阵90度
fliplr     沿垂轴翻转矩阵
flipud     沿水平轴翻转矩阵
flidim     沿指定方向翻转矩阵
transpose  沿主对角线翻转矩阵
ctranspose 转置矩阵
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%%%%%%%%
%导入数据
%%%%%%%%
load                       %导入数据
load('data.txt','-ascii')  %导入文本数据
load wind                  %导入MAT文件数据
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%表达式采用的算术运算符和优先规则
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  %加
  %减
  %乘
  %除
  %左除
  %幂
  %复数共轭转置
()  %指定计算顺序
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%%%%%%%%%%%%%%%%%%
%常用常数的表示和值
%%%%%%%%%%%%%%%%%%
pi       %3.14159265……
       %虚数单位
       %与i相同
eps      %浮点相对精度
realmin  %最小浮点数
realmax  %最大浮点数
Inf      %无限值
NaN      %空值
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%%%%%%%%%%
%逻辑操作符
%%%%%%%%%%
  %逻辑与   and(X,Y)
  %逻辑或    or(X,Y)
~  %逻辑非   not(X,Y)
    %逻辑异或 xor(X,Y)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%%%%%%%%%%
%多项式函数
%%%%%%%%%%
conv     多项式相乘
deconv   多项式相除
poly     用多项式的根求多项式系数
polyder  多项式求导
polyfit  多项式曲线拟合
polyval  多项式评价
polyvalm 矩阵多项式评价
residue  残差运算
roots    多项式求根,是poly函数的逆运算
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%%%%%%%%%%%%%%%%%%%%
%MATLAB提供的插值函数
%%%%%%%%%%%%%%%%%%%%
griddata   数据网格化和曲面拟合
griddata3  三维数据的网格化和超曲面拟合
griddatan  大于三维数据的网格化和超曲面拟合
interp1    一维插值
interp2    二维插值
interp3    三维插值
interpft   用快速傅立叶变换(FFT)进行一维插值
interpn    N维插值
mkpp       使用分段多项式
pchip      分段三次Hermite插值多项式(PCHIP)
ppval      分段多项式评价
spline     三次样条数据插值
unmkpp     分段多项式细节
@@@@@@@@@@@@@@@@@@@@@@@@
%%%%%%%%
%一维插值
%%%%%%%%
%yi=interp1(x,y,xi,method)
%x,y为给定数据的向量,长度相同;xi为包含要插值的点的向量。
%最近邻插值(method='nearest')
%线性插值(method='linear')
%三次样条插值(method='spline')
%三次插值(method='pchip'或'cubic')
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
%%%%%%%%%%%%%
%基于FFT的插值
%%%%%%%%%%%%%
%y=interpft(x,n)
%x是一个包含周期函数值的向量,这些值在等间隔的点上采取;n为样本大小。
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
%%%%%%%%
%二维插值
%%%%%%%%
%ZI=interp2(X,Y,Z,XI,YI,method)
%Z是一个矩形数组,包含二维函数的值,X和Y为大小相同的数组,包含相对于Z的给定值。XI和YI为包含插值点数据的矩阵,method表示插值方法。
%最近邻插值(method='nearest')
%双线性插值(method='linear')
%双三次插值(method='cubic')
@@@@@@@@@@@@@@@@@@@@@@@@@@@
%%%%%%%%%
%高维插值
%%%%%%%%%
%VI=interp3(X,Y,Z,V,XI,YI,ZI,method)
%VI=interpn(X1,X2,X3,...,V,Y1,Y2,Y3,...,method)
%[X1,X2,X3,...]=ndgrid(x1,x2,x3,...)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%%%%%%%%%%%%%%%%%%
%多维数据的插值函数
%%%%%%%%%%%%%%%%%%
interp3  三维数据插值
interpn  多维数据插值
ndgrid   多维数据网格化
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%%%%%%%%%%%%%%%%%%%%%%%%%%%
%与数据分析和统计有关的工具箱
%%%%%%%%%%%%%%%%%%%%%%%%%%%
optimization toolbox           优化工具箱           %非线性曲线拟合和回归
signal processing toolbox      信号处理工具箱       %信号处理、滤波和频率分析
pline toolbox                  样条工具箱           %曲线拟合和回归
statistics toolbox             统计工具箱           %高级统计分析、非线性曲线拟合和回归
system identification toolbox  系统辨识工具箱       %参数/ARMA建模
wavelet toolbox                小波工具箱           %小波分析
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%%%%%%%%%%%%%%%%
%基本数据分析函数
%%%%%%%%%%%%%%%%
max         最大值
min         最小值
mean        平均值
median      中值
range       极差
sum         元素的和
prod        元素的乘积
cumsum      元素的累积和
cumprod     元素的累积乘积
cumtrapz    累积梯形数值积分
sort        对数组元素按升序或降序排列
sortrows    将行按升序排列
diff        差分函数和近似求导 %向量连续元素之间的差,向量的数值偏导数
gradient    矩阵的数值偏导数
del2        矩阵的离散拉普拉斯变换
trapz       梯形数值积分
std         标准差 %std(X)
cov         向量的方差 矩阵的方差 %cov(X,Y)
corrcoef    相关系数 %corrcoef(X,Y)
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%将向量x用于diff函数的几种方法
%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%diff(x)==0             测试是否有重复元素
%all(diff(x)>0)         测试x的单调性
%all(diff(diff(x))==0)) 测试向量元素是否等间隔排列
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
%%%%%%%%%%
%数据预处理
%%%%%%%%%%
%用isnan函数剔除NaN的几种方法
%i=find(~isnan(x));
%x=x(i)
%查找向量中非NaN的元素的编号,然后只保留非NaN元素。
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
%x=x(find(~isnan(x)))
%从向量中剔除NaN
@@@@@@@@@@@@@@@
%x=x(~isnan(x))
%从向量中快速剔除NaN
@@@@@@@@@@@@@@@@@@@
%x(isnan(x))=[]
%从向量中剔除NaN
@@@@@@@@@@@@@@@
%X(any(isnan(X)'),:)=[]
%从矩阵X中剔除任何包含NaN的行。
@@@@@@@@@@@@@@@@@@@@@@@@@@@
%%%%%%%%%
%回归分析
%%%%%%%%%
%线性回归  [b,bint,r,rint,stats]=regress(Y,X)
         输入:Y是观测(因变量)向量;
               X是设计矩阵。
         输出:b是回归系数估计值向量;
               bint是b的置信度为95%的置信区间;
               r是残差;
               rint是r的置信度为95%的置信区间;
               stats给出复相关系数的平方R2、F统计量和检验概率p。
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%%%%%%%
%流控制
%%%%%%%
@@@@@@@@@@@@@@@@@@@@@@@@
if expression
      statements;
end
@@@@@@@@@@@@@@@@@@@@@@@@
if expression
    statements;
else
    statements;
end
@@@@@@@@@@@@@@@@@@@@@@@@
if expression1
    statements;
else expression2
    statements;
else expression3
    statements;
    ......
end
@@@@@@@@@@@@@@@@@@@@@@@@
switch switch-expression
case case-expression1,
       statements1;
case case-expression2,
       statements2;
case case-expression3,
       statements3;
......
otherwise
      statements;
end
@@@@@@@@@@@@@@@@@@@@@@@@@
while expression
    statements;
end
@@@@@@@@@@@@@@@@@@@@@@@@@
for v=expression
    statements;
end
@@@@@@@@@@@@@@@@@@@@@@@@@
for v1=expression1
    for v2=expression2
        for v3=expression3
            statements3;
        end
        statements2;
    end
    statement1;
end
@@@@@@@@@@@@@@@@@@@@@@@@
continue
@@@@@@@@@@@@@@@@@@@@@@@@
break
@@@@@@@@@@@@@@@@@@@@@@@@
return
@@@@@@@@@@@@@@@@@@@@@@@@
try,
    statement,
    ...,
catch,
    statement,
    ...,
    statement,
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%%%%%%%%%%%%
%二维图形绘制
%%%%%%%%%%%%
@@@@@@@@@@@@
%线性图
plot(x,y)
@@@@@@@@@@@@
%条形图
bar(x,y)
@@@@@@@@@@@
%面形图
area(x,y)
hold on
hold off
%hold指在图上继续操作
colormap cool
colormap([1 0 1])%[a b c]中a,b,c为0-1,三组数据构成颜色
%s=[1 1 0];
%colormap(s)
%给图着色
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
%饼图
x=[20 40 40];
explode=[0 0 1];%括号内定义的是三块饼图中前两块不割出来,数值表示分离出来的距离。
pie(x,explode)
%x=[10 15 25 40 10];
%explode=[0 15 1 0 5];%5块饼图
%pie(x,explode)
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
%误差条图(显示数据的置信区间或沿曲线的偏差)
errorbar(Y,E)
%根据Y的数据绘图并在Y的每个元素处绘一误差条。误差条两端距离曲线上下均为E(i)长度。
errorbar(X,Y,E)
%用X和Y绘误差条图,误差条的长度为2*E(i)。X,Y,E必须大小相同。
errorbar(X,Y,L,U)
%用L(i)+U(i)指定误差条上下的长度,绘制误差条图。X,Y,L和U必须大小相同。L(i)定义曲线下方的距离,U(i)定义曲线上方的距离。
errorbar(X,Y,L,U,LineSpec)
%用LineSpec指定线型、标记和颜色绘制误差条图。
h=errorbar(X,Y,L,U,LineSpec)
%返回直线图形对象的句柄向量。
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
%散点图
scatter(X,Y,S,C)
%在向量X和Y指定的位置上显示彩色圆圈。X和Y大小须相同。S确定标记的大小,它可以时与X,Y大小相同的向量,也可以是标量(即标记都相同)。C确定每个标
%记的颜色。当C为与X,Y长度相同的向量时,将根据C中的值进行线性着色。当C为length(X)*3的矩阵时,用RGB值指定标记的颜色。C也可以是一个颜色字符串。
scatter(X,Y)
%默认大小和颜色。
scatter(X,Y,S)
%使用一种颜色,用指定的大小绘标记。
scatter(X,Y,S,markertype)
%用指定的标记类型替代'o'.
scatter(X,Y,S,markertype,'filled')
%填充标记。
h=scatter(...)
%返回scatter函数创建的直线对象的句柄。
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
%直方图
n=hist(Y)
%将Y中的元素分成10份,然后用间隔相同的条形表示,返回每个条形中元素的个素。若Y是矩阵,则hist函数对每一列数据生成一个直方图。
n=hist(Y,x)
%其中x为向量,可以确定图中的条形数目。如,若x为5个元素向量,则hist函数将Y中的元素分配到5组条形中。
n=hist(Y,nbins)
%其中nbins为标量,使用nbins组条形。
[n,xout]=hist(...)
%返回包含频数和条形位置的向量n和xout。可以使用bar(xout,n)来绘制直方图。
hist(...)
%创建一个上面描述的直方图。hist函数在Y的最小值和最大值之间沿x轴分配条形。
hist(axes_handle,...)
%将图形绘制到句柄axes_handle所表示的坐标系中。
%hist函数用等宽度的条形表示Y中数据的分布特征。如果Y是一个向量并且是唯一向量,则hist函数最多创建10个条形。
%eg1:yn=randn(10000,1);
   hist(yn)
%eg2:Y=randn(10000,3);  用单独的颜色显示每组条形。
   hist(Y)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

 

0 0
原创粉丝点击