【整理】Matlab常⽤函数
第⼀篇:Matlab软件函数
⼀、软件操作函数
1)命令窗⼝函数:
clc:清空命令窗⼝,使⽤向上箭头翻看命令。
open:打开⽂件,⽂本⽂件(*.doc),可执⾏⽂件(*.exe),图形⽂件(*.fig),超⽂本⽂件(*.html,*.htm),MATLAB数据库⽂件(*.mat),simulink模型⽂件*.mdl),MATLAB p⽂件(*.p),PDF⽂件(*,pdf),PPT⽂件(*.ppt),⼯程⽂件(*.prj),⽹址(*.url)和变量等。
format:设置数据输出格式。format('command')
disp:在commandwindow中显⽰字符和矩阵。
disp(x)---x为矩阵
disp('x')---x为字符
disp(['x' a 'y'])---打印字符合集
clear:从⼯作空间中清空变量。clear, clear name,clear global name, clear –regexpexpr1 expr2
clear:清空⼯作空间的所有变量
clear name---clear('name'):清空以name命名的m⽂件,mex⽂件或变量名
clear globe name:完全清空以name命名的全局变量,清空后该全局变量不能被函数调⽤。
2)帮助函数
demo:通过help浏览器访问⼯具箱的演⽰⽂件。---demo'MATLAB'
doc:在help浏览器中打开相应帮助页⾯。
help:在MATLAB命令窗⼝中显⽰MATLAB的m函数,mdl⽂件,⼯具箱等的帮助信息。
⼆、⽂件编程函数
1)⽂件⽬录操作函数
dir:显⽰当前⼯作空间⽬录⽂件  dir; dirname;
files=dir('directory'):返回指定⽬录中的⽂件信息到结构体file中,结构体file中包含的信息为:name,data,bytes,isdir,datenum
2)⽂件编辑调试函数
dbstep:从当前断点中执⾏⼀⾏或多⾏代码  dbstep; dbstep nlines;dbstep in
dbstop:设置断点    dbstop inmfile  ; dbstop in mfile at lineno
debug:列举出m⽂件的调试函数
mlint:检查m⽂件可能出现的问题,并报告结果---mlint('m-filename')
profile:调试优化m⽂件代码---界⾯Desktop--Profiler
3)⽂件脚本函数
function:声明函数  function [out1, out2, ...]=funname(in1,in2,...):定义⼀个名为funname的函数,该函数输⼊参数为in1、in2、……输出参数为out1、out2、……
input:请求⽤户输⼊  user_entry=input('prompt') :在屏幕上显⽰prompt作为提⽰,等待键盘输⼊,并返回⽤户输⼊的值。
user_entry=input('prompt','s'):将键⼊的字符返回为⽂本变量⽽⾮变量名或数值。
4)语句控制函数
break:终⽌执⾏for循环或者while循环, break语句结束循环,把语句控制返回给循环结束后的语句。
continue:传递控制给下⼀个for或while循环
case:条件为真时执⾏代码,case是switch语法中的允许有条件执⾏语句的⼀部分。case语句块由case函数,case表达式和其后的⼀条或多条语句构成。
switch:有条件执⾏的代码,在基本语法中,当switch_expr ==case_expr时执⾏相关语句,如果没有实例表达式与switch表达式相匹配,则语句控制传递给otherwise语句块。
实例:
If:如果条件为真,则执⾏相关语句  if expression, statements, end
elseif:---if expression1,statement1,elseifexpresstion,statement2,end
else:如果条件为假时执⾏语句
end:终⽌代码块,或为数组的最后⼀位数字索引, end⽤来终⽌for、while、switch、try和if语句---end函数也作为数组的最后⼀个索引,如X(3:end)和X(1,1:2:end-1)。可以⽤end增加数组,如X存在的情况下使⽤X(end+1)=5。
error:显⽰信息并终⽌函数---error('说明信息')
for:反复运算指定代码块  forvariable=initval:endval, statements, end
while:当条件为真时重复执⾏语句---whileexpression,statement,end
return:从调⽤函数中返回
5)内存控制函数
global:声明全局变量初始化为⼀个空矩阵
isglobal:判断⼀个变量是否是全局变量
persistent:定义静态全局常量
第⼆篇:数据类型函数
三、基本数据类型函数
1)数值函数
double:转换为双精度浮点数
single:转换为单精度浮点数
typecast:在不改变数据⼤⼩情况下转换数据类型  Y=typecast(X,type)
type可选范围:'uint8'、'int8'、'uint16'、'int16'、'uint32'、'int32'、'uint64'、'int64'、'single'、'double'
arrayfun:把函数应⽤到数组中的每个元素 A=arrayfun(fun, S)应⽤fun函数到数组S中的每个元素,将结果返回给数组A。
A=arrayfun(fun, S, T, …)
实例:
cast:转变数值数据类型  B=cast(A,newclass)
实例:
cat:连接数组  C=cat(dim, A,B)--cat(2,A,B)与[A,B]相同,cat(1,A,B)与[A;B]相同
class:创建对象或者返回对象类型  obj=class(s,'class_name')
find:寻⾮零元素的索引和值
ind=find(X);X可以是逻辑式,返回⾮零元素的索引
ind=find(X, k, 'first') 返回数组X中所有⾮零元素的前k个元素。
ind=find(X, k, 'last')  返回数组X中所有⾮零元素的后k个元素。
[row,col,v]=find(X,...)返回列向量,⾏向量,v表⽰⾮零值
isequal :判断两个对象是否相等⽐较结构体是否相等时,结构体中⼦域的顺序不重要  NaNs在此函数中认识不相等---isequal(A,B,...)相同返回1,不同返回0
isequalwithequalnans:把NaN视为相等的情况下判断两个数组是否相等
2)字符串转化数值函数
base2dec :把指定进制的数字字符串转换为⼗进制数  d=base2dec('strn', base)
bin2dec :把⼆进制数字字符串转换为⼗进制数  bin2dec(binarystr)
hex2dec :把⼗六进制数字字符串转换为⼗进制数  d=hex2dec('hex_value')
hex2num :把⼗六进制数字字符串转换为双精度浮点数 n=hex2num(S)
str2double :把字符串转换为双精度浮点数
str2num :把字符串转换为数字
3)数值转化为字符串函数
dec2base:把⼗进制数转换为指定基下的数值字符串 str=dec2base(d, base)
dec2bin :把⼗进制数转换为⼆进制数值字符串
dec2hex :把⼗进制数转换为⼗六进制的数值字符串
int2str :把整数转换为字符串
mat2str :把矩阵转换为字符串
num2str :把数字转换为字符串
四、⾼级数据类型函数
1)结构体函数
cell2struct :把元胞数组转换成结构体数组 s=cell2struct(c, fields,dim) fields指结构体数组的域名,fields可以说字符数组或者字符串元胞数组。
size(c,dim)==length(fields)%如果fields是元胞数组 size
(c,dim)==size(fields,1)%如果fields是字符数组
实例:
struct:创建结构体数组 s=struct('field1', values1, 'field2',values2, ...)
struct2cell :把结构体数组转换为元胞数组
structfun :把函数应⽤于结构体中的每⼀个⼦域 A=structfun(fun, s)
2)元胞数组函数
cell :创建元胞数组    c=cell(n)c=cell(m,n)
celldisp :显⽰元胞数组的内容
cellfun :把函数应⽤于元胞数组中的每个元素  A=cellfun(fun, C, D,...)
cellplot :以图形形式显⽰元胞数组的结构
实例:
cellstr :根据字符串数组创建字符串元胞数组
mat2cell :把矩阵分割为元胞数组  c=mat2cell(x,m, n)
num2cell :把数值数组转变为元胞数组  C=num2cell(A)
3)字符串函数
func2str :根据函数句柄构建函数名称字符串  s=func2str(fhandle)
char :把整数数组转化为字符串  S=char(X)
eval :执⾏包含MATLAB表达式的字符串  eval(expression)
findstr :在长字符串中寻匹配的短字符串,返回字符串索引
sprintf :把⼀定格式把数据写⼊字符串  [s, errmsg]=sprintf(format,A, ...)
strcat :⽔平连接字符串  t=strcat(s1,s2, s3, ...)
strcmp,strcmpi:⽐较字符串---strcmp('str1','str2')相同返回1,不同返回0
strings函数:连接字符串name=['abc' 'def' 'ghj']
strread :从字符串中读取指定格式数据
strrep :发现和替换⼦字符串  str=strrep(str1, str2, str3) ---将str1内的所有⼦字符串str2替换为str3
strtrim :删除字符串开头和结尾的空字符
blanks :创建空格字符串数组
isletter :判断字符串中字符是否为英⽂字母
isspace :判断字符串中字符是否为空格
isstrprop :判断字符串中是否含有指定类别的字符tf=isspace('str')
dblank :删除字符串末尾空格
第三篇:矩阵函数
五、数组和矩阵函数
1)数组基本函数
display:显⽰字符或者数组
isempty :判断数组是否为空,空返回1,不空返回0
isequal :判断数组是否相同(认为NaN不同)
isequalwithequalnans:判断数组是否相同,把NaN看成相同的数
isfinite :判断数组元素是否为有限数
isfloat :判断数组元素是否为浮点数
isinf :判断数组元素是否为⽆限数
isinteger :判断元素是否为整数
islogical :判断元素是否为逻辑变量
isnan :判断元素是否为NaN
isnumeric :判断数组元素是否为数值
isscalar :判断输⼊是不是离散量
issparse :判断矩阵是否为稀疏矩阵
isvector :判断输⼊是否为向量
length:计算向量的长度
max:出向量中的最⼤元素
C=max(A) A为⼀个向量,返回向量最⼤值,矩阵A,返回每列向量最⼤值
C=max(A,B) A、B维数⼀样,返回对应位置最⼤元素switch case判断字符串
max(A,[],dim)
[C,I]=max(A)出最⼤值和索引
min:出向量中的最⼩元素
ndims :计算矩阵的维数  ndims同length(size(x)) ⼀致
numel:计算数组中元素的个数或者下标数组表达式的个数
size:计算数组维数⼤⼩  d=size(X) [m,n]=size(X)m⾏n列 m=size(X,dim)
2)数组操作函数
bsxfun:两个数组间元素逐个计算  C=bsxfun(fun,A,B)
@plus(加)@minus(减)@times(数组乘)@rdivide(左除)@ldivide(右除)@power(幂)@max@min@rem(整除)@mod(模除)dot :向量点乘 C=dot(A,B)
3)基础矩阵函数
create :⽣成随机数流  [s1,s2,…]=ate('gentype','NumStreams',n)
eye :⽣成单位矩阵 Y=eye([m,n])对⾓线1,其他0
ones :⽣成元素为1的数组  Y=ones(n) Y=ones(m,n)
rand :⽣成均匀分布的伪随机数矩阵 r=rand(n) rand(m,n,p,…)
randi :⽣成均匀分布的伪随机整数矩阵 randi(imax) r=randi(imax,n)
r=randi(imax,m,n,p,…) r=randi([imin,imax],…) 例:r=randi([5,10],[2,3])
randn :⽣成[-1,1]之间随机分布数矩阵 r=randn(n) randn(m,n)randn(m,n,p,…)
randstream :⽣成随机数据流
set (RandStream) :设置随机数据流属性set(S,'PropertyName',Value)
set(S,'Property')
4)矩阵处理函数
reshape :改变矩阵维数  B=reshape(A,m,n)
sort :把数组元素按升序或降序排列
B=sort(A,dim) B=sort(...,mode) [B,IX]=sort(A,2)返回B元素在A中的位置的索引
sortrows :矩阵⾏按照升序排列
5)矩阵分析函数
det :求⽅阵⾏列式值
norm :计算向量或者矩阵范数  n=norm(A) n=norm(A,p)
normest :返回矩阵2-范数估计值
null :计算矩阵零空间
rank :返回矩阵的秩
subspace :返回两个⼦空间夹⾓
trace :返回矩阵的迹对⾓元素之和
6)矩阵特征值函数
eig :计算矩阵特征值和特征向量
condeig :计算特征值对应的条件数
eigs :计算矩阵的最⼤特征值和特征向量
gsvd :矩阵⼴义奇异值分解
svd :矩阵奇异值分解
第四篇数学函数
六、基本数学函数
1)基本运算符
+:加法运算符
-:减法运算符
*:矩阵乘法
.*:数组乘法
/:斜杠或者矩阵右除  B/A等于公式B*inv(A)
./:数组右除    A./B等于A(i,j)/B(i,j)
\:反斜杠或者矩阵左除    A\B等于inv(A)*B
.\:数组左除    A.\B等于B(i,j)/A(i,j)
^:矩阵幂计算
.^:数组幂计算    A.^B等于A(i,j)的B(i,j)次幂
’:矩阵转置
[]:表⽰空矩阵,A(m,:)删除A中的⼀⾏,A(:,n)删除A中的⼀列
{}:元胞组赋值
关系操作符:< <= > >= == ~ =
逻辑操作符 : 逻辑:&&  ||  数组:&  |  ~
2)数据操作函数
sort:数组元素按升序或降序排列  B=sort(A) B=sort(A,dim) B=sort(...,mode)[B,IX]=sort(A,...) sortrows :把矩阵中每⾏按照升序排列  B=sortrows(A) B=sortrows(A,column)
sum:求数列元素的和  B=sum(A) A是向量,向量求和,A是矩阵就没列求和 B=sum(A,dim)
3)统计分析函数
brush:交互式标记、删除、修改以及保存图⽚中的观测量位  data brush
corrcoef:计算相关性系数  R=corrcoef(X)

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。