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语句块。

实例:

 

 
 
  1. method='bigger';

  2. switch method

  3. case'bigger'

  4. a=3;

  5. case'middle'

  6. a=2;

  7. case'small'

  8. a=1;

  9. otherwise

  10. a=0;

  11. end

 

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, …)

实例:

 


 
  1. x(1).f1=2;x(2).f1=3;
  2. x(1).f2=3;x(2).f2=3;
  3. result=arrayfun(@(x)isequal(x.f1,x.f2),x)


cast:转变数值数据类型  B=cast(A,newclass)

实例:

 

 
 
  1. a=int16(2);

  2. b=cast(a,'char');

  3. cate=class(b)

 

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是字符数组

实例:

 

 
 
  1. c={'Tom','math',80;'Jane','math',70}

  2. feilds={'name','subject','grade'};

  3. s=cell2struct(c,fields,2)


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 :以图形形式显示元胞数组的结构

实例:

 

 
 
  1. c{1,1}='2-by-2';c{1,2}='eigenvalues ofeye(2)';

  2. c{2,1}=eye(2);c{2,2}=eig(eye(2));

  3. cellplot(c)

 

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维数一样,返回对应位置最大元素

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,…]=RandStream.create('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)

cov :返回协方差矩阵  cov(x)

max :求数组中的最大元素     C=max(A) C=max(A,B) C=max(A,[],dim)

mean :求数组的平均数或者均值  M=mean(A) M=mean(A,dim)

median :返回数组的中间值  M=median(A) M=median(A,dim)

mode :求数组中出现频率最多的值    M=mode(X) M=mode(X, dim)

[M,F]=mode(X, ...)

std :计算标准差 s=std(X)

var :计算方差  V=var(X) 

 

4)三角函数

acos :以弧度的形式返回反余弦值

实例:

 

 
 
  1. x=-1:.05:1;

  2. plot(x,acos(x));grid on


acosd :以角度的形式返回反余弦值

acosh :以弧度形式返回反双曲余弦值

acot :以弧度的形式返回反余切值

acotd :以角度的形式返回反余切值

acoth :以弧度的形式返回反双曲余切值

acsc :以弧度的形式返回反余割值

acscd :以角度的形式返回反正割值

acsch :以弧度的形式反双曲余割值

asec :以弧度的形式返回反正割值

asecd :以角度的形式返回反正割值

asech :以弧度的形式返回反双曲正割值

asin :以弧度的形式返回反正弦值

asind :以角度形式返回反正弦值

asinh :以弧度的形式返回反双曲正弦值

atan :以弧度的形式返回反正切值

atand :以角度的形式返回反正切值

atanh :以弧度的形式返回反双曲正切值

cos :以弧度的形式返回输入的余弦值

cosd :以角度的形式返回输入的余弦值

cosh :以弧度的形式返回输入的双曲余弦值

cot :以弧度的形式返回输入的余切

cotd :以角度的形式返回输入的余切值

coth :以弧度的形式返回输入的双曲余切值

csc :以弧度的形式返回输入的余割值

cscd :以角度形式返回输入的余割值

csch :以弧度的形式返回双曲余割值

sec :以弧度的形式返回输入的正割值

secd :以角度的形式返回输入的正割值

sech :以弧度的形式返回双曲正割值

sin :以弧度的形式返回输入的正弦

sind :以角度的形式返回输入的正弦值

sinh :以弧度的形式返回输入的双曲正弦值

tan :以弧度的形式返回输入的正切值

tand :以角度的形式返回输入的正切值

tanh :以弧度的形式返回双曲正切

 

5)指数函数

exp :计算指数

log :计算自然对数

log10 :计算平凡对数(以10为底)

log2 :计算以2为底数的对

pow2 :计算以2为底的幂

nthroot:计算实数值的实n阶方根。y=nthroot(X,n)

sqrt :计算平方根

abs :计算绝对值和复数模值

 

6)除法函数

ceil :向正无穷方向舍入

fix :向零方向舍入

floor :向负无穷方向舍入

idivide :舍入操作   C=idivide(A,B, opt)

mod :计算相除后的模值

 

7)排列函数

factorial:阶乘---factorial(N),N!

perms:元素所有可能的全排列

 

七、高级数学函数

1)微分方程解函数

decic :计算和ode15i(ode常微分方程)相容的初始条件

[y0mod,yp0mod]=decic(odefun,t0,y0,fixed_y0,yp0,fixed_yp0)

deval :计算微分方程的解     sxint=deval(sol,xint)   sol是求解器返回的结构体,(ode45, ode23, dde23  xint是点或向量,函数求解的是该点上的值。

deval :计算微分方程的解     sxint=deval(sol,xint)

 

2)极值函数

fminbnd :在指定区间上求解单变量函数的最小值x=fminbnd(fun,x1,x2)x=fminbnd(fun,x1,x2,options)   结构体options用于指定优化参数

[x,fval]=fminbnd(...)     [x,fval,exitflag]=fminbnd(...)

[x,fval,exitflag,output]=fminbnd(...)

fminsearch :利用derivative-free算法求无约束多变量函数的最小值

x=fminsearch(fun,x0)x=fminsearch(fun,x0,options)

[x,fval,exitflag]=fminsearch(...)

fzero:求单变量连续函数的零值点 x=fzero(fun,x0) x=fzero(fun,x0,options)

isqnonneg :求解非负最小二乘法约束问题    

x=lsqnonneg(C,d)返回一个向量x,满足x >= 0时(C*x-d)的范数最小。

x=lsqnonneg(C,d,x0) x=lsqnonneg(C,d,x0,options) 

 

3)数值积分函数

dblquad :计算矩形区域的二重定积分   

q=dblquad(fun,xmin,xmax,ymin,ymax)

q=dblquad(fun,xmin,xmax,ymin,ymax,tol)q=dblquad(fun,xmin,xmax,ymin,ymax,tol,method)

quad :求基于变步长Simpson法的函数定积分数值解  q=quad(fun,a,b)

实例:

 


 
  1. F=@(x)1./(x.^3-2*x-5);
  2. Q=quad(F,0,2)

 

quad2d :在平面区域求二重积分的数值解    q=quad2d(fun,a,b,c,d)

实例:Q=quad2d(@(x,y)y.*sin(x)+x.*cos(y),pi,2*pi,0,pi)

 

4)微分积分函数

dblquad :计算矩形区域的二重定积分 q=dblquad(fun,xmin,xmax,ymin,ymax)

cumtrapz :累积梯形数值积分  Z=cumtrapz(Y)Z=cumtrapz(X,Y) 对于多维数组从第一维开始计算  Z=cumtrapz(X,Y,dim)

diff :差分与微分近似  Y=diff(X) Y=diff(X,n) Y=diff(X,n,dim)  

gradient :计算函数数值梯度   FX=gradient(F) [FX,FY]=gradient(F)

实例:绘制函数z=exp(-x.^2-y.^2)的梯度图形。

 

 
 
  1. v=-2:0.2:2;

  2. [x,y]=meshgrid(v);

  3. z=exp(-x.^2-y.^2);

  4. [px,py]=gradient(z,0.2,0.2);

  5. contour(v,v,z)

  6. hold on

  7. quiver(v,v,px,py)

 

 

trapz :梯形数值积分  Z=trapz(Y) Z=trapz(X,Y) Z=trapz(...,dim)

 

5)赋值函数

biltin:重载方法中执行MATLAB内部自带的函数   builtin(...) 函数和 feval(...)函数相同 

evalc :计算表达式值   T=evalc(S):同函数eval(S)用法相同

feval :计算函数值    [y1, y2, ...]=feval(fhandle, x1, ..., xn)

 

第五篇:方程函数

八、插值函数、线性方程解函数和多项式函数

1)插值函数

interp1q :1维快速线性插值法 yi=interp1q(x,Y,xi)

       interp1q正常执行条件:

(1)x单调递增列向量

(2)Y为列向量or行数为length(x)(3)xi为列向量,如果xi值在x的坐标范围外,返回NaN

实例:

 

 
 
  1. x=(-5:0.5:5)';

  2. y=sin(x);

  3. xi=(-5:0.5:5)';

  4. yi=interp1q(x,y,xi);

  5. plot(x,y,'o',xi,yi)

 

interp2 :2维数据插值法

       ZI=interp2(X,Y,Z,XI,YI)

       ZI=interp2(Z,XI,YI)

       ZI=interp2(X,Y,Z,XI,YI,method)

       (1)‘nearest’:最邻近插值法;

       (2)‘linear’:线性插值法(默认插值方法);

 

       (3)‘spline’:三次样条插值法;

 

       (4)’cubic’:三次插值法

实例:

 

 
 
  1. [X,Y]=meshgrid(-2:0.5:2);

  2. Z=peaks(X,Y);

  3. [XI,YI]=meshgrid(-2:0.125:2);

  4. ZI=interp2(X,Y,Z,XI,YI);

  5. mesh(X,Y,Z)

  6. hold on

  7. mesh(XI,YI,ZI+10)

  8.  

 

 

interp3 :3维数据插值法      

       VI=interp3(X,Y,Z,V,XI,YI,ZI)

       VI=interp2(X,Y,Z,V,XI,YI,ZI,method)

       (1)‘nearest’:最邻近插值法;

       (2)‘linear’:线性插值法(默认插值方法);

       (3)‘spline’:三次样条插值法;

       (4)’cubic’:三次插值法

        

interpft :基于FFT方法的1维插值法 y=interpft(x,n) y=interpft(x,n,dim)

实例:

 

 
 
  1. y=[1 2 3 2 1 23];

  2. N=length(y);

  3. L=5;

  4. M=N*L;

  5. x=0:L:L*N-1

  6. xi=0:M-1

  7. yi=interpft(y,M)

  8. plot(x,y,'o',xi,yi,'*')

 

 

interpn :n维数据插值(表格查询)VI=interpn(X1,X2,X3,...,V,Y1,Y2,Y3,...)

meshgrid :为3维绘图生成X和Y矩阵

[X,Y]=meshgrid(x,y) [X,Y,Z]=meshgrid(x,y,z)  

ndgrid :生成可为函数和插值算法使用的n维矩阵

[X1,X2,X3,...]=ndgrid(x1,x2,x3,...)

实例:

 

 
 
  1. [X1,X2]=ndgrid(-1:0.1:1,-1:0.1:1);

  2. Z=exp(-X1.^2-X2.^2);

  3. mesh(Z)

 

 

pchip :分段三次厄密插值多项式(PCHIP) yi=pchip(x,y,xi)pp=pchip(x,y)

实例:

 

 
 
  1. x=-4:4

  2. y=[-3 -2 -2 0 0 0 2 2 3];

  3. t=-4:0.01:4;

  4. p=pchip(x,y,t);

  5. s=spline(x,y,t);

  6. plot(x,y,'o',t,p,'-',t,s,'-.')

  7. legend('data','pchip','spline',4)

 

 

spline :曲线三次样条插值   yy=spline(x,Y,xx)   pp=spline(x,Y)

实例:

 

 
 
  1. x=0:10;

  2. y=cos(x);

  3. xx=0:0.1:10;

  4. yy=spline(x,y,xx);

  5. plot(x,y,'o',xx,yy)

 

 

2)线性方程解函数

linsolve :使用部分主元LU因子分解法求解线性方程组    X = linsolve(A,B)  [X, R] = linsolve(A,B)   X = linsolve(A,B,opts)

lscov :已知协方差时求解方程的最小二乘解  

x = lscov(A,b)    线性方程组A*x = b的一般最小二乘解

x = lscov(A,b,w)   线性方程组A*x = b的加权最小二乘解

x = lscov(A,b,V)    线性方程组A*x = b 的广义最小二乘解

x =lscov(A,b,V,alg)    

bicg :求解线性方程的双共轭梯度法

   x=bicg(A,b) bicg(A,b,tol)bicg(A,b,tol,maxit)

 

bicg(A,b,tol,maxit,M1,M2)bicg(A,b,tol,maxit,M1,M2,x0)[x,flag]=bicg(A,b,...)

[x,flag,relres]=bicg(A,b,...)[x,flag,relres,iter]=bicg(A,b,...)

[x,flag,relres,iter,resvec]=bicg(A,b,...)

bicgstab :求解线性方程的稳定的双共轭梯度法

bicgstabl :求解线性方程的双共轭梯度l稳定法

bicgstab :求解线性方程的稳定的双共轭梯度法

bicgstabl :求解线性方程的双共轭梯度l稳定法

cgs :求解线性方程的共轭梯度平方法

gmres :求线性方程的广义最小残差法

lsqr :求解线性方程的LSQR 方法

minres :求解线性方程的最小残差法

pcg :求解线性方程的预处理共轭梯度法

qmr :求解线性方程的准最小残差法

symmlq :求解线性方程的对称 LQ 法

tfqmr :求解线性方程的自由转置准最小残差法 

 

3)多项式函数

polyfit :多项式拟合

       p=polyfit(x,y,n) 根据拟合数据x,y求n阶多项式p(x)的系数,p是系数

       [p,S]=polyfit(x,y,n) p是系数,使用S和多项式的值能得到误差估计值或预测

实例:

 

 
 
  1. x=(-3:0.2:3)';

  2. y=erf(x);

  3. p=polyfit(x,y,3)

  4. f=polyval(p,x);

  5. plot(x,y,'*',x,f,'-')

 

polyval :多项式求值     y=polyval(p,x)   

poly :根据根求解多项式

polyder :解析求解多项式微分表达式k=polyder(p) k=polyder(a,b)

polyint :解析求解多项式积分表达式系数   polyint(p,k)

mkpp :构建分段多项式   pp=mkpp(breaks,coefs)

breaks是一个长度为L+1的向量,该向量元素严格递增。coefs为L*k的矩阵,每行元素代表

[breaks(i),breaks(i+1)]的k阶多项式的系数。

 

十一、基本文件操作函数

1)文件创建函数

filemaker :把文件名与文件中函数名分开 。

filesep :文件目录分隔。

fileparts :把目标文件名拆分成字符串形式输出 。

tempdir :返回系统暂存地址名 。

tempname :返回系统暂存文件名 。

fullfile :创建文件名 

 

2)文件打开、读取、存储函数

open:打开文件 ---用法:open('name')

load :将文件导入到MATLABworkspace中。loadfilename load filename X Y Z,

load-asciifilename ,load-mat filename,load('arg1', 'arg2', 'arg3', ...)

save:存储文件.save filename, save filename content, savefilename options

     save('filename', 'var1', 'var2', ...) 

daqread :读数据采集工具箱(.daq)中的文件 。

         [data, time, abstime, events, daqinfo]= daqread('filename')

uiimport :调用文件导入助手

 

3)简单文件输入输出函数

fopen :打开文件。

       fid = fopen(filename)

       fid = fopen(filename,permission)

Permission值

打开模式

‘r’

只读模式

‘w’

可写入模式,覆盖已有内容

‘a’

可写入模式,写入数据到文件末尾

‘r+’

可读写模式,

‘w+’

可写入模式,覆盖已有内容

‘a+’

可写入模式,写入数据到文件末尾

‘A’

无自动删除添加

‘W’

无自动删除写入

fclose  关闭文件。status=fclose(fid) ,status=fclose('all')

fprintf:以指定格式将数据写入文件 。count = fprintf(fid, format, A, ...)

实例:

 

 
 
  1. x=1:0.1:2;

  2. y=[x,sin(x)];

  3. fid=fopen('sin.txt','wt');

  4. fprintf(fid,'%5.2f %5.6f\n',y);

  5. fclose(fid)

 

fscanf :以指定格式读取文件中的内容 。A =fscanf(fid, format) , [A,count] = fscanf(fid, format, size)

fread :读取文件中的二进制数据 。A =fread(fid, count ,precision, skip, machineformat)

fwrite :将二进制数据写入到文件中 。

fseek :设置文件位置指针 。status = fseek(fid,offset, origin)

ftell :获取文件位置指针 。position = ftell(fid)

fwind :把文件位置指针移动到文件起始位置 。fwind(fid)

fgetl :按行读取文件内容,并删去换行符 。tline = fgetl(fid)

fgets :按行读取文件内容,并保留换行符 。tline = fgets(fid, nchar)

frewind :将文件指针移到文件的起始位置。 frewind(fid)

feof :测试是否为文件的末尾 。message = ferror(fid)

ferro :测试文件输入输出是否有错误 。message = ferror(fid,'clear') , [message,errnum] = ferror(...)

disp :将目标文件所包含的信息以不同形式显示,如文本、数组等形式。

 disp(obj)

 

4)电子表格操作函数

xlsfinfo :检测文件中是否包含Microsoft Excel电子表格文件 。

   typ = xlsfinfo(filename) [typ,desc, fmt] = xlsfinfo(filename)

xlsread :读Microsoft Excel电子表格文件中的内容 。

   num = xlsread(filename),num = xlsread(filename,sheet),num =xlsread(filename, range),num = xlsread(filename, sheet, range, 'basic')

[num,txt,raw,X]=xlsread(filename,sheet, range, 'basic') 

xlswrite :将数据写入Microsoft Excel电子表格文件中 。

    xlswrite(filename, M),xlswrite(filename, M, sheet, range),

    [status, message] = xlswrite(filename, ...)

wk1finfo :检测文件中是否包含Lotus 1-2-3 WK1电子表格。

   [extens, typ] = wk1finfo(filename)  

wk1read :读取Lotus 1-2-3 WK1电子表格文件 。

    M = wk1read(filename) ,M = wk1read(filename,r,c,range)

wk1write :将数据写入Lotus1-2-3 WK1电子表格文件中 。

    wk1write(filename,M,r,c)

  • 14
    点赞
  • 112
    收藏
  • 1
    评论
matlab函数大全-matlab函数大全.doc 比较白痴的东西,不过对初学者也许有用,特分享一下。不要喷我哦!函数具体用法可以用help查一下。附件内容与下面一样的。 Aabs 绝对值、模、字符的ASCII码值 acos 反余弦 acosh 反双曲余弦 acot 反余切 acoth 反双曲余切 acsc 反余割 acsch 反双曲余割 align 启动图形对象几何位置排列工具 all 所有元素非零为真 angle 相角 ans 表达式计算结果的缺省变量名 any 所有元素非全零为真 area 面域图 argnames 函数M文件宗量名 asec 反正割 asech 反双曲正割 asin 反正弦 asinh 反双曲正弦 assignin 向变量赋值 atan 反正切 atan2 四象限反正切 atanh 反双曲正切 autumn 红黄调秋色图阵 axes 创建轴对象的低层指令 axis 控制轴刻度和风格的高层指令 B b bar 二维直方图 bar3 三维直方图 bar3h 三维水平直方图 barh 二维水平直方图 base2dec X进制转换为十进制 bin2dec 二进制转换为十进制 blanks 创建空格串 bone 蓝色调黑白色图阵 box 框状坐标轴 break while 或for 环中断指令 brighten 亮度控制 C c capture (3版以前)捕获当前图形 cart2pol 直角坐标变为极或柱坐标 cart2sph 直角坐标变为球坐标 cat 串接成高维数组 caxis 色标尺刻度 cd 指定当前目录 cdedit 启动用户菜单、控件回调函数设计工具 cdf2rdf 复数特征值对角阵转为实数块对角阵 ceil 向正无穷取整 cell 创建元胞数组 cell2struct 元胞数组转换为构架数组 celldisp 显示元胞数组内容 cellplot 元胞数组内部结构图示 char 把数值、符号、内联类转换为字符对象 chi2cdf 分布累计概率函数 chi2inv 分布逆累计概率函数 chi2pdf 分布概率密度函数 chi2rnd 分布随机数发生器 chol Cholesky分解 clabel 等位线标识 cla 清除当前轴 class 获知对象类别或创建对象 clc 清除指令窗 clear 清除内存变量和函数 clf 清除图对象 clock 时钟 colorcube 三浓淡多彩交叉色图矩阵 colordef 设置色彩缺省值 colormap 色图 colspace 列空间的基 close 关闭指定窗口 colperm 列排序置换向量 comet 彗星状轨迹图 comet3 三维彗星轨迹图 compass 射线图 compose 求复合函数 cond (逆)条件数 condeig 计算特征值、特征向量同时给出条件数 condest 范 -1条件数估计 conj 复数共轭 contour 等位线 contourf 填色等位线 contour3 三维等位线 contourslice 四维切片等位线图 conv 多项式乘、卷积 cool 青紫调冷色图 copper 古铜调色图 cos 余弦 cosh 双曲余弦 cot 余切 coth 双曲余切 cplxpair 复数共轭成对排列 csc 余割 csch 双曲余割 cumsum 元素累计和 cumtrapz 累计梯形积分 cylinder 创建圆柱 D d dblquad 二重数值积分 deal 分配宗量 deblank 删去串尾部的空格符 dec2base 十进制转换为X进制 dec2bin 十进制转换为二进制 dec2hex 十进制转换为十六进制 deconv 多项式除、解卷 delaunay Delaunay 三角剖分 del2 离散Laplacian差分 demo Matlab演示 det 行列式 diag 矩阵对角元素提取、创建对角阵 diary Matlab指令窗文本内容记录 diff 数值差分、符号微分 digits 符号计算中设置符号数值的精度 dir 目录列表 disp 显示数组 display 显示对象内容的重载函数 dlinmod 离散系统的线性化模型 dmperm 矩阵Dulmage-Mendelsohn 分解 dos 执行DOS 指令并返回结果 double 把其他类型对象转换为双精度数值 drawnow 更新事件队列强迫Matlab刷新屏幕 dsolve 符号计算解微分方程 E e echo M文件被执行指令的显示 edit 启动M文件编辑器 eig 求特征值和特征向量 eigs 求指定的几个特征值 end 控制流FOR等结构体的结尾元素下标 eps 浮点相对精度 error 显示出错信息并中断执行 errortrap 错误发生后程序是否继续执行的控制 erf 误差函数 erfc 误差补函数 erfcx 刻度误差补函数 erfinv 逆误差函数 errorbar 带误差限的曲线图 etreeplot 画消去树 串演算指令 in 跨空间串演算指令 exist 检查变量或函数是否已定义 exit 退出Matlab环境 exp 指数函数 expand 符号计算中的展开操作 expint 指数积分函数 expm 常用矩阵指数函数 expm1 Pade法求矩阵指数 expm2 Taylor法求矩阵指数 expm3 特征值分解法求矩阵指数 eye 单位阵 ezcontour 画等位线的简捷指令 ezcontourf 画填色等位线的简捷指令 ezgraph3 画表面图的通用简捷指令 ezmesh 画网线图的简捷指令 ezmeshc 画带等位线的网线图的简捷指令 ezplot 画二维曲线的简捷指令 ezplot3 画三维曲线的简捷指令 ezpolar 画极坐标图的简捷指令 ezsurf 画表面图的简捷指令 ezsurfc 画带等位线的表面图的简捷指令 F f factor 符号计算的因式分解 feather 羽毛图 feedback 反馈连接 f 执行由串指定的函数 fft 离散Fourier变换 fft2 二维离散Fourier变换 fftn 高维离散Fourier变换 fftshift 直流分量对中的谱 fieldnames 构架域名 figure 创建图形窗 fill3 三维多边形填色图 find 寻找非零元素下标 findobj 寻找具有指定属性的对象图柄 findstr 寻找短串的起始字符下标 findsym 机器确定内存中的符号变量 finverse 符号计算中求反函数 fix 向零取整 flag 红白蓝黑交错色图阵 fliplr 矩阵的左右翻转 flipud 矩阵的上下翻转 flipdim 矩阵沿指定维翻转 floor 向负无穷取整 flops 浮点运算次数 flow Matlab提供的演示数据 fmin 求单变量非线性函数极小值点(旧版) fminbnd 求单变量非线性函数极小值点 fmins 单纯形法求多变量函数极小值点(旧版) fminunc 拟牛顿法求多变量函数极小值点 fminsearch 单纯形法求多变量函数极小值点 fnder 对样条函数求导 fnint 利用样条函数求积分 fnval 计算样条函数区间内任意一点的值 fnplt 绘制样条函数图形 fopen 打开外部文件 for 构成for环用 format 设置输出格式 fourier Fourier 变换 fplot 返函绘图指令 fprintf 设置显示格式 fread 从文件读二进制数据 fsolve 求多元函数的零点 full 把稀疏矩阵转换为非稀疏阵 funm 计算一般矩阵函数 funtool 函数计算器图形用户界面 fzero 求单变量非线性函数的零点 G g gamma 函数 gammainc 不完全 函数 gammaln 函数的对数 gca 获得当前轴句柄 gcbo 获得正执行"回调"的对象句柄 gcf 获得当前图对象句柄 gco 获得当前对象句柄 geomean 几何平均值 get 获知对象属性 getfield 获知构架数组的域 getframe 获取影片的帧画面 ginput 从图形窗获取数据 global 定义全局变量 gplot 依图论法则画图 gradient 近似梯度 gray 黑白灰度 grid 画分格线 griddata 规则化数据和曲面拟合 gtext 由鼠标放置注释文字 guide 启动图形用户界面交互设计工具 H h harmmean 调和平均值 help 在线帮助 helpwin 交互式在线帮助 helpdesk 打开超文本形式用户指南 hex2dec 十六进制转换为十进制 hex2num 十六进制转换为浮点数 hidden 透视和消隐开关 hilb Hilbert矩阵 hist 频数计算或频数直方图 histc 端点定位频数直方图 histfit 带正态拟合的频数直方图 hold 当前图上重画的切换开关 horner 分解成嵌套形式 hot 黑红黄白色图 hsv 饱和色图 附件:[post] matlab函数大全.doc [/post]
1、通用命令 1.1 通用信息查询 1.2 工作空间管理 1.3 管理指令和函数 1.4 搜索路径管理 1.5 指令窗控制 1.6 操作系统指令 2、运算符和特殊运算符 2.1 算术运算符 2.2 关系运算符 2.3 逻辑操作 2.4 特殊运算符 3、编程语言结构 3.1 控制语句 3.2 计算运行 3.3 脚本文件、函数及变量 3.4 参数处理 3.5 信息显示 3.6 交互式输入 4、基本矩阵函数和操作 4.1 基本矩阵 4.2 矩阵基本信息 4.3 矩阵操作 4.4 特殊变量和常量 4.5 特殊矩阵 5、基本数学函数 5.1 三角函数 5.2 指数函数 5.3 复数函数 5.4 取整和求余函数 6、坐标变换、向量运算等特殊函数 7、矩阵函数和数值线性代数 7.1 矩阵分析 7.2 线性方程 7.3 特性值与奇异值 7.4 矩阵函数 7.5 因式分解 8、数据分析和傅立叶变换 8.1 基本运算 8.2 有限差分 8.3 相关 8.4 滤波卷积 9、插值与多项式函数 9.1 数据插值 9.2 样条插值 9.3 多项式 10、数值泛函函数和ODE 解算器 10.1 优化和寻根 10.2 优化选项处理 10.3 数值积分 10.4 绘图 10.5 差微分函数解算器 11、二维图形函数 11.1 基本平面图形 11.2 轴控制 11.3 图形注释 12、三维图形函数 12.1 基本三维图形 12.2 色彩控制 12.3 色图 13、文件输入/输出 14、示例函数 15、符号工具包 15.1 微积分 15.2 线性代数 15.3 化简 15.4 方程求解 15.5 变量精度 15.6 积分变换 15.7 基本操作 15.8 图形应用 15.9 Maple 接口 16、图象处理工具箱 16.1 图象显示 16.2 图象文件数据输入 16.3 图象的几何操作 16.4 象值与统计 16.5 图像分析 16.6 图像增强 16.7 线性滤波 16.8 二维线性滤波器的设计 16.9 图像变换 16.10 邻域及块处理 16.11 二值图像操作 16.12 图像的区域处理 16.13 色图操作 16.14 色彩空间变换 16.15 图像类型判断及其转换 16.16 图像处理演示函数

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:深蓝海洋 设计师:CSDN官方博客 返回首页
评论 1
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值