matlaB中的一些函数
- 格式:docx
- 大小:311.54 KB
- 文档页数:19
matlab基本函数MATLAB是一种功能强大的编程语言和开发环境,广泛应用于科学计算、数据分析和工程设计等领域。
本文将介绍一些MATLAB的基本函数,包括数据操作、图形绘制、数学计算等方面的函数。
一、数据操作函数1. size()函数:用于获取数组或矩阵的大小,返回一个包含行数和列数的向量。
2. length()函数:用于获取向量的长度。
3. ndims()函数:用于获取数组或矩阵的维度数。
4. reshape()函数:用于改变数组或矩阵的形状,可以将其转换为不同大小的矩阵。
5. find()函数:用于查找数组或矩阵中满足特定条件的元素的索引。
6. sort()函数:用于对数组或矩阵进行排序,可以按照升序或降序排列。
7. unique()函数:用于返回数组或矩阵中的唯一元素,并去除重复值。
二、图形绘制函数1. plot()函数:用于绘制二维曲线图,可以通过输入不同的坐标点来绘制不同形状的曲线。
2. scatter()函数:用于绘制散点图,可以根据不同的数据点设置不同的颜色和大小。
3. bar()函数:用于绘制柱状图,可以展示不同类别或组之间的比较。
4. pie()函数:用于绘制饼图,可以展示不同类别所占比例的大小关系。
5. histogram()函数:用于绘制直方图,可以展示数据的分布情况。
6. contour()函数:用于绘制等高线图,可以展示二维数据的等高线分布。
三、数学计算函数1. sin()函数:用于计算正弦值。
2. cos()函数:用于计算余弦值。
3. exp()函数:用于计算指数函数的值。
4. sqrt()函数:用于计算平方根。
5. sum()函数:用于计算数组或矩阵中元素的总和。
6. mean()函数:用于计算数组或矩阵中元素的平均值。
7. max()函数:用于找出数组或矩阵中的最大值。
8. min()函数:用于找出数组或矩阵中的最小值。
9. rand()函数:用于生成随机数。
四、其他常用函数1. disp()函数:用于在命令窗口中显示文本或变量的值。
matlab有限元常用函数Matlab是一种功能强大的数值计算软件,广泛应用于工程、科学和数学领域。
它提供了丰富的数学函数和工具箱,使得有限元分析成为可能。
在本文中,我们将介绍一些常用于有限元分析的Matlab函数,并逐步解释它们的用法和作用。
有限元分析(Finite Element Analysis,简称FEA)是一种工程设计和分析方法,通过对实际结构的离散化,将其划分为许多小的单元,然后利用数值方法求解它们的行为。
下面是一些常用的有限元分析函数和工具箱。
1. finemesh函数finemesh函数是Matlab的一个内置函数,用于生成网格。
它可以根据给定的节点坐标和连接关系生成一个三角或四边形网格。
finemesh函数的语法如下:mesh = finemesh(node, elem);其中,node是一个N×2的矩阵,表示节点的坐标;elem是一个M×3或M×4的矩阵,表示节点之间的连接关系。
2. assempde函数assempde函数是Matlab Partial Differential Equation Toolbox的一部分,用于组装有限元方程。
它将已知的系数和边界条件应用于有限元方程,并返回一个描述矩阵和向量的数据结构。
assempde函数的语法如下:[stiff,force] = assempde(pde,geometry,temperature,flux);其中,pde是一个描述方程系数的结构体;geometry是一个描述几何形状的结构体;temperature和flux是分别描述温度和通量边界条件的结构体。
3. assemble函数assemble函数是一个用于组装有限元方程的通用函数。
它可以使用用户提供的形状函数和积分点来计算单元刚度矩阵和力矢量。
assemble函数的语法如下:[K,F] = assemble(p,t,c,b,v);其中,p是一个N×2的矩阵,表示节点坐标;t是一个M×3的矩阵,表示节点之间的连接关系;c是一个描述系数的函数句柄;b是描述边界条件的函数句柄;v是描述体积力的函数句柄。
MATLAB的常用函数和工具介绍MATLAB是一款被广泛应用于科学计算和工程设计的软件,它提供了丰富的函数库和工具箱,能够帮助用户进行数据分析、模拟仿真、图像处理、信号处理等多种任务。
本文将介绍一些MATLAB常用的函数和工具,帮助读者更好地利用MATLAB进行编程和数据处理。
一、MATLAB函数介绍1. plot函数:该函数用于绘制二维图形,如折线图、曲线图等。
通过输入数据点的坐标,plot函数可以帮助用户快速可视化数据分布,同时支持自定义线型、颜色和标注等功能。
2. imread函数:该函数用于读取图像文件,支持常见的图像格式,如JPEG、PNG等。
通过imread函数,用户可以方便地加载图像数据进行后续的处理和分析。
3. fft函数:该函数用于进行快速傅里叶变换,可以将时域信号转换为频域信号。
傅里叶变换在信号处理中广泛应用,通过fft函数,用户可以快速计算信号的频谱信息。
4. solve函数:该函数用于求解方程组,支持线性方程和非线性方程的求解。
用户只需输入方程组的表达式,solve函数会自动求解变量的值,帮助用户解决复杂的数学问题。
5. mean函数:该函数用于计算数据的平均值。
mean函数支持数组、矩阵和向量等多种数据类型,可以方便地对数据进行统计分析。
6. importdata函数:该函数用于导入外部数据文件,如文本文件、CSV文件等。
通过importdata函数,用户可以将外部数据加载到MATLAB中,进行后续的数据处理和分析。
二、MATLAB工具介绍1. MATLAB Editor:这是MATLAB自带的编辑器,可以用于编写和调试MATLAB代码。
它提供了代码高亮、自动缩进和代码片段等功能,能够提高编程效率和代码可读性。
2. Simulink:这是MATLAB的一个强大的仿真工具,用于建立动态系统的模型并进行仿真。
Simulink支持直观的图形化建模界面,用户可以通过拖拽元件和线条来搭建系统模型,进而进行仿真和系统分析。
Matlab中常用的数学函数介绍与应用引言:Matlab是一种强大的数学计算工具,它提供了丰富的函数库,可以方便地进行各种数学运算和数据分析。
本文将介绍一些常用的Matlab数学函数,并讨论它们的具体应用场景和用法。
一、线性代数函数1.1 dot函数dot函数用于计算两个向量的点积。
在向量计算中,点积可以帮助我们判断两个向量之间的夹角以及它们的相似程度。
例如,我们可以使用dot函数来计算两个特征向量之间的相似性,从而实现图像分类或者特征匹配。
具体用法:C = dot(A,B),其中A和B是两个向量。
计算结果将存储在变量C 中。
1.2 inv函数inv函数用于计算一个矩阵的逆矩阵。
在线性代数中,逆矩阵对于求解线性方程组、求解最小二乘问题以及确定矩阵的特征值等具有重要作用。
通过使用inv函数,我们可以方便地求解这些问题。
具体用法:B = inv(A),其中A是输入的矩阵,B是其逆矩阵。
1.3 eig函数eig函数用于计算一个矩阵的特征值和特征向量。
在许多数学和物理问题中,特征值和特征向量都具有重要的意义。
例如,在图像压缩和图像处理中,特征值分解可以帮助我们找到最佳的基向量,从而实现更好的图像压缩效果。
具体用法:[V,D] = eig(A),其中A是输入的矩阵,V是特征向量矩阵,D是特征值对角矩阵。
二、微积分函数2.1 diff函数diff函数用于计算一个函数的导数。
在微积分中,导数表示函数在某一点的变化率,具有重要的应用价值。
通过使用diff函数,我们可以方便地计算函数的导数,从而求解一些最优化问题、优化算法以及信号处理等领域的相关问题。
具体用法:Y = diff(X),其中X是输入的函数,Y是其导数。
2.2 int函数int函数用于计算一个函数的不定积分。
在微积分中,不定积分表示函数在某一区间上的面积或体积,对于求解曲线下面积、计算变量间的相关性以及估计概率密度分布等问题非常有用。
通过使用int函数,我们可以轻松地计算函数的不定积分。
Matlab中常用的数学函数解析Matlab是一个强大的数值计算和可视化软件,它提供了丰富的数学函数,方便用户进行各种数学运算和分析。
在本文中,我们将解析一些常用的Matlab数学函数,介绍其用法和应用场景。
一、求解方程和优化问题在科学和工程领域,求解方程和优化问题是常见的任务。
Matlab提供了许多函数用于这些目的,其中最常用的是solve和fmincon函数。
1. solve函数solve函数用于求解代数方程或方程组。
例如,我们想求解一个一元二次方程2x^2 + 3x - 5 = 0的根,可以使用solve函数:```syms xeqn = 2*x^2 + 3*x - 5 == 0;sol = solve(eqn, x);```solve函数返回一个包含根的结构体sol,我们可以通过sol.x获得根的值。
当然,solve函数也可以求解多元方程组。
2. fmincon函数fmincon函数是Matlab中的一个优化函数,用于求解有约束的最小化问题。
例如,我们希望找到一个函数f(x)的最小值,同时满足一些约束条件,可以使用fmincon函数:```x0 = [0.5, 0.5]; % 初始解A = [1, 2]; % 不等式约束系数矩阵b = 1; % 不等式约束右侧常数lb = [0, 0]; % 变量下界ub = [1, 1]; % 变量上界nonlcon = @mycon; % 非线性约束函数options = optimoptions('fmincon', 'Algorithm', 'sqp'); % 优化选项[x, fval] = fmincon(@myfun, x0, A, b, [], [], lb, ub, nonlcon, options);```其中,myfun为目标函数,mycon为非线性约束函数。
fmincon函数返回最优解x和最小值fval。
matlab中常⽤的函数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 控制轴刻度和风格的⾼层指令Bbar ⼆维直⽅图bar3 三维直⽅图bar3h 三维⽔平直⽅图barh ⼆维⽔平直⽅图base2dec X进制转换为⼗进制bin2dec ⼆进制转换为⼗进制blanks 创建空格串bone 蓝⾊调⿊⽩⾊图阵box 框状坐标轴break while 或for 环中断指令brighten 亮度控制Ccapture ;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 余切cplxpair 复数共轭成对排列csc 余割csch 双曲余割cumsum 元素累计和cumtrapz 累计梯形积分cylinder 创建圆柱Ddblquad ⼆重数值积分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 符号计算解微分⽅程Eecho M⽂件被执⾏指令的显⽰edit 启动M⽂件编辑器eig 求特征值和特征向量eigs 求指定的⼏个特征值end 控制流FOR等结构体的结尾元素下标eps 浮点相对精度error 显⽰出错信息并中断执⾏errortrap 错误发⽣后程序是否继续执⾏的控制erf 误差函数erfc 误差补函数erfcx 刻度误差补函数erfinv 逆误差函数errorbar 带误差限的曲线图etreeplot 画消去树eval 串演算指令evalin 跨空间串演算指令exist 检查变量或函数是否已定义exit 退出Matlab环境expand 符号计算中的展开操作expint 指数积分函数expm 常⽤矩阵指数函数expm1 Pade法求矩阵指数expm2 Taylor法求矩阵指数expm3 特征值分解法求矩阵指数eye 单位阵ezcontour 画等位线的简捷指令ezcontourf 画填⾊等位线的简捷指令ezgraph3 画表⾯图的通⽤简捷指令ezmesh 画⽹线图的简捷指令ezmeshc 画带等位线的⽹线图的简捷指令ezplot 画⼆维曲线的简捷指令ezplot3 画三维曲线的简捷指令ezpolar 画极坐标图的简捷指令ezsurf 画表⾯图的简捷指令ezsurfc 画带等位线的表⾯图的简捷指令Ffactor 符号计算的因式分解feather ⽻⽑图feedback 反馈连接feval 执⾏由串指定的函数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 打开外部⽂件format 设置输出格式fourier Fourier 变换fplot 返函绘图指令fprintf 设置显⽰格式fread 从⽂件读⼆进制数据fsolve 求多元函数的零点full 把稀疏矩阵转换为⾮稀疏阵funm 计算⼀般矩阵函数funtool 函数计算器图形⽤户界⾯fzero 求单变量⾮线性函数的零点Ggamma 函数gammainc 不完全函数gammaln 函数的对数gca 获得当前轴句柄gcbo 获得正执⾏"回调"的对象句柄gcf 获得当前图对象句柄gco 获得当前对象句柄geomean ⼏何平均值get 获知对象属性getfield 获知构架数组的域getframe 获取影⽚的帧画⾯ginput 从图形窗获取数据global 定义全局变量gplot 依图论法则画图gradient 近似梯度gray ⿊⽩灰度grid 画分格线griddata 规则化数据和曲⾯拟合gtext 由⿏标放置注释⽂字guide 启动图形⽤户界⾯交互设计⼯具Hharmmean 调和平均值help 在线帮助helpwin 交互式在线帮助helpdesk 打开超⽂本形式⽤户指南hex2dec ⼗六进制转换为⼗进制hex2num ⼗六进制转换为浮点数hidden 透视和消隐开关hilb Hilbert矩阵hist 频数计算或频数直⽅图histc 端点定位频数直⽅图histfit 带正态拟合的频数直⽅图hold 当前图上重画的切换开关horner 分解成嵌套形式hot ⿊红黄⽩⾊图hsv 饱和⾊图Iif-else-elseif 条件分⽀结构ifft 离散Fourier反变换ifft2 ⼆维离散Fourier反变换ifftn ⾼维离散Fourier反变换ifftshift 直流分量对中的谱的反操作ifourier Fourier反变换i, j 缺省的"虚单元"变量ilaplace Laplace反变换imag 复数虚部image 显⽰图象imagesc 显⽰亮度图象imfinfo 获取图形⽂件信息imread 从⽂件读取图象imwrite 把imwrite 把图象写成⽂件ind2sub 单下标转变为多下标inf ⽆穷⼤info MathWorks公司⽹点地址inline 构造内联函数对象inmem 列出内存中的函数名input 提⽰⽤户输⼊inputname 输⼊宗量名int 符号积分int2str 把整数数组转换为串数组interp1 ⼀维插值interp2 ⼆维插值interp3 三维插值interpn N维插值interpft 利⽤FFT插值intro Matlab⾃带的⼊门引导inv 求矩阵逆invhilb Hilbert矩阵的准确逆ipermute ⼴义反转置isa 检测是否给定类的对象ischar 若是字符串则为真isequal 若两数组相同则为真isempty 若是空阵则为真isfinite 若全部元素都有限则为真isfield 若是构架域则为真isglobal 若是全局变量则为真ishandle 若是图形句柄则为真ishold 若当前图形处于保留状态则为真isieee 若计算机执⾏IEEE规则则为真isinf 若是⽆穷数据则为真isletter 若是英⽂字母则为真islogical 若是逻辑数组则为真ismember 检查是否属于指定集isnan 若是⾮数则为真isnumeric 若是数值数组则为真isobject 若是对象则为真isprime 若是质数则为真isreal 若是实数则为真isspace 若是空格则为真issparse 若是稀疏矩阵则为真isstruct 若是构架则为真isstudent 若是Matlab学⽣版则为真iztrans 符号计算Z反变换J , Kjacobian 符号计算中求Jacobian 矩阵jet 蓝头红尾饱和⾊jordan 符号计算中获得Jordan标准型keyboard 键盘获得控制权kron Kronecker乘法规则产⽣的数组Llaplace Laplace变换lasterr 显⽰最新出错信息lastwarn 显⽰最新警告信息leastsq 解⾮线性最⼩⼆乘问题;旧版?legend 图形图例lighting 照明模式line 创建线对象lines 采⽤plot 画线⾊linmod 获连续系统的线性化模型linmod2 获连续系统的线性化精良模型linspace 线性等分向量ln 矩阵⾃然对数load 从MAT⽂件读取变量log ⾃然对数log10 常⽤对数log2 底为2的对数loglog 双对数刻度图形logm 矩阵对数logspace 对数分度向量lookfor 按关键字搜索M⽂件lower 转换为⼩写字母lsqnonlin 解⾮线性最⼩⼆乘问题lu LU分解Mmad 平均绝对值偏差magic 魔⽅阵maple &nb, sp; 运作Maple格式指令mat2str 把数值数组转换成输⼊形态串数组material 材料反射模式max 找向量中最⼤元素mbuild 产⽣EXE⽂件编译环境的预设置指令mcc 创建MEX或EXE⽂件的编译指令mean 求向量元素的平均值median 求中位数menuedit 启动设计⽤户菜单的交互式编辑⼯具mesh ⽹线图meshz 垂帘⽹线图meshgrid 产⽣"格点"矩阵methods 获知对指定类定义的所有⽅法函数mex 产⽣MEX⽂件编译环境的预设置指令mfunlis 能被mfun计算的MAPLE经典函数列表mhelp 引出Maple的在线帮助min 找向量中最⼩元素mkdir 创建⽬录mkpp 逐段多项式数据的明晰化mod 模运算more 指令窗中内容的分页显⽰movie 放映影⽚动画moviein 影⽚帧画⾯的内存预置mtaylor 符号计算多变量Taylor级数展开Nndims 求数组维数NaN ⾮数;预定义?变量nargchk 输⼊宗量数验证nargin 函数输⼊宗量数nargout 函数输出宗量数ndgrid 产⽣⾼维格点矩阵newplot 准备新的缺省图、轴nextpow2 取最接近的较⼤2次幂nnz 矩阵的⾮零元素总数nonzeros 矩阵的⾮零元素norm 矩阵或向量范数normcdf 正态分布累计概率密度函数normest 估计矩阵2范数norminv 正态分布逆累计概率密度函数normpdf 正态分布概率密度函数normrnd 正态随机数发⽣器notebook 启动Matlab和Word的集成环境null 零空间num2str 把⾮整数数组转换为串numden 获取最⼩公分母和相应的分⼦表达式nzmax 指定存放⾮零元素所需内存Oode1 ⾮Stiff 微分⽅程变步长解算器ode15s Stiff 微分⽅程变步长解算器ode23t 适度Stiff 微分⽅程解算器ode23tb Stiff 微分⽅程解算器ode45 ⾮Stiff 微分⽅程变步长解算器odefile ODE ⽂件模板odeget 获知ODE 选项设置参数odephas2 ODE 输出函数的⼆维相平⾯图odephas3 ODE 输出函数的三维相空间图odeplot ODE 输出函数的时间轨迹图odeprint 在Matlab指令窗显⽰结果odeset 创建或改写ODE选项构架参数值ones 全1数组optimset 创建或改写优化泛函指令的选项参数值orient 设定图形的排放⽅式orth 值空间正交化Ppack 收集Matlab内存碎块扩⼤内存pagedlg 调出图形排版对话框patch 创建块对象path 设置Matlab搜索路径的指令pathtool 搜索路径管理器pause 暂停pcode 创建预解译P码⽂件pcolor 伪彩图peaks Matlab提供的典型三维曲⾯permute ⼴义转置pi ;预定义变量?圆周率pie ⼆维饼图pie3 三维饼图pink 粉红⾊图矩阵pinv 伪逆plot 平⾯线图plot3 三维线图plotmatrix 矩阵的散点图plotyy 双纵坐标图poissinv 泊松分布逆累计概率分布函数poissrnd 泊松分布随机数发⽣器pol2cart 极或柱坐标变为直⾓坐标polar 极坐标图poly 矩阵的特征多项式、根集对应的多项式poly2str 以习惯⽅式显⽰多项式poly2sym 双精度多项式系数转变为向量符号多项式polyder 多项式导数polyfit 数据的多项式拟合polyval 计算多项式的值polyvalm 计算矩阵多项式pow2 2的幂ppval 计算分段多项式pretty 以习惯⽅式显⽰符号表达式print 打印图形或SIMULINK模型printsys 以习惯⽅式显⽰有理分式prism 光谱⾊图矩阵procread 向MAPLE输送计算程序profile 函数⽂件性能评估器propedit 图形对象属性编辑器pwd 显⽰当前⼯作⽬录Qquad 低阶法计算数值积分quad8 ⾼阶法计算数值积分(QUADL)quit 推出Matlab 环境quiver ⼆维⽅向箭头图quiver3 三维⽅向箭头图R rrand 产⽣均匀分布随机数randn 产⽣正态分布随机数randperm 随机置换向量range 样本极差rank 矩阵的秩rats 有理输出rcond 矩阵倒条件数估计real 复数的实部reallog 在实数域内计算⾃然对数realpow 在实数域内计算乘⽅realsqrt 在实数域内计算平⽅根realmax 最⼤正浮点数realmin 最⼩正浮点数rectangle 画"长⽅框"rem 求余数repmat 铺放模块数组reshape 改变数组维数、⼤⼩residue 部分分式展开return 返回ribbon 把⼆维曲线画成三维彩带图rmfield 删去构架的域roots 求多项式的根rose 数扇形图rot90 矩阵旋转90度rotate 指定的原点和⽅向旋转rotate3d 启动三维图形视⾓的交互设置功能round 向最近整数圆整rref 简化矩阵为梯形形式rsf2csf 实数块对⾓阵转为复数特征值对⾓阵rsums Riemann和Ssave 把内存变量保存为⽂件scatter 散点图scatter3 三维散点图sec 正割sech 双曲正割semilogx X轴对数刻度坐标图semilogy Y轴对数刻度坐标图series 串联连接set 设置图形对象属性setfield 设置构架数组的域setstr 将ASCII码转换为字符的旧版指令sign 根据符号取值函数signum 符号计算中的符号取值函数sim 运⾏SIMULINK模型simget 获取SIMULINK模型设置的仿真参数simple 寻找最短形式的符号解simplify 符号计算中进⾏简化操作simset 对SIMULINK 模型的仿真参数进⾏设置simulink 启动SIMULINK模块库浏览器sin 正弦sinh 双曲正弦size 矩阵的⼤⼩slice ⽴体切⽚图solve 求代数⽅程的符号解spalloc 为⾮零元素配置内存sparse 创建稀疏矩阵spconvert 把外部数据转换为稀疏矩阵spdiags 稀疏对⾓阵spfun 求⾮零元素的函数值sph2cart 球坐标变为直⾓坐标sphere 产⽣球⾯spinmap ⾊图彩⾊的周期变化spline 样条插值spones ⽤1置换⾮零元素sprandsym 稀疏随机对称阵sprank 结构秩spring 紫黄调春⾊图sprintf 把格式数据写成串spy 画稀疏结构图sqrt 平⽅根sqrtm ⽅根矩阵squeeze 删去⼤⼩为1的"孤维" sscanf 按指定格式读串stairs 阶梯图std 标准差stem ⼆维杆图step 阶跃响应指令str2double 串转换为双精度值str2mat 创建多⾏串数组str2num 串转换为数strcat 接成长串strcmp 串⽐较strjust 串对齐strmatch 搜索指定串strncmp 串中前若⼲字符⽐较strrep 串替换strtok 寻找第⼀间隔符前的内容struct 创建构架数组struct2cell 把构架转换为元胞数组strvcat 创建多⾏串数组sub2ind 多下标转换为单下标subexpr 通过⼦表达式重写符号对象subplot 创建⼦图subs 符号计算中的符号变量置换subspace 两⼦空间夹⾓sum 元素和summer 绿黄调夏⾊图superiorto 设定优先级surf 三维着⾊表⾯图surface 创建⾯对象surfc 带等位线的表⾯图surfl 带光照的三维表⾯图surfnorm 空间表⾯的法线svd 奇异值分解svds 求指定的若⼲奇异值switch-case-otherwise 多分⽀结构sym2poly 符号多项式转变为双精度多项式系数向量symmmd 对称最⼩度排序symrcm 反向Cuthill-McKee排序syms 创建多个符号对象Tttan 正切tanh 双曲正切taylortool 进⾏Taylor逼近分析的交互界⾯text ⽂字注释tf 创建传递函数对象tic 启动计时器title 图名toc 关闭计时器trapz 梯形法数值积分treelayout 展开树、林treeplot 画树图tril 下三⾓阵trim 求系统平衡点trimesh 不规则格点⽹线图trisurf 不规则格点表⾯图triu 上三⾓阵try-catch 控制流中的Try-catch结构type 显⽰M ⽂件Uuicontextmenu 创建现场菜单uicontrol 创建⽤户控件uimenu 创建⽤户菜单unmkpp 逐段多项式数据的反明晰化unwrap ⾃然态相⾓upper 转换为⼤写字母V vvar ⽅差varargin 变长度输⼊宗量varargout 变长度输出宗量vectorize 使串表达式或内联函数适于数组运算ver 版本信息的获取view 三维图形的视⾓控制voronoi Voronoi多边形vpa 任意精度;符号类?数值Wwarning 显⽰警告信息what 列出当前⽬录上的⽂件whatsnew 显⽰Matlab中Readme⽂件的内容which 确定函数、⽂件的位置while 控制流中的While环结构white 全⽩⾊图矩阵whitebg 指定轴的背景⾊who 列出内存中的变量名whos 列出内存中变量的详细信息winter 蓝绿调冬⾊图workspace 启动内存浏览器X x , Y y , Z zxlabel X轴名xor 或⾮逻辑yesinput 智能输⼊指令ylabel Y轴名zeros 全零数组zlabel Z轴名zoom 图形的变焦放⼤和缩⼩ztrans 符号计算Z变换。
MATLAB函数大全Matlab有没有求矩阵行数/列数/维数的函数?ndims(A)返回A的维数size(A)返回A各个维的最大元素个数length(A)返回max(size(A))[m,n]=size(A)如果A是二维数组,返回行数和列数nnz(A)返回A中非0元素的个数MATLAB的取整函数:fix(x), floor(x) :,ceil(x) , round(x) (1)fix(x) : 截尾取整.>> fix( [3.12 -3.12])ans =3 -3(2)floor(x):不超过x 的最大整数.(高斯取整)>> floor( [3.12 -3.12])ans =3 -4(3)ceil(x) : 大于x 的最小整数>> ceil( [3.12 -3.12])ans =4 -3(4)四舍五入取整>> round(3.12 -3.12)ans =>> round([3.12 -3.12])ans =3 -3>>如何用matlab生成随机数函数rand(1)rand(n):生成0到1之间的n阶随机数方阵rand(m,n):生成0到1之间的m×n的随机数矩阵(现成的函数) 另外:Matlab随机数生成函数betarnd 贝塔分布的随机数生成器binornd 二项分布的随机数生成器chi2rnd 卡方分布的随机数生成器exprnd 指数分布的随机数生成器frnd f分布的随机数生成器gamrnd 伽玛分布的随机数生成器geornd 几何分布的随机数生成器hygernd 超几何分布的随机数生成器lognrnd 对数正态分布的随机数生成器nbinrnd 负二项分布的随机数生成器ncfrnd 非中心f分布的随机数生成器nctrnd 非中心t分布的随机数生成器ncx2rnd 非中心卡方分布的随机数生成器normrnd 正态(高斯)分布的随机数生成器poissrnd 泊松分布的随机数生成器raylrnd 瑞利分布的随机数生成器trnd 学生氏t分布的随机数生成器unidrnd 离散均匀分布的随机数生成器unifrnd 连续均匀分布的随机数生成器weibrnd 威布尔分布的随机数生成器一、MATLAB常用的基本数学函数abs(x):纯量的绝对值或向量的长度angle(z):复数z的相角(Phase angle)sqrt(x):开平方real(z):复数z的实部imag(z):复数z的虚部conj(z):复数z的共轭复数round(x):四舍五入至最近整数fix(x):无论正负,舍去小数至最近整数floor(x):地板函数,即舍去正小数至最近整数ceil(x):天花板函数,即加入正小数至最近整数rat(x):将实数x化为分数表示rats(x):将实数x化为多项分数展开sign(x):符号函数(Signum function)。
matlab图像处理函数大全Matlab是一种强大的科学计算软件,广泛应用于各个领域,包括图像处理。
在Matlab中,有许多内置的图像处理函数,可以帮助我们实现各种图像处理任务。
本文将介绍一些常用的Matlab图像处理函数,帮助您更好地理解和运用这些函数。
1. imread函数imread函数用于读取图像文件,并将其存储为Matlab的图像矩阵。
它可以读取多种图像格式,如JPEG、PNG、BMP等。
例如,可以使用以下代码读取名为"image.jpg"的图像文件:```matlabimage = imread('image.jpg');```2. imshow函数imshow函数用于显示图像。
它可以接受一个图像矩阵作为输入,并将其显示在Matlab的图像窗口中。
例如,可以使用以下代码显示之前读取的图像:```matlabimshow(image);```3. imresize函数imresize函数用于调整图像的大小。
它可以接受一个图像矩阵和目标大小作为输入,并返回调整大小后的图像矩阵。
例如,可以使用以下代码将图像调整为200x200的大小:```matlabresized_image = imresize(image, [200, 200]);```4. rgb2gray函数rgb2gray函数用于将彩色图像转换为灰度图像。
它可以接受一个彩色图像矩阵作为输入,并返回一个灰度图像矩阵。
例如,可以使用以下代码将彩色图像转换为灰度图像:```matlabgray_image = rgb2gray(image);```5. imadjust函数imadjust函数用于调整图像的对比度和亮度。
它可以接受一个灰度图像矩阵和目标对比度和亮度范围作为输入,并返回调整后的图像矩阵。
例如,可以使用以下代码增加图像的对比度和亮度:```matlabadjusted_image = imadjust(gray_image, [0.2, 0.8], [0, 1]);```6. imfilter函数imfilter函数用于对图像进行滤波操作。
Matlab基本算术命令:数组的计算:x=[3,5,11,17,8,9,31,40,12];y=x+16 //数组里每个数加16y=sqrt(x) //数组每个数开平方n=length(x) //数组里偶数加2for i=1:nif mod(x(i),2)==0x(i)=x(i)+2endendsum(x(1:2:length(x))) //数组里系数为奇数的数的和========================================数组的阶乘运算须知:当x是一组数时,如:x=1:0.1:4此时:y=x^3、y=exp(x*x) 会出错应为:y=x.^3、y=exp(x.*x) 用“点乘”========================================数组操作命令:>> x=[3,1,5,7,9,2,6]; 定义一个数组>> x(3) 该数组的第三个数是?>> x(1:7) (显示该数组第1到第7个数)>> x(1:end-1) 示该数组1~(7-1)个数>> x(6:-2:1) 第六个数开始,从后往前隔着取数>> sum(x) (数组内所有数求和)========================================矩阵命令:>> A = [ 1 2 3; 3 4 5; 6 7 8] 按行写3X3矩阵>> B = [ [1 2 3]' [2 4 7]' [3 5 8]'] 按列写3X3矩阵>> B = zeros (m,n) m X n零矩阵>> E = ones (m, n) m X n单位矩阵>> N = rand(m, n) 随即矩阵>> A' 矩阵转置其他矩阵操作命令见"第一次作业"=====================================控制系统模型相关命令:用ode45 解常微分方程:例题:求解dy/dt = -2y/t + 4t 在区间[1,3]的解f=-2.*y./t+4*t //定义函数[T,Y]=ode45(f,[1 3],2); //调用ode45命令//[1,3]为区间,2为初值Y_analysis = T.^2 + 1./(T.^2); //size(T);size(Y);size(Y_analysis);plot(T,Y,'r',T,Y_analysis,'g')========================================传函模型:num1=[1]den1=[1000 50]sys=tf(num1,den1)========================================分子或分母由多个多项式乘积时的传函模型:例如:G(s) = 4(s+2)(s2+6s+6)/[s(s+1)3(s3+3s2+2s+5)]用conv命令处理:num = 4*conv([1 2],[1 6 6])den = conv([1 0],conv([1 1],conv([1 1],conv([1 1],[1 3 2 5])))) Sys=tf(num,den)或者另一种方法:例如1/(((s+1)^2+s+2)^3+1) ?s=tf('s'); //定义算子G=1/(((s+1)^2+s+2)^3+1)可以得出结果========================================零极点模型:>> h=zpk({[-3]},{[-1 -2 -5]},6)Zero/pole/gain:6 (s+3)-----------------(s+1) (s+2) (s+5)========================================状态空间模型:ss用法略三种模型之间的转换:>> [A,B,C,D]= tf2ss([1],[1,100])>> [z,p,k]=tf2zpk([3 23 46 22],[3 4 2 7 8 5])其它的看课件========================================两个传函之间的串联、并联与反馈:y1 y2 为两个不同的传递函数:>> y=series(y1,y2) 两模型串联>> y=paralle(y1,y2) 两模型并联>> yf=feedback(y,1) 加上单位负反馈后的传函-1时为单位正反馈1还可以替换为其他模型如y1========================================离散化命令:c2d例子:在采样周期T=0.1时进行离散化>> ts=0.1;>> c2d(h,ts,'tustin') 双线性变换可以不写''tustin则默认为zoh 模式========================================M 语言:本次考试所有命令都应被写到m 文件里,然后提交所以要会把命令写到m 文件中并运行。
目录一、随机数 (1)收益率函数ret=price2ret(P(:,2));%收益率函数要记住hist(ret,30)对数收益率:retn=log(close(2:end))-log(close(1:end-1));一、随机数(一)Matlab内部函数a.基本随机数Matlab中有两个最基本生成随机数的函数。
1.rand()生成(0,1)区间上均匀分布的随机变量。
基本语法:rand([M,N,P ...])生成排列成M*N*P... 多维向量的随机数。
如果只写M,则生成M*M矩阵;如果参数为[M,N]可以省略掉方括号。
一些例子:rand(5,1) %生成5个随机数排列的列向量,一般用这种格式rand(5) %生成5行5列的随机数矩阵rand([5,4]) %生成一个5行4列的随机数矩阵生成的随机数大致的分布。
x=rand(100000,1);hist(x,30);由此可以看到生成的随机数很符合均匀分布。
(视频教程会略提及hist()函数的作用) 2.randn()生成服从标准正态分布(均值为0,方差为1)的随机数。
基本语法和rand()类似。
randn([M,N,P ...])生成排列成M*N*P... 多维向量的随机数。
如果只写M,则生成M*M矩阵;如果参数为[M,N]可以省略掉方括号。
一些例子:randn(5,1) %生成5个随机数排列的列向量,一般用这种格式randn(5) %生成5行5列的随机数矩阵randn([5,4]) %生成一个5行4列的随机数矩阵生成的随机数大致的分布。
x=randn(100000,1);hist(x,50);由图可以看到生成的随机数很符合标准正态分布。
b.连续型分布随机数如果你安装了统计工具箱(Statistic Toolbox),除了这两种基本分布外,还可以用Matlab内部函数生成符合下面这些分布的随机数。
3.unifrnd()和rand()类似,这个函数生成某个区间内均匀分布的随机数。
函数1.step阶跃响应指令(连续函数)dstep 阶跃响应指令(离散函数)clearclcnum=[2 -3.4 1.5];den=[1 -1.6 0.8];dstep(num,den)grid ontitle('离散系统阶跃响应')xlabel('时间')clearclcnum=[2 -3.4 1.5];den=[1 -1.6 0.8]step(num,den)grid ontitle('离散系统阶跃响应') xlabel('时间')2. c2dm()函数连续系统的离散化在MATLAB软件中对连续系统的离散化是应用c2dm()函数实现的,c2dm()函数的一般格式为3. 函数initial(),dinitial()对于连续系统由初始状态所引起的响应,零输入响应,可由函数initial()来求得,其调用格式为[y,x,t]=initial(A,B,C,D,x0)[y,x,t]=initial(A,B,C,D,x0,t)其中x0为初始状态.同理,对于离散系统的零输入响应函数调用格式为:[y,x,t]=dinitial(A,B,C,D,x0)[y,x,t]=dinitial(A,B,C,D,x0,n)4. axisaxis一般用来设置axes的样式,包括坐标轴范围,可读比例等axis([xmin xmax ymin ymax])axis([xmin xmax ymin ymax zmin zmax cmin cmax]) 坐标轴设置5.函数ss2zp()(与zplane()连用)MATLAB还提供了一个类似的函数ss2zp()。
该函数的功能是直接根据系统的状态方程描述求取系统的零点、极点和增益,不必先化成传递函数描述形式。
其基本调用格式与tf2zp()函数类似,只是多了一个输入量选择的参数:[Z,P,K]=ss2zp(A,B,C,D,iu)其中(A ,B ,C ,D)是系统的状态方程描述的系数矩阵, iu 表示对系统的第iu 个输入量求零点、极点和增益;Z 是求得的零点矩阵;P 是求得的极点矩阵,Z 的列数与输出量y 的个数一样多,行数视零点个数的多少而定;K 是求得的增益列向量,其维数等于输出量y 的个数。
6. zplane()zplane 函数用于画出线性系统在Z 平面上的零极点。
有两种使用方法: 1、 在已知零极点时,例如某滤波器的零点为-1/2,一对共轭极点为和 时,只要输入命令 zer = -0.5;pol = 0.9*exp(j*2*pi*[-0.3 0.3]'); zplane(zer,pol) 即可画出零极点。
另一种情况:已知系统的系统函数系数向量b 和 a ,则可通过调用)3.0(29.0πj e )3.0(29.0πj e -zplane(b,a)绘出零极点。
这种情形下,zplane 函数先求得系统函数的零点和极点,然后绘出零极点图。
例子clearA1=[-1.5,-0.8,0,0;0.8,0,0,0;0.3,0.4,-4.0,-1.25;0,0,-1.25,0];B1=[1;0;1;0];C1=[1,2,1,2];D1=0;t=0.5;[A,B,C,D]=c2dm(A1,B1,C1,D1,t,'m');subplot(2,2,1)dstep(A,B,C,D)grid ontitle('离散阶跃响应')xlabel('时间')ylabel('振幅')subplot(2,2,2)dimpulse(A,B,C,D)grid ontitle('离散冲激响应')ylabel('振幅')xlabel('时间')subplot(2,2,3)x0=[1,1,1,1];dinitial(A,B,C,D,x0)grid onylabel('振幅')xlabel('时间')title('离散零输入响应')axis([0 6 -0.5 2.5])subplot(2,2,4)[z,p,k]=ss2zp(A,B,C,D,1)zplane(z,p)grid ontitle('离散零极点图')xlabel('实部')ylabel('虚部')7.lsim()和dlsim()任意输入函数的响应连续系统对任意输入函数的响应可利用MATLAB的函数lsim()求取,其调用格式为[y,x]=lsim(num,den,u,t)[y,x]=lsim(A,B,C,D,iu,u,t)其中,u为由给定输入序列构成的矩阵,它的每列对应一个输入,每行对应一个新的时间点,其行数与时间t的长度相等.其他用法同step()函数.8. gensig()特定输入时间响应函数[u,t]=gensig(type,Ta)type类型:sin、square(方波)、pulseTa-周期如生成一个周期为5s,持续时间为30s,采样时间为0.1s的方波。
[u,t]=gensig('square',5,30,0.1)plot(t,u)axis([0,30,-0.5,1.5])9.tf()Sys= tf (NUM, DEN ) 用于创建一个传递函数的表达。
例子clear[u,t]=gensig('squre',4,10,0.1);H=[tf([2,5,1],[1,2,3]);tf([1,-1],[1,1,5])];lsim(H,u,t)grid ontitle('周期为4秒的方波输出响应')xlabel('时间')ylabel('振幅')grid off10.sym()、syms定义符号变量sym(‘x’,’y’)%定义符号变量x,ysyms x y %定义符号变量x,y11.limit():求极限函数(P140)符号极限,(1)l imit(F,v,a): 计算符号对象F,当指定变量V到a时的极限。
(2)l imit(F,a) : 计算符号对象F,当默认的独立变量趋近于a 的极限。
(3)l imit(F) : 计算符号对象F,当默认的独立变量趋近于0 的极限。
(4)l imit(F,v,a,’right’)或limit(F,v,a,’left’):计算符号函数F的单侧极限:右极限v到a的极限,或左极限v到a的极限。
12.diff(): 求微分函数(P141)(1)diff(S,’v’): 对符号对象S中指定的符号变量v求其1阶导数。
(2)diff(S): 对符号对象S中默认的独立变量求其1阶导数。
(3)diff(S,n): 对符号对象S中默认的独立变量求其n阶导数。
(4)diff(S,’v’,n): 对符号对象S中指定的符号变量v求其n阶导数。
13.int(): 求积分函数(P141)(1)R=int(S,v): 对符号对象S中指定的符号变量v求不定积分,结果没有带任意常数C。
(2)R=int(S): 对符号对象S中默认的独立变量求不定积分。
(3)R=int(S,v,a,b): 对符号对象S中指定的符号变量v求从a到b的定积分。
(4)R=int(S,a,b): 对符号对象S中默认的独立变量求从a到b的定积分。
14.符号inf 无穷大MATLAB中无穷大用Inf表示,这个符号是MATLAB已经定义好的特殊变量。
负无穷大用-inf表示,正无穷大用+inf或inf表示。
15.rand()‹常用的产生通用特殊矩阵的函数–zeros:产生全0矩阵(零矩阵)–ones:产生全1矩阵(幺矩阵)–eye:产生单位矩阵–rand:产生0~1间均匀分布的随机矩阵–randn:产生均值为0,方差为1的标准正态分布随机矩阵‹以zeros函数为例–zeros(m):产生m×m零矩阵–zeros(m,n) :产生m×n零矩阵–zeros(size(A)) :产生一个与矩阵A同样大小的零矩阵Rand:生成均匀分布的伪随机数,分布在(0~1)之间,主要语法:rand(m,n)生成m行n列的均匀分布的伪随机数产生在[a,b]区间服从均匀分布的随机数方法a + (b-a)*rand(m,n)Randn:生成标准正态分布的伪随机数(均值为0,方差为1)»主要语法:和上面一样»产生均值为μ,方差为σ2的随机数方法例子clearnum=[2 -6.8 3.6];den=[3 -4.3 1.75];u=rand(100,1);dlsim(num,den,u);grid onclearnum=1.064;den=[2,-3.685,1.791];u1=[ones(1,50),-1*ones(1,50)]; u=[u1,u1,u1];dlsim(num,den,u)grid ontitle('离散系统仿真')xlabel('时间')ylabel('振幅')16.pzmap()MATLAB提供了函数pzmap()来绘制系统的零极点图,其用法如下调用格式为pzmap(p,z);P—零点向量z—极点向量•[p,z]=pzmap(a,b,c,d):返回状态空间描述系统的极点矢量和零点矢量,而不在屏幕上绘制出零极点图。
(不绘图,只求p,z)•[p,z]=pzmap(num,den):返回传递函数描述系统的极点矢量和零点矢量,而不在屏幕上绘制出零极点图。
(不绘图,只求p,z)•pzmap(a,b,c,d)或pzmap(num,den):不带输出参数项,则直接在s复平面上绘制出系统对应的零极点位置,极点用×表示,零点用o表示。
(绘图,不求p,z)•pzmap(p,z):根据系统已知的零极点列向量或行向量直接在s复平面上绘制出对应的零极点位置,极点用×表示,零点用o表示。
例子clearnum=[0.0001 0.0218 1.0436 9.3599];den=[0.0006 0.0268 0.06365 6.2711];[p,z]=pzmap(num,den) %求p,z值pzmap(num,den) %绘图,绘出图纸grid ontitle('零极点图')xlabel('实轴')ylabel('虚轴')clearnum=[0.0001 0.0218 1.0436 9.3599];den=[0.0006 0.0268 0.06365 6.2711];sys=tf(num,den);pzmap(sys)[p,z]=pzmap(sys)title('零极点图')xlabel('实轴')ylabel('虚轴')图与上面相同17.rlocus()MATLAB提供了函数rlocus()来绘制系统的根轨迹图,其用法如下:•rlocus(a,b,c,d)或者rlocus(num,den):根据SISO开环系统的状态空间描述模型和传递函数模型,直接在屏幕上绘制出系统的根轨迹图。