MATLAB是由美国mathworks公司发布的主要面对科学计算.doc_第1页
MATLAB是由美国mathworks公司发布的主要面对科学计算.doc_第2页
MATLAB是由美国mathworks公司发布的主要面对科学计算.doc_第3页
MATLAB是由美国mathworks公司发布的主要面对科学计算.doc_第4页
MATLAB是由美国mathworks公司发布的主要面对科学计算.doc_第5页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

MATLAB是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。 MATLAB和Mathematica、Maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。 MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且mathwork也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。在新的版本中也加入了对C,FORTRAN,C+ ,JAVA的支持。可以直接调用,用户也可以将自己编写的实用程序导入到MATLAB函数库中方便自己以后调用,此外许多的MATLAB爱好者都编写了一些经典的程序,用户可以直接进行下载就常用函数一 多项式的表示方法和运算p(x)=x3-3x-5 可以表示为p=1 0 3 5,求x5时的值用plotval(p,5)也可以求向量:a=3 4 5,plotval(p,a)函数roots求多项式的根 roots(p)p=1 0 -3 5;r=roots(p)由根重组多项式poly(根)q=poly(r) real(q) 有时会产生虚根,这时用real抽取实根即可conv(a,b)函数 多项式乘法(执行两个数组的卷积)a=1 2 3 4;b=1 4 9 16;c=conv(a,b)多项式的加减法,低阶的多项式必须用首零填补,使其与高阶多项式有同样的阶次多项式除法 q , r=deconv(c , b) 表示b/c q为商多项式,r为余数多项式的导数 polyder(f)f= 2 4 5 6 2 1;s=polyder(f)二 多项式的曲线拟合x=1 2 3 4 5;y=5.6 40 150 250 498.9;p=polyfit(x,y,n) 数据的n次多项式拟合 poly:矩阵的特征多项式、根集对应的多项式x2=1:0.1:5; n取1时,即为最小二乘法y2=polyval(p,x2); 计算多项式的值 (polyvalm计算矩阵多项式)plot(x,y,*,x2,y2);grid on三 求函数的零点求函数humps在1,2区间上的零点 fzero(humps,1,2);也可以给一个初始值 fzero(humps,0.9);对于多项式可直接由roots求其根 roots(4*x3+);也可以用solve c=sym(c,real);x=sym(x,real);s=solve(x3-x+c)四 函数定积分q=quadl(humps,0,1) 求humps函数在0 1区间上的定积分,也可以用quad语句二重积分 首先计算内积分,然后借助内积分的中间结果再求出二重积分的值,类似于积分中的分步积分法。Result=dblquad(integrnd,xin,xmax.,ymin,ymax) integrnd为被积函数的名称字符串符号积分运算int(f)最精确的是符号积分法计算s=1201xydxdy syms x y 中间为空格,不能为逗号s=int(int(xy,x,0,1),y,1,2) 引号可省略vpa(s) 显示s的值内积分限为函数的二重积分I=14y2(x2+y2)dxdy符号法I=vpa(int(int(x2+y2,x,sqrt(y),2),y,1,4)五 微分运算(diff)微分是描述一个函数在一点处的斜率,是函数的微观性质、因此积分对函数的形状在小范围内的改变不敏感,而微分很敏感。 个函数的小的变化,容易产生相邻点的斜率的大的改变。由干微分这个固有的困难所以尽可能避免数值微分特别是对实验获得的数据进行微分。在这种情况,最好用最小二乘曲线拟合这种数据,然后对所得到的多项式进行微分;或用另一种方法对点数据进行三次样条拟合,然后寻找样条微分,但是,有时微分运算是不能避免的,在MATLAB中用函数diff汁算一个矢量或者矩阵的微分a=1 2 3 3 3 7 8 9;b=diff(a) 一次微分bb=diff(a,2) 二次微分实际上diff(a)=a(2)-a(1),a(3)-a(2),a(n)-a(n-1)对于求矩阵的微分,即为求各列矢量的微分,从矢量的微分值可以判断矢量的单调性、是否等间距以及是否有重复的元素。y符号表达式的替换subs(f,new,old)f=a*x2+b*x+csubs(f,t,x) 得到a*(t)2+b*(t)+c subs是一个符号函数,返回一个符号变量subexpr函数 有时matlab返回的符号表达式难以理解,用subexpr函数,可以将表达式中重六 代数方程和方程组代数方程的求解可用solve(f)命令,如果f不含,matlab将给表达式置零。方程的未知量在默认的情况下由findsym决定或显式指出syms a b c xsolve(a*x2+b*x+c) 以x为默认变量solve(a*x2+b*x+c,a) 指定对a为变量求含有等号的方程的解(一定要加单引号)f=solve(cos(x)=sin(x)x=solve(exp(x)=tan(x) 如果不能求得符号解,就计算可变精度解。求解方程组与单方程类似符号绘图函数符号函数简易绘图函数ezplot(f)f可以包含单个符号变量x的字符串或表达式,默认画图区间(2pi,2pi),如果f包含x和y,画出的图像是f(x,y)=0的图像,缺省区间是2pix2pi,-2piy2pi。Ezplot(f,xmin,xmax)或ezplot(f,xmin,xmax)绘制在xminxxmax区间上图像syms x tezplot(t*cos(t),t*sin(t),0,4*pi)绘制符号图像函数fplot(fun,lims,tol,linespec,n)其中lims=xmin,xmax或xmin,xmax,ymin,ymax tol为指定相对误差,默认0.001 linespec指定绘图的线型 n指定最少以n1个点绘图x,y=fplot(fun,lims,) 只返回用来绘图的点,并不绘图,可以自己调用plot(x,y)来绘制图形。syms xsubplot(2,2,1),fplot(humps,0,1)f=abs(exp(x*(0:9)*ones(10,1)subplot(2,2,2),fplot(f,0,2*pi)subplot(2,2,3),fplot(sin(1./x),0.01,0.1,1e-3)matlab绘图二维图形的绘制plot 在(x,y)坐标下绘制二维图像 支持多个xy二元结构plot3 在(x,y,z)坐标下绘制三维图形loglog 在(x,y)对数坐标下绘制二维图形semilogx 在x为对数坐标,y为线性坐标的二维坐标中绘图semilogy 在x为线性坐标,y为对数坐标的二维坐标中绘图plotyy 在有两个y轴的坐标下绘图plot用法plot(x,y,-rs,linewidth,2,markeredgecolor,k,.markerfacecolor,g,markersize,10)plotyy用法plotyy(x1,y1,x2,y2) 以x1为标准,左轴为y轴绘制y1向量,x2为基准,右轴为y轴,绘制y2向量plotyy(x1,y1,x2,y2,fun) 用字符串fun指定的绘图函数(plot ,semilogx,semilogy,loglog,stem)plotyy(x1,y1,x2,y2,fun1,fun2)t=0:pi/20:2*pi;y=exp(sin(t);plotyy(t,y,t,y,plot,stem) stem为二维杆图ax,h1,h2=plotyy() 返回左右两y轴的句柄(分别为ax(1) ax(2),以及在两坐标轴中生成的图形对象的句柄,分别为h1 h2t=0:900;A=1000;a=0.005;b=0.005;z2=cos(b*t);z1=A*exp(-a*t);haxes,hline1,hline2=plotyy(t,z1,t,z2,semilogy,plot);axes(haxes(1)ylabel(semilog plot) 对数坐标axes(haxes(2)ylabel(linear plot)set(hline2,linestyle,-)其他二维图形绘图指令bar(x,y) 二维条形图hist(y,n) 直方图 histfit(y,n) 带拟和线的直方图,n为直方的个数stem(x,y) 火柴杆图comet(x,y) 彗星状轨迹图compass(x,y) 罗盘图errorbar(x,y,l,u) 误差限图feather(x,y) 羽毛状图fill(x,y,r) 二维填充函数 以红色填充pie(x) 饼图polar(t,r) 极坐标图 r为幅值向量,t为角度向量t=0:0.1:8*pi;r=cos(3*t/2)+1/2;polar(t,r),xlabel(polar 指令)quiver(x,y) 磁力线图stairs(x,y) 阶梯图loglog(x,y) 对数图semilogx semilogy 半对数图matlab三维作图plot3(x,y,z) 三维线条图t=0:pi/50:15*pi;plot3(sin(t),cos(t),t,r*) 与plot相似v=axis 返回各个轴的范围text(0,0,0,origin) 在某个坐标点加入文字plot3 增加维数可以一次画多个图,使所个二维图形眼一个轴排列三维网线图的绘制mesh(x,y,z) 网格图mesh(x,y,z,c) 四维作图,(x,y,z)代表空间三维,c代表颜色维mesh(,property name,property value,) 设置曲面各属性的值x,y,z=sphere(12);mesh(x,y,z),hidden off 曲面设置为透明meshc(x,y,z) 画网格图和基本的等值线图 meshz(x,y,z) 画包含零平面的网格图waterfall(x,y,z) 与mesh一样,只是在效果上它的网格线只在x轴一个方向出现,呈瀑布状水线两个变量的标量指令meshgrid(x)或meshgrid(x,y) (p179)将两个一维向量生成两个二维向量,以便进行z=f(x,y)运算,算出z的所有值,z为x y的标量指令X,Y=meshgrid(x) meshgrid(x,x)的简略式X,Y=meshgrid(x,y)X,Y,Z=meshgrid(x,y,z) 用于三维图形的绘制x,y=meshgrid(-2:0.1:2);z=x.*exp(-x.2-y.2);plot3(x,y,z)surf(x,y,z,c) 着色表面图surf(x,y,z) 隐含着c=zsurf(z) 隐含着x,y的值为surf指令根据z的尺寸自动生成surfc 画出具有基本等值线的曲面图surfl 画出一个具有亮度的曲面图shading flat 网线图的某整条线段或曲面图的某个贴片都着一种颜色shading interp 某一线段或贴片上各点的颜色由线或片的顶端颜色经线性插值而得曲面图不能设成网格图那样透明,但需要时,可以在孔洞处将数据设成nun等高线的绘制在二维空间绘制等高线contourcontour(x,y,z,n) 绘制n条等值线(n可省略)contour(x,y,z,v) 在向量v所指定的高度上绘制等高线(可省)c=contour(x,y,z) 计算等值线的高度值c=contourc(x,y,z,n) 计算n条等高线的xy坐标数据c=contourc(x,y,z,v) 计算向量v所指定的等高线的xy坐标数据clabel(c) 给c阵所表示的等高线加注高度标识clabel(c,v) 给向量v所指定的等高线加注高度标识clabel(c,manual) 借助鼠标给点中的等高线加注高度标识三维空间绘制等高线contour3(x,y,z)x,y,z=peaks(30);contour3(x,y,z,16,g)二元函数的伪彩图pcolor(x,y,z)是指令surf的二维等效指令,代表伪彩色,可与contour单色等值线结合画彩色等值线图x,y,z=peaks(30);pcolor(x,y,z); 伪彩色 shading interp 颜色插值,使颜色平均渐变hold on,contour(x,y,z,20,k). 画等值线colorbar(horiz) 水平颜色标尺c=contour(x,y,z,8);clabel(c) 标注等高线 矢量场图(速度图)quiver用于描述函数z=f(x,y)在点(x,y)的梯度大小和方向X,Y=meshgrid(x,y) X,Y为Z阵元素的坐标矩阵U,V=gradient(Z,dx,dy) U,V分别为Z对x对y的导数,dx dy是x y方向上的计算步长quiver(X,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论