Matlab入门-M语言

合集下载

MATLAB 9.8 基础教程 第7章 M文件与MLX文件

MATLAB 9.8 基础教程 第7章 M文件与MLX文件

所有数据。在运行过程中,产生的所有变量均是工作区变量,这些变量一旦生成,就一直保持
在工作区中,除非执行clear命令将它们清除。
运行一个脚本文件等价于从命令行窗口中顺序运行文件里的语句。由于脚本文件只是一串命
令的集合,因此,只需像在命令行窗口中输入语句那样,依次将语句编辑在脚本文件中,然后
在MATLAB命令行窗口输入该命令文件的名字就会顺序执行命令文件中的命令。
>> type std
则显示内容如下:
பைடு நூலகம்
function y = std(varargin)
函数定义行
%STD Standard deviation.
H1行
以下注释行都是帮助文本
% For vectors, Y = STD(X) returns the standard deviation. For matrices,
7.1.3 函数M文件
函数M文件是第一个可执行语句以function开始的M文件,每一个函数文件都定义一个函数,它可 以接受参数、也可以返回参数。函数文件内定义的变量是局部变量,只在函数文件内部起作用, 当函数文件执行完后,这些内部变量将被清除。在一般情况下,用户不能靠单独输入其文件名来 运行函数文件,而必须由其它语句来调用。事实上,MATLAB提供的标准函数大部分都是由函数 文件定义的。
第7章 M文件与MLX文件
7.1 M文件
当用户要运行的命令较多或需要反复运行多条命令时,若在MATLAB命令行窗口中直接从键盘逐行 输入命令会显得比较麻烦,这时建立一个M文件则可以较好地解决这一问题。
7.1.1 M文件的建立与运行
M文件可以用任何程序建立和编辑,且在MATLAB提供的M文件编辑器窗口实现。

matlab m语言大全

matlab m语言大全

csch 双曲余割cumsum 元素累计和cumtrapz 累计梯形积分cylinder 创建圆柱D 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 符号计算解微分方程E eecho M文件被执行指令的显示edit 启动M文件编辑器eig 求特征值和特征向量eigs 求指定的几个特征值end 控制流FOR等结构体的结尾元素下标eps 浮点相对精度error 显示出错信息并中断执行errortrap 错误发生后程序是否继续执行的控制erf 误差函数erfc 误差补函数erfcx 刻度误差补函数erfinv 逆误差函数errorbar 带误差限的曲线图etreeplot 画消去树eval 串演算指令evalin 跨空间串演算指令exist 检查变量或函数是否已定义exit 退出Matlab环境exp 指数函数expand 符号计算中的展开操作expint 指数积分函数expm 常用矩阵指数函数expm1 Pade法求矩阵指数expm2 Taylor法求矩阵指数expm3 特征值分解法求矩阵指数eye 单位阵ezcontour 画等位线的简捷指令ezcontourf 画填色等位线的简捷指令ezgraph3 画表面图的通用简捷指令ezmesh 画网线图的简捷指令ezmeshc 画带等位线的网线图的简捷指令ezplot 画二维曲线的简捷指令ezplot3 画三维曲线的简捷指令ezpolar 画极坐标图的简捷指令ezsurf 画表面图的简捷指令ezsurfc 画带等位线的表面图的简捷指令F 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 打开外部文件for 构成for环用format 设置输出格式fourier Fourier 变换fplot 返函绘图指令fprintf 设置显示格式fread 从文件读二进制数据fsolve 求多元函数的零点full 把稀疏矩阵转换为非稀疏阵funm 计算一般矩阵函数funtool 函数计算器图形用户界面fzero 求单变量非线性函数的零点G ggamma 函数gammainc 不完全函数gammaln 函数的对数gca 获得当前轴句柄gcbo 获得正执行"回调"的对象句柄gcf 获得当前图对象句柄gco 获得当前对象句柄geomean 几何平均值get 获知对象属性getfield 获知构架数组的域getframe 获取影片的帧画面ginput 从图形窗获取数据global 定义全局变量gplot 依图论法则画图gradient 近似梯度gray 黑白灰度grid 画分格线griddata 规则化数据和曲面拟合gtext 由鼠标放置注释文字guide 启动图形用户界面交互设计工具H hharmmean 调和平均值help 在线帮助helpwin 交互式在线帮助helpdesk 打开超文本形式用户指南hex2dec 十六进制转换为十进制hex2num 十六进制转换为浮点数hidden 透视和消隐开关hilb Hilbert矩阵hist 频数计算或频数直方图histc 端点定位频数直方图histfit 带正态拟合的频数直方图hold 当前图上重画的切换开关horner 分解成嵌套形式hot 黑红黄白色图hsv 饱和色图I 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 j , K kjacobian 符号计算中求Jacobian 矩阵jet 蓝头红尾饱和色jordan 符号计算中获得Jordan标准型keyboard 键盘获得控制权kron Kronecker乘法规则产生的数组L 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分解M 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级数展开N 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 指定存放非零元素所需内存O 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 值空间正交化P 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 显示当前工作目录Q 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和S 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 创建多个符号对象T ttan 正切tanh 双曲正切taylortool 进行Taylor逼近分析的交互界面text 文字注释tf 创建传递函数对象tic 启动计时器title 图名toc 关闭计时器trapz 梯形法数值积分treelayout 展开树、林treeplot 画树图tril 下三角阵trim 求系统平衡点trimesh 不规则格点网线图trisurf 不规则格点表面图triu 上三角阵try-catch 控制流中的Try-catch结构type 显示M文件U uuicontextmenu 创建现场菜单uicontrol 创建用户控件uimenu 创建用户菜单unmkpp 逐段多项式数据的反明晰化unwrap 自然态相角upper 转换为大写字母V vvar 方差varargin 变长度输入宗量varargout 变长度输出宗量vectorize 使串表达式或内联函数适于数组运算ver 版本信息的获取view 三维图形的视角控制voronoi Voronoi多边形vpa 任意精度(符号类)数值W 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初学者语言基础
❖ help命令
▪ 在命令窗口使用help组合命令。当用户知道函数名称想了解其具体用法时,可 以在命令窗口使用help命令,调用方法是help 函数名,例如:
>> help inv
❖ lookfor命令
▪ 在命令窗口使用lookfor组合命令。注意,help 命令要求函数名的精确匹配,而 lookfor只要求与每个函数中的总结信息有匹配。所以当用户不知道函数的确切 名称时可以使用lookfor命令 ,例如找矩阵求逆函数可以输入:
>> 3.14*3^2
ans =
28.2600
▪ 当遇到较为复杂的问题时,可以采用给变量赋值的方法,例如:可以用变量r来表示圆的
半径,用变量S来表示圆的面积,百分号“%”是MATLAB中的注释符
>> r=3
%圆的半径r=3
r=
3
>> S=3.14*r^2 %求圆的面积S
S=
28.2600
▪ 在命令窗口输入r=3并按下Enter键后,MATLAB会在命令窗口直接显示这条命令的计算 结果,若要禁止显示计算的中间结果,则可以通过分号“;”来实现,例如:
❖ 产生与发展
▪ 雏形——基于特征计算的程序库EISPACK和线性代数程序库LINPACK ▪ 免费软件->MathWorks公司 ▪ 演变成为一种具有广泛应用前景的全新的计算机高级编程语言
❖ 优势
▪ 强大易用的科学计算语言 ▪ 全面的图形功能 ▪ 独立开放的平台 ▪ 实用的程序接口
命令窗口 当前目录窗口
❖ 编辑搜索路径的常用命令
>> path
%显示所有搜索路径
>> addpath
%增加目录到MATLAB搜索路径。

matlab m 编程语言

matlab m 编程语言

matlab m 编程语言Matlab M编程语言是一种高级的数值计算和编程环境,其提供了丰富的函数和工具箱,用于科学计算、数据分析、图像处理等各个领域。

本文将介绍Matlab M编程语言的基本语法和常用功能。

一、基本语法Matlab M编程语言的基本语法类似于其他编程语言,包括变量的定义和赋值、条件语句、循环语句等。

下面以一个简单的例子来说明基本语法:```matlab% 定义变量a = 10;b = 20;% 条件语句if a > bdisp('a大于b');elseif a < bdisp('a小于b');elsedisp('a等于b');end% 循环语句for i = 1:5disp(i);end```二、常用函数和工具箱Matlab M编程语言提供了丰富的函数和工具箱,用于各种科学计算和数据处理任务。

下面列举一些常用的函数和工具箱:1. 统计工具箱:用于统计分析和数据建模,包括描述统计、假设检验、回归分析等功能。

2. 图像处理工具箱:用于图像处理和计算机视觉任务,包括图像滤波、边缘检测、图像分割等功能。

3. 信号处理工具箱:用于信号处理和数字信号处理任务,包括滤波、频谱分析、时频分析等功能。

4. 控制系统工具箱:用于控制系统分析和设计,包括传递函数表示、稳定性分析、控制器设计等功能。

5. 优化工具箱:用于优化问题的建模和求解,包括线性规划、非线性规划、整数规划等功能。

三、应用实例Matlab M编程语言在科学计算和工程应用中有广泛的应用。

下面举两个实际应用的例子:1. 图像处理:利用Matlab M编程语言中的图像处理工具箱,可以对图像进行各种处理和分析。

例如,可以对医学影像进行图像增强,提取感兴趣区域,进行图像分割等操作。

2. 机器学习:Matlab M编程语言提供了丰富的机器学习工具箱,可以用于分类、聚类、回归等任务。

例如,可以利用支持向量机对数据进行分类,利用神经网络进行回归分析等。

第二章_MATLAB语言基础_第1节-赵亦欣

第二章_MATLAB语言基础_第1节-赵亦欣
ans的值将在下一条表达式语句执行后被刷新。
第2章 MATLAB语言基础
【例2.8】 表达式语句。 >> sqrt(2)*exp(-1*3) ans = 0.0704 >> 8*3+6/4 ans = 25.5000
表达式语句 运算结果 执行下一条 表达式语句 后,结果将 被刷新
第2章 MATLAB语言基础
第2章 MATLAB语言基础
2.1 基础知识
2.1.3 变量和语句
变量名区分字母大小写;不超过31个字 符,31个以后的字符将被忽略,字符之间不 能有空格;必须以字母打头,之后可以是任意 字母、数字或下画线;不允许使用标点符号。
第2章 MATLAB语言基础
MATLAB的一条命令行就是一条语句,
格式与书写数学表达式相近。 在命令窗输入语句,该语句可被解释运 行并给出运行结果。
第2章 MATLAB语言基础
(1)永久变量不能用clear命令清除; (2)永久变量不响应Who, Whos命令; (3)永久变量可以等于表2-1中的值; (4)被赋值的永久变量,在clear命令清除内 存或命令窗关闭再打开后,将被设为默认值;
(5)允许被0除。
第2章 MATLAB语言基础
2.1 基础知识
第2章 MATLAB语言基础
【例2.11】复数矩阵的生成及运算。 >> A=[1 2; 3 4]+[5 6; 7 8]*I % 复数矩阵的输入。 分别由实部矩阵和虚部矩阵组合而成 A= 1.0000 + 5.0000i 2.0000 + 6.0000i 3.0000 + 7.0000i 4.0000 + 8.0000i >> B=[1+2i 3+4i; 5+6i 7+8i] % 复数矩阵的输入。 直接由复数构成矩阵 B= 1.0000 + 2.0000i 3.0000 + 4.0000i 5.0000 + 6.0000i 7.0000 + 8.0000i >> C=A*B % 复数矩阵相乘。 复数矩阵乘法, 1.0e+002表 示标量100,矩阵运算中,存在直 C= 角坐标和极坐标之间的转换 1.0e+002 * -0.3500 + 0.4900i -0.5100 + 0.7700i -0.3900 + 0.7700i -0.5500 + 1.2100i

matlab基本编程

matlab基本编程


程序如下: function iftow(x) if x>0
fprintf(‘%f is a positive number\n’,x) else
fprintf(‘%f is not a positive number\n’,x) end
例 计算分段函数值。
程序如下: x=input('请输入x的值:'); if x==10 y=cos(x+1)+sqrt(x*x+1); else y=x*sqrt(x+sqrt(x)); end y
function f = fact(n) %函数的定义行
% Compute a factorial value. %H1行
% FACT(N) returns the factorial of N, %帮助文 本
% usually denoted by N!
% Put simply, FACT(N) is PROD(1:N). %注释
disp(setstr(abs(c)-1)); elseif c>='0'& c<='9'
disp(abs(c)-abs('0')); else
disp(c); end
例 输入数n,判断其奇偶性
程序如下: n = input('n='), if rem(n,2)==0 A = ‘even’ else A = ‘odd’ end
3.多分支if语句 语句格式为: if 条件1
语句组1 elseif 条件2
语句组2
…… elseif 条件m
语句组m
else 语句组m+1

m语言说明

m语言说明
2.数组
数组就是有序数列的集合。数组的每一个元素都属于同一种类型,它们使用同一个数组名和不同的下标来唯一确定数组中的成员。下标是指数组元素在数组中的序号。
3.向量
从编程语言的角度,向量就是一维数组,从数学的角度看,向量就是1×N或N×1的矩阵,即行向量或列向量。
4.矩阵
在Matlab中,矩阵的概念和线性代数中定义的矩阵的概念是一样的。矩阵使用一对圆括号或方括号括起来,符合一定规则的数学对象。如:
B=
二.创建向量
向量也就是一维数组,在Matlab中创建向量可以使用不同的方法,最简单的方法就是逐个输入向量元素,如
>>x=[1 3 pi 3+5i]
在逐个元素输入时,每个元素之间可以用空格或逗号“,”作为间隔符。
第二种方法就是利用冒号“:”运算符创建向量,如
>>x=1:10
然后用whos查看内存变量。
②使用全下标的形式访问矩阵元素的方法简单、直接,和线性代数中矩阵元素的概念是对应的。
③单下标是矩阵元素在内存中存储的序列号,在Matlab中矩阵元素的排列是以列元素优先,和C语言不同,与Fortran相同。
④单下标和全下标之间的转换关系,以m×n矩阵为例,全下标为i, j的元素其单下标为
另外,Matlab提供了两个函数可以完成它们之间的转换
>>tril(A)
>>triu(A)
2.矩阵的运算
针对矩阵的运算,Matlab提供了若干函数和基本的运算规则,这些规则和函数分别和线性代数中的概念和运算规则是对应的,如下表。
矩阵的基本运算
运算
说明
A’
矩阵转置
A^n
矩阵求幂,n可以为任意数

Matlab入门-M语言培训课件

Matlab入门-M语言培训课件
为程序员提供一种更为灵活的 编程方法。
7、常用的警示指令
(1)error(‘message’) 显示出错信息,终止程序
(2)lasterr 显示matlab自动判断的最新出错原因并终止程序;
(3)warning(‘message’) 显示警告信息,程序继续执行;
(4)lastwarn 显示matlab自动给出的最新警告程序继续运行
捕捉语句实例
矩阵乘法运算要求两矩阵的维数相容,否则会出错。先 求两矩阵的乘积,若出错,则自动转去求两矩阵的点乘。
程序如下:
A=[1,2,3;4,5,6]; B=[7,8,9;10,11,12];
try
C=A*B;
catch
C=A.*B;
endClaste Nhomakorabear%显示出错原因并退出
第三节 M文件
✓MATLAB有两种工作方式 交互式的命令行工作方式:用于简单情形 M文件的程序工作方式:用于复杂、重复多的情形 包括: 脚本文件(没有输入参数,也不返回输出参数) 函数文件(可以输入参数,也可返回输出参数)
break语句实例
i = 0; j = 0; k = 0; for i = 1:2
for j = 1:2 for k = 1:2 if (k == 2) disp('退出循环'); break; end str = sprintf('I = %d , J = %d , K =
%d',i,j,k); %Write formatted data to string disp(str);
case 1 disp(‘the input is 1')
case {2,3,4} disp(‘the input is 2 or 3 or 4')

MATLAB语言入门

MATLAB语言入门

MATLAB 界面浏览Command Window: 命令窗口Workspace Browser: 工作空间浏览器Command History: 命令历史栏MATLAB的帮助系统MATLAB常用的数据类型矩阵的索引与下标可以产生各种特殊用途的矩阵的命令使用一维或二维下标来存储矩阵,A(i,j)和A(i+(j-1)*m)是完全一样的End这个保留字代表某一维数的最大值MATLAB常用的数学函数计算向量元素统计量的常用函数x=linspace(0,2*pi);%在0到2π间,等分取100个点%进行多条曲线描点绘图plot(x,sin(x));hold on;plot(x,cos(x),’r’);•Plotyy命令可以画出两个刻度不同的y轴。

x=linspace(0,2*pi);%在0到2π间,等分取100个点%画出两个刻度不同的y轴,分别是y1,y2y1=sin(x);y2=exp(-x);plotyy(x,y1,x,y2);代表爆炸,非零元素表示向外拖出的扇形% 在x 轴上取25点x=linspace(-2, 2, 25); % 在y 轴上取25点y=linspace(-2, 2, 25);% xx 和yy 都是25x25的矩阵[xx,yy]=meshgrid(x, y);% 计算函数值,zz 也是25x25的矩阵zz=xx.*exp(-xx.^2-yy.^2); % 画出立体网状图mesh(xx, yy, zz); % 画出立体曲面图surf(xx, yy, zz);Meshgrid 的作用是产生x 及y(均为向量)为基准的栅格点(GridPoints ),其输出为xx 及yy ,分别代表栅格点的x 坐标及y 坐标。

MATLAB语言入门

MATLAB语言入门
上页 下页 退出
哈 工 程 大 学 数 值 计 算 软 件
下面是MATLAB系统内预定义的全局变量: 系统内预定义的全局变量: 下面是 系统内预定义的全局变量 ans)最近一次计算的结果; 最近一次计算的结果; 最近一次计算的结果 eps)MATLAB内部进行某些数值计算所允许的最大误差; 内部进行某些数值计算所允许的最大误差; 内部进行某些数值计算所允许的最大误差 pi) 圆周率 圆周率3.1415926535897………; ; i,j)表示虚数即 表示虚数即sqrt(-1);例如:2+3*j,1+i,2+5i; 表示虚数即 ;例如: , , ; inf)无穷大,例如1/0就会得到结果为 ; 无穷大,例如1 就会得到结果为 就会得到结果为inf; 无穷大 NaN)不定值或无效值,例如0/0就会得到这个结果; 不定值或无效值,例如 就会得到这个结果 就会得到这个结果; 不定值或无效值 flops)已经进行的浮点运算的次数; 已经进行的浮点运算的次数; 已经进行的浮点运算的次数 realmax,realmin)系统能够表示的最大及最小的实数; 系统能够表示的最大及最小的实数; 系统能够表示的最大及最小的实数 computer)正在使用的计算机的类型; 正在使用的计算机的类型; 正在使用的计算机的类型 version)当前 当前MATLAB的版本号 当前 的版本号
哈 工 程 大 学 数 值 计 算 软 件
MATLAB语言入门 语言入门
向计算机输入MATLAB语言的形式两种方法, 向计算机输入MATLAB语言的形式两种方法,一种是窗口 MATLAB语言的形式两种方法 命令形式,也就是上一节中我们所看到的;另一种是M 命令形式,也就是上一节中我们所看到的;另一种是M文件的 形式,可以用MATLAB中的M文件编辑/ MATLAB中的 形式,可以用MATLAB中的M文件编辑/调试器或者任何一个文 本文件编辑器如Notepad.exe Edit.exe等建立一个以 .m” Notepad.exe、 等建立一个以“ 本文件编辑器如Notepad.exe、Edit.exe等建立一个以“.m 为扩展名的文本文件(ASCII文件) (ASCII文件 为扩展名的文本文件(ASCII文件),这种文本文件也有二种形 即脚本(script)与函数(function) (script)与函数(function)。 式,即脚本(script)与函数(function)。脚本文件包含一系 列的MATLAB语句,当运行某个脚本文件时, MATLAB语句 列的MATLAB语句,当运行某个脚本文件时,它将自动执行脚 本中的MATLAB命令直到给出最终结果, MATLAB命令直到给出最终结果 本中的MATLAB命令直到给出最终结果,而不是象在命令窗口 中那样,交互地等待键盘输入。但是, 中那样,交互地等待键盘输入。但是,脚本文件没有输入参数 也没有输出参数,这就是说, ,也没有输出参数,这就是说,脚本文件与我们用其它计算机 语言编写的一个简单的执行程序有点类似。 语言编写的一个简单的执行程序有点类似。假设建立了一个名 abc.m的脚本文件 它在MATLAB默认的路径下( File菜单 的脚本文件, MATLAB默认的路径下 为abc.m的脚本文件,它在MATLAB默认的路径下(即File菜单 path所给出的路径 所给出的路径) 内容如下: 的Set path所给出的路径),内容如下:

Matlab基本使用方法详解

Matlab基本使用方法详解

Matlab基本使用方法详解Matlab(Matrix Laboratory)是一种面向数值计算和编程的高级语言和环境,由MathWorks公司开发。

它在科学、工程以及其他领域广泛应用,可以进行各种数值计算、数据分析、绘图以及编写复杂的算法等。

本文将详细介绍Matlab的基本使用方法,帮助初学者快速上手。

一、Matlab基础知识在开始之前,我们先了解一些Matlab的基础知识。

Matlab的代码文件以.m为后缀名,并通过Matlab编译器执行。

它是一种解释性的语言,每一行代码都可以立即执行。

Matlab提供了丰富的数学函数和工具箱,可以简化复杂的数值计算。

同时,Matlab还具备强大的矩阵运算能力,使得处理矩阵和向量的运算更加高效。

二、Matlab环境和命令行窗口当我们打开Matlab时,会出现一个包含命令行窗口的集成开发环境界面。

命令行窗口是一个交互式的界面,可以直接输入和执行Matlab命令。

我们可以在命令行窗口中进行简单的计算,例如输入"2+2"并按回车键执行,Matlab将返回计算结果"4"。

此外,通过命令行窗口,我们还可以执行脚本文件、调试代码、查看变量等。

三、基本操作和数据类型1. 变量的定义和赋值在Matlab中,使用等号(=)将数值或表达式赋值给一个变量。

例如,"x = 5"将5赋值给变量x。

同时,Matlab还支持复数、字符串、矩阵等多种数据类型。

2. 数组和矩阵Matlab中的数组和矩阵是最基本的数据结构。

数组中的元素可以是数值、字符串、逻辑值等。

矩阵是一个二维数组,可以进行各种线性代数运算。

创建矩阵可以使用方括号([])和分号(;)对元素进行分隔。

例如,"A = [1,2,3;4,5,6;7,8,9]"创建了一个3x3的矩阵A。

3. 访问矩阵元素可以使用下标访问矩阵中的元素。

在Matlab中,下标从1开始。

matlabm文件定义函数

matlabm文件定义函数

matlabm文件定义函数MATLAB是一种非常强大的数学软件,它可以用来进行各种数学计算和数据分析。

在MATLAB中,我们可以使用m文件来定义函数,这些函数可以用来解决各种数学问题。

在本文中,我们将讨论如何使用MATLAB的m文件来定义函数。

让我们来看一下MATLAB中如何定义函数。

在MATLAB中,我们可以使用以下语法来定义函数:function [output1,output2,…,outputN] = functionName(input1,input2,…,inputM)其中,functionName是函数的名称,input1、input2等是函数的输入参数,output1、output2等是函数的输出参数。

在函数体中,我们可以使用这些输入参数来进行各种计算,并将结果存储在输出参数中。

例如,下面是一个简单的函数,它将两个数相加并返回结果:function [result] = addNumbers(a,b)result = a + b;end在这个函数中,我们定义了一个名为addNumbers的函数,它有两b相加,并将结果存储在result中。

最后,我们使用end语句来结束函数的定义。

现在,我们可以在MATLAB中调用这个函数,并传递两个数作为输入参数:>> addNumbers(2,3)ans =5在这个例子中,我们调用了addNumbers函数,并传递了两个数2和3作为输入参数。

函数返回了它们的和5,并将结果存储在ans 变量中。

除了简单的数学计算,我们还可以使用MATLAB的m文件来定义更复杂的函数。

例如,我们可以定义一个函数来解决线性方程组:function [x] = solveLinearEquations(A,b)x = A\b;end在这个函数中,我们定义了一个名为solveLinearEquations的函数,用MATLAB的\运算符来解决线性方程组,并将结果存储在x中。

MATLAB编程基础

MATLAB编程基础

程控制语句,否则程序会依次执行符合条件的case语句后面的
每一个case分支。但是在MATLAB中就不必如此,程序仅仅执 行符合条件的case分支。
MATLAB编程基础 补充例题3中需要用户在执行程序的过程中输入一个字符串,
switch语句根据用户的输入判断执行相应的case分支。若没有符 合 条 件 的 case 分 支 , 则 switch 执 行 otherwise 后 面 的 语 句 。 若 switch结构中没有定义otherwise及其相应的代码,则程序不会进 行任何操作,而是直接退出switch结构。 提示: 在处理以字符串变量或者常量参与的关系判断操作时,使 用switch结构要比if-else结构效率高一些。 由于MATLAB的switch结构没有C语言的fall-through特性, 所以,如果需要针对多个条件而使用同一个case分支的时候,
MATLAB编程基础 和C语言类似,if-elseif-else的语句结构也可以嵌套地使用,
也就是可以存在这样的语句结构: if(关系表达式a) if(关系表达式b) MATLAB语句A 注意: 在使用嵌 套的选择 结构时, 需要小心 if语句和 end关键 字的配对。
else MATLAB语句B
MATLAB编程基础
注意: while循环结构的关系表达式可以是某个数据变量或者常 量,这时,将按照非零值为逻辑真进行相应的操作。另外, 在进行上述操作时,若数据变量为空矩阵,则while语句将空
矩阵作为逻辑假处理,也就是说,在while A MATLAB语句S1
end结构中,若A为空矩阵,则MATLAB语句S1永远不会被执 行。
MATLAB的函数主要有两类,一类被称为内建(Build-in)函 数,这类函数是由MATLAB的内核提供的,能够完成基本的运 算,例如三角函数、矩阵运算的函数等。另外一类函数就是利 用高级语言开发的函数文件,这里的函数文件既包括用C语言 开发的MEX函数文件,又包含了M函数文件。

Matlab中M-文件介绍

Matlab中M-文件介绍

02
03
运行M-文件
查看运行结果
在Matlab命令窗口中输入文件名, 然后按Enter键,即可打开指定 的M-文件。
在打开的M-文件中,按下F5键 或选择"Run"菜单中的"Run"选项, 即可运行当前M-文件。
M-文件的运行结果将在Matlab 命令窗口中显示。
调试M-文件
设置断点
在需要调试的代码行左侧单击,即可 在该行设置断点。
调试技巧
使用Matlab调试器
Matlab提供了一个功能强大的调试器,可以帮 助用户更好地理解代码的执行过程。
逐步执行代码
逐步执行代码可以帮助用户更好地理解代码的 逻辑和执行过程。
检查变量值
在调试过程中,检查变量的值可以帮助用户更好地理解代码的逻辑和执行过程。
5
M-文件的高级应用
函数封装
函数封装
开始调试
在设置断点的代码行上按下F10键或 选择"Debug"菜单中的"Step Over" 选项,即可开始调试。
单步执行
在调试过程中,按下F10键或选择 "Debug"菜单中的"Step Over"选项, 可以逐行执行代码。
观察变量值
在调试过程中,可以随时查看变量的 值,以便更好地理解代码的执行过程。
信号处理和图像处理
Matlab具有强大的信号处理和 图像处理工具箱,广泛应用于 通信、雷达和医学成像等领域

02
M-文件基础
M-文件的定义
总结词
M-文件是Matlab中用于编写和存储Matlab代码的文件。
详细描述
M-文件是Matlab中用于编写和存储Matlab代码的文件,通常以.m为扩展名。 它可以是脚本文件或函数文件,用于执行一系列Matlab命令或定义可重复使用 的函数。

Matlab入门M语言

Matlab入门M语言
end
while语句实例
例: 使用while语句求解
i = 1; sum = 0; while ( i <= 1000 )
sum = sum+i; i = i+1; end
四、for语句
for index = start:step:end MATLAB语句
end
for语句实例
例: 使用for语句求解 sum = 0; for i = 1:1000 sum = sum+i; end
为程序员提供一种更为灵活的 编程方法。
7、常用的警示指令
(1)error(‘message’) 显示出错信息,终止程序
(2)lasterr 显示matlab自动判断的最新出错原因并终止程序;
(3)warning(‘message’) 显示警告信息,程序继续执行;
(4)lastwarn 显示matlab自动给出的最新警告程序继续运行
end end end disp('程序运行结束');
6、错误捕捉语句(试探语句)
try 语句段 1
catch 语句段 2
end
本语句结构先试探性的执行try 和catch之间的语句,如果在此执 行的过程中遇到了错误,则把错 误信息赋值给lasterr变量,并放 弃执行这段语句,转而执行catch 和end之间的语句。
break语句实例
i = 0; j = 0; k = 0; for i = 1:2
for j = 1:2 for k = 1:2 if (k == 2) disp('退出循环'); break; end str = sprintf('I = %d , J = %d , K =

Matlab入门-M语言

Matlab入门-M语言
end
x=[1:3];y=[1;2;3]; charray (x) charray (x,y') charray (x,y,3)
执行后的输出是: ans = 123
ans =
246 ans =
21
第29页,共34页。
四、子函数和私有函数
1、子函数 ✓ Matlab中允许1个文件中包含多个函数的代码;
第15页,共34页。
捕捉语句实例
矩阵乘法运算要求两矩阵的维数相容,否则会出错。先求两矩 阵的乘积,若出错,则自动转去求两矩阵的点乘。
程序如下:
A=[1,2,3;4,5,6]; B=[7,8,9;10,11,12];
try
C=A*B;
catch
C=A.*B;
end
C
lasterr
%显示出错原因并退出
else A(I,J) = 0;
end
第5页,共34页。
二、switch语句
switch (表达式)
case 常量表达式a: MATLAB语句A case 常量表达式b: MATLAB语句B
case 常量表达式m: MATLAB语句M
otherwise:
MATLAB语句N
end
第6页,共34页。
switch语句实例
第17页,共34页。
一、脚本文件
M脚本文件(script file)特点: ➢ 是一串按用户意图排列成的Matlab指令集; ➢ 运行后所产生的变量都驻留在Matlab的基本工作空间。只要用户不使用
clear指令加以清除,且matlab命令窗不关闭; ➢ 如果想运行脚本文件,只需在Matlab窗口下输入脚本文件名,按
function f=wadd(x,y)

matlab m语言大全

matlab m语言大全

csch 双曲余割cumsum 元素累计和cumtrapz 累计梯形积分cylinder 创建圆柱D 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 符号计算解微分方程E eecho M文件被执行指令的显示edit 启动M文件编辑器eig 求特征值和特征向量eigs 求指定的几个特征值end 控制流FOR等结构体的结尾元素下标eps 浮点相对精度error 显示出错信息并中断执行errortrap 错误发生后程序是否继续执行的控制erf 误差函数erfc 误差补函数erfcx 刻度误差补函数erfinv 逆误差函数errorbar 带误差限的曲线图etreeplot 画消去树eval 串演算指令evalin 跨空间串演算指令exist 检查变量或函数是否已定义exit 退出Matlab环境exp 指数函数expand 符号计算中的展开操作expint 指数积分函数expm 常用矩阵指数函数expm1 Pade法求矩阵指数expm2 Taylor法求矩阵指数expm3 特征值分解法求矩阵指数eye 单位阵ezcontour 画等位线的简捷指令ezcontourf 画填色等位线的简捷指令ezgraph3 画表面图的通用简捷指令ezmesh 画网线图的简捷指令ezmeshc 画带等位线的网线图的简捷指令ezplot 画二维曲线的简捷指令ezplot3 画三维曲线的简捷指令ezpolar 画极坐标图的简捷指令ezsurf 画表面图的简捷指令ezsurfc 画带等位线的表面图的简捷指令F 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 打开外部文件for 构成for环用format 设置输出格式fourier Fourier 变换fplot 返函绘图指令fprintf 设置显示格式fread 从文件读二进制数据fsolve 求多元函数的零点full 把稀疏矩阵转换为非稀疏阵funm 计算一般矩阵函数funtool 函数计算器图形用户界面fzero 求单变量非线性函数的零点G ggamma 函数gammainc 不完全函数gammaln 函数的对数gca 获得当前轴句柄gcbo 获得正执行"回调"的对象句柄gcf 获得当前图对象句柄gco 获得当前对象句柄geomean 几何平均值get 获知对象属性getfield 获知构架数组的域getframe 获取影片的帧画面ginput 从图形窗获取数据global 定义全局变量gplot 依图论法则画图gradient 近似梯度gray 黑白灰度grid 画分格线griddata 规则化数据和曲面拟合gtext 由鼠标放置注释文字guide 启动图形用户界面交互设计工具H hharmmean 调和平均值help 在线帮助helpwin 交互式在线帮助helpdesk 打开超文本形式用户指南hex2dec 十六进制转换为十进制hex2num 十六进制转换为浮点数hidden 透视和消隐开关hilb Hilbert矩阵hist 频数计算或频数直方图histc 端点定位频数直方图histfit 带正态拟合的频数直方图hold 当前图上重画的切换开关horner 分解成嵌套形式hot 黑红黄白色图hsv 饱和色图I 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 j , K kjacobian 符号计算中求Jacobian 矩阵jet 蓝头红尾饱和色jordan 符号计算中获得Jordan标准型keyboard 键盘获得控制权kron Kronecker乘法规则产生的数组L 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分解M 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级数展开N 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 指定存放非零元素所需内存O 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 值空间正交化P 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 显示当前工作目录Q 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和S 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 创建多个符号对象T ttan 正切tanh 双曲正切taylortool 进行Taylor逼近分析的交互界面text 文字注释tf 创建传递函数对象tic 启动计时器title 图名toc 关闭计时器trapz 梯形法数值积分treelayout 展开树、林treeplot 画树图tril 下三角阵trim 求系统平衡点trimesh 不规则格点网线图trisurf 不规则格点表面图triu 上三角阵try-catch 控制流中的Try-catch结构type 显示M文件U uuicontextmenu 创建现场菜单uicontrol 创建用户控件uimenu 创建用户菜单unmkpp 逐段多项式数据的反明晰化unwrap 自然态相角upper 转换为大写字母V vvar 方差varargin 变长度输入宗量varargout 变长度输出宗量vectorize 使串表达式或内联函数适于数组运算ver 版本信息的获取view 三维图形的视角控制voronoi Voronoi多边形vpa 任意精度(符号类)数值W 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变换。

m语言说明

m语言说明
利用冒号运算符创建向量的语法为:
X=J:INC:K
①J表示第一个元素,K表示最后一个元素,INC表示元素递增的步长
②都用:隔开
③如果省略INC,则按默认步长为1
④INC为正,则要求K>J,INC为负,则要求J>K
例:>>x=1:0.01:1.1
第三种方法是使用函数linspace或logspace
linspace是用来产生线性间隔向量的函数,用法:
经常使用的几个常量:
pi圆周率
inf无穷大,负无穷大可以表示为-inf
Nan不定式,代表“非数值量”,通常由0/0或inf/inf运算得出。
eps变量eps是用来确定秩和近似奇异的允差,对大多数pc来说,eps=,大约是,若变量的绝对值小于eps,则可以认为这个量为零。
i和j如果i和j不被定义,则表示纯虚数量i
B=
二.创建向量
向量也就是一维数组,在Matlab中创建向量可以使用不同的方法,最简单的方法就是逐个输入向量元素,如
>>x=[1 3 pi 3+5i]
在逐个元素输入时,每个元素之间可以用空格或逗号“,”作为间隔符。
第二种方法就是利用冒号“:”运算符创建向量,如
>>x=1:10
然后用whos查看内存变量。
表matlab矩阵生成函数函数说明zeros生成全为0的矩阵ones生成全为1的矩阵eye生成单位矩阵rand生成均匀分布的随机数矩阵数值范围01randn生成均值为0方差为1的正态分布随机数矩阵diag获取矩阵的对角线元素也可以生成对角矩阵tril产生下三角矩阵triu产生上三角矩阵compan产生伴随矩阵hilb产生希尔伯特矩阵inhilb希尔伯特逆矩阵pascal产生帕斯卡矩阵即杨辉三角magic产生魔方矩阵vander产生万达摩方阵meshgrid产生三维绘图基底坐标平面例子
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

三、参数传递
(一)参数传递有两种方式:
1、形参与实参间的传递(形实结合) 在MATLAB中,参数具有自己的专有工作空间。函数中的 参数和命令行参数不在一个空间中,它们的唯一联系为函数的 输入输出变量。输入参数在函数中是可读的,但任何改动不会 传递回上一级空间。
2、全局变量 使用global命令可以将变量说明为全局的,则在函数、命令 行等都可以共享这些变量。
全局变量
定义语句 global A;
全局变量A允许不同的函数空间以及基本空间共享,但需要专 门定义,否则被当为局部变量;允许在多个函数中对同名变量 定义全局变量,所有的函数都可对其存取和修改。因此,定义 全局变量是函数间传递信息的一种手段。 除非与全局变量关联的所有工作空间都被删除,否则全局变量 依然存在; 对全局变量的定义必须在该变量被使用之前,并建议把全局变 量的定义放在函数的首行位置。
第一节
一、基本规则概要 1、变量和常量
M语言规则
字母开头,后跟字母数字或下划线; 大小写敏感。 2、注释(%后) 3、语句的分隔:分号、续行符
4、矩阵
标量、向量、数组(二维、三维、多维) 5、元素的访问
x(k)、a1(i,j)、c(end)、xyz(i,:)、y4z(:,j)
二、运算
点运算有:
.*
else (关系运算表达式c)
… end MATLAB语句C
if语句实例 clear all I=1; J=2; if I == J A(I,J) = 2; elseif abs(I-J) == 1 A(I,J) = 1; else A(I,J) = 0; end
二、switch语句
switch (表达式) case 常量表达式a:
三、while语句
while (表达式)
MATLAB语句
end
while语句实例
例: 使用while语句求解 i = 1; sum = 0; while ( i <= 1000 ) sum = sum+i; i = i+1; end
四、for语句
for index = start:step:end MATLAB语句 end
二、函数文件
函数文件是另一种形式的M文件,每一个函数文件都定义一个 函数。事实上,MATLAB提供的标准函数和命令大部分都是由 函数文件定义的。 把一个比较大的任务分解为多个比较小的任务,它们之间通 过调用实现参数传递。 1、函数的定义 函数文件由function语句引导,其格式为: [out1,out2,…]=function(in1,in2,…) 2、函数文件的规则 (1)函数名称和文件名必须相同; (2)一个函数可以嵌套,也可以调用其它的函数,甚至调用 自己(也就是递归调用)。
为提高函数文件的可读性,建议用大写字符命名全局变量;
因全局变量损害了函数的封装特性,建议尽量不用。
【例】 全局变量应用示例
先建立函数文件wadd.m, 该函数将输入的参数加权相 加。 function f=wadd(x,y) %add two variable global ALPHA BETA f=ALPHA*x+BETA*y;
Matlab允许使用比申明变量少的输入输出变量,实现对函数
的调用;
函数运行时,Matlab为它开辟临时工作空间,所有变量均存
放其中。执行完最后一条指令或者遇到return指令时,输出函 数输出值,并清掉临时空间的所有中间变量;即函数空间相对 基本空间而言是独立的、临时的。可以产生任意多个临时函数 空间;
四、子函数和私有函数
1、子函数
Matlab中允许1个文件中包含多个函数的代码; 第一个出现的函数成为主函数,其他函数为子函数;
保存时所用函数文件名应与主函数同名;
外部程序只能调用主函数。
2、子函数的性质 每个子函数的第一行是申明行; 主函数的位置只能在最上面,但子函数的排列位置可以任 意改变; 子函数只能被处于同一文件的主函数和其他子函数调用; 同一文件的主函数、子函数的工作空间都是彼此独立的。 Help,lookfor等帮助指令都找不到子函数的任何帮助信息
6、错误捕捉语句(试探语句)
try 语句段 1 catch 语句段 2 end
本语句结构先试探性的执行try 和catch之间的语句,如果在此执 行的过程中遇到了错误,则把错 误信息赋值给lasterr变量,并放 弃执行这段语句,转而执行catch 和end之间的语句。 为程序员提供一种更为灵活的 编程方法。
MATLAB语句A
case 常量表达式b:
case 常量表达式m:
MATLAB语句B
MATLAB语句M
otherwise:
end
MATLAB语句N
switch语句实例
var = input('Input a Number:'); switch var case 1 disp(‘the input is 1') case {2,3,4} disp(‘the input is 2 or 3 or 4') case 5 disp(‘the input is 5') otherwise disp('something else') end
7、常用的警示指令
(1)error(‘message’) 显示出错信息,终止程序
(2)lasterr 显示matlab自动判断的最新出错原因并终止程序; (3)warning(‘message’) 显示警告信息,程序继续执行; (4)lastwarn 显示matlab自动给出的最新警告程序继续运行
./ .^ .\
第二节
M语言的流程控制
具体包括:
if语句、switch语句
while语句、for语句 break语句
一、if语句
if end (关系运算表达式) MATLAB语句 if (关系运算表达式a) MATLAB语句A elseif (关系运算表达式b) if (关系运算表达式) MATLAB语句A else MATLAB语句B end MATLAB语句B
【例】 nargin用法示例
函数文件charray.m:
function fout=charray(a,b,c) if nargin==1 fout=a; elseif nargin==2 fout=a+b; elseif nargin==3 fout=(a*b*c)/2; end 命令文件exp.m: x=[1:3];y=[1;2;3]; charray (x) charray (x,y') charray (x,y,3) 执行后的输出是: ans = 1 2 3 ans = 2 4 6 ans = 21
for语句实例
例: 使用for语句求解
sum = 0; for i = 1:1000 sum = sum+i; end
五、其它流程控制命令 1、break 退出当前的循环结构运行
2、continue 用于结束本次for 或 while 循环,与break命令不同的是,该 命令只结束本次循环而继续下一次循环
它将打开的文件编译为存储器内部形式,加速了执行速度。普 通的m文件不被编译,在每次编译时,文件将逐行解释执行。
【实例】 利用函数的递归调用,求n!

function f=factor(n) if n<=1 f=1; else f=factor(n-1)*n; end return; %返回
假如在函数文件中调用了一段脚本文件,那该脚本文件运行产
生的所有变量都存放于该函数的临时空间内,而不是存放在基 本空间。
注意函数文件的放置位置,一般自己的函数文件放在当前目录
;如对一个专题有了足够多的函数,可以生成一个工具箱,放 在一个固定的目录下,并在MATLAB中加入这个目录路径。
使用函数可以加快计算速度。MATLAB首次执行一个函数时,
捕捉语句实例
矩阵乘法运算要求两矩阵的维数相容,否则会出错。先 求两矩阵的乘积,若出错,则自动转去求两矩阵的点乘。 程序如下:
A=[1,2,3;4,5,6]; B=[7,8,9;10,11,12]; try C=A*B; catch C=A.*B; end C lasterr %显示出错原因并退出
第三节
3、input 提示用户从键盘输入数值、字符串和元胞数组,并接受该输入 如: a=input(‘input a number’) %输入一个数值 b=input(‘input a string’,‘s’) %输入一个字符串
break语句实例 i = 0; j = 0; k = 0; for i = 1:2 for j = 1:2 for k = 1:2 if (k == 2) disp('退出循环'); break; end str = sprintf('I = %d , J = %d , K = %d',i,j,k); %Write formatted data to string disp(str); end nd end disp('程序运行结束');
在命令窗口中输入: global ALPHA BETA ALPHA=1; BETA=2; s=wadd(1,2) 输出为: s= 5 注意:两个变量间 为空格
(二)变量的检测和传递
1、输入输出的检测 MATLAB函数的输入输出数目都可以变化,通过这个特性 ,可以实现一些自定义的功能。 nargin (Number of arguments input):输入变量数; nargout: 输出变量数; nargin(‘fun’): 获取指定函数的标称输入变量数; nargout(‘fun’): 获取指定函数的标称输出变量数; inputname(n): 给出第n个输入变量的实际调用变量名。 函数调用中可以使用少于规定的输入输出参数数目,但是不 能更多。nargin、nargout 和 inputname本身都是函数,而不 是变量,用户不能使用赋值语句改变他们的值。 目的:与程序流程控制指令配合,对于不同数目的输入输出 变量,函数可完成不同的任务;
相关文档
最新文档