Matlab常用函数

最近在学Matlab,感觉里面一些基本的函数还是应该记住的。这个庞然大物作为一个商业软件,其强大的各种函数包可以满足各种工作要求,我对一些常见的函数做一些总结,随着不断的学习我也会对其进行补充。:)

1.多项式表达,求解

  • p=[1 0 -3 5] #p表示降幂次数的多项式

  • x=[1,2,3]
  • polyval(p,x)........求多项式p在x的值

  • roots(p)..............求p在复数域上的根

  • conv(a,b) ............求多项式a,b的卷积

2.曲线拟合

  • x=[1 2 3 4 5]
  • y=[2 4 6 8 9]
  • p=polyfit(x,y,n) 以n次多项式为模型进行拟合

  • CFTOOL进行拟合

3.微积分

  • F=@(x)(x.^3-2*x-5).........@(x)表示x为变量 F为x的函数,实际为匿名函数

  • Q=quad(F,a,b)...................求F在(a,b)的数值积分

  • int(被积函数,积分变量,下限,上限)多元积分转化为多次积分求解

  • diff(微分函数,'微分变量',微分次数)

4.矩阵特性

[v,d]=eig(A).....................d是特征值,v是特征向量

a,b为矩阵 ax=b................x=a\b

B=inv(A)........................求A的逆矩阵

5.绘图

  • ezplot(f,xmin,xmax)或ezplot(f,[xmin,xmax])......f可包含单个字符变量x的字符串或表达式,默认区间为(-2pi,2pi),如果包含x,y,画出图像是f(x,y)的图像。x,y区间也为(-2pi,2pi)

  • fplot(func,lims,tol,'linespec',n) lims=[xmin,xmax]

  • subplot(a,b,c)生成子图

  • plot(x,y,'样式')

  • plotyy(x1,y1,x2,y2,[fun])用字符串fun指定的绘图函数(有'plot','semilogx','semilogy','loglog','stem')

  • plot3(x,y,z)三维图

  • fplot(f,xinterval) f为表达式 绘制表达式图像

  • refline(0,pi) 添加参考线 0,pi处各一条线

6.与excel交互

  • [typ,desc,fmt]=xlsinfo(filename)获取文件类型,内部表名称,支持文件的软件版本

  • [data,textdata]=xlsraed(filename),

  • data=xlsread(filename,sheet,range)................data:数值数据,textdata:文字数据,sheet数据表

  • [status,message]=xlswrite(filename,M,sheet,range).......M为写入变量的名称

7.杂

  • cumprod(1:5) 1 2 6 24 120生成累乘数

  • isscalar(A) 判断是不是数字

  • warning('MESSAGE') display the warning message ‘MESSAGE’

  • y=logspace(a,b,[n]) y=logspace([a,b,n])generates n points between decades 10^a and 10^b. 默认50

  • grid on 添加网格线

  • hist(x,50) 绘制x的频数分布直方图 ,50个柱子

  • [fp,xp]=ecdf(x) xp为x从小到大排列的有序样本 fp为其累积频率

  • ecdfhist(fp,xp,50)绘制频率直方图

  • randsample(xvalue,100,true,xp) 离散一元分布随机数 true表示放回抽样

  • nchoosek(a,b)Cab的组合数

  • tabulate(x) 生成频率统计表

  • all函数:检测矩阵中是否全为非零元素any函数:检测矩阵中是否有非零元素,如果有,则返回1,否则,返回0。用法和all一样语法:

B = all(A)
B = all(A, dim)
B = all(A):如果A是一个向量,如果所有的元素都是非零的,则返回1,如果有一个元素为零,则返回0。如果A是一个矩阵,则返回一个行向量,用于检测每一列是否全为非零元素,如果某一列中有一个元素为零,则返回0,如果某一列中全为非零元素,则返回1,由此构成一个行向量。B = all(A, 1)返回一个行向量,可以认为all(A, 1)等价于all(A)B = all(A, 2) 返回一个列向量,用于检测每一行是否全为非零元素,如果某一行中有一个元素为零,则返回0,如果某一行中全为非零元素,则返回1,由此构成一个列向量。

  • 获取散点的包络线

  • dt = DelaunayTri(x,y)

  • k = convexHull(dt)

  • plot(x,y, '.', 'markersize',10); hold on;

  • plot(x(k), y(k), 'r'); hold off;

8.数据的描述性统计

score=score(score>0)
score_mean=mean(score)
s1=std(score,0)
score_max=max(score)
score_min=min(score)
score_range=range(score)
score_m1=quantile(score,[0.25,0.5,0.75])%分位数
score_mode=mode(score)
score_median=median(score)
score_cvar=std(score)/mean(score)%变异系数
A2=mean(score.^2)%二阶原点矩
B1=moment(score,1)%一阶中心矩
score_skewness=skewness(score)%计算样本偏度
cov(XY)计算协方差
corrcoef(XY)计算相关系数

你可能感兴趣的:(Matlab常用函数)