[理学]数学建模讲座 2.ppt
理学理学数学建模讲座数学建模讲座 2 建模中常用的软件建模中常用的软件 Matlab简介简介 Matlab使用使用 Matlab画图画图 Matlab工具箱工具箱提纲建模中常用的软件 Lindo&Lingo LINGO是Linear Interactive and General Optimizer的缩写,即“交互式的线性和通用优化求解器”,由美国LINDO系统公司(Lindo System Inc.)推出的,可以用于求解非线性规划,也可以用于一些线性和非线性方程组的求解等, SPSS SPSS(Statistical Product and Service Solutions),“统计产品与服务解决方案”软件,是一款优秀的统计分析软件。 MATLAB 美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵运算、科学数据可视化以及非线性动态系统的建模和仿真等强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言的编辑模式。 Mathematica、Maple 优秀的数学计算软件 Matlab简介 MATLAB源于MATrix LABoratory一词,原意为矩阵实验室,一开始它是一种专门用于矩阵数值计算的软件。之后发展了数据可视化功能,符号运算功能,图形处理功能以及目前具有的数十个工具箱。 Matlab可作为线性代数, 数理统计, 自动控制, 数字信号处理, 模拟与数字通信, 时间序列分析, 动态系统仿真, 神经网络等课程的学习工具 MATLAB语言主要特点 1、功能强大 Matlab可以很方便地处理线性代数中的矩阵计算, 方程组的求解, 微积分运算, 多项式运算, 偏微分方程求解, 统计与优化等问题.并具有完善的图形可视化功能。Matlab简介2、语言简单 MATLAB语言以向量和矩阵为基本的数据单元, 包括流程控制语句(顺序, 选择, 循环, 条件, 转移和暂停等), 大量的运算符, 丰富的函数, 多种数据结构, 输入输出以及面向对象编程. 这些既可以满足简单问题的计算, 也适合于开发复杂的大型程序. Matlab简介3、 扩充能力强, 可开发性强 MATLAB是一个开放的系统, 用户可以方便地看见函数的源程序, 也可以很方便地开发自己的程序, 甚至可以创建自己的工具箱, 以解决本领域内常见的计算问题. 也可以方便地与FORTRAN, C等语言接口, 以充分利用各种资源. Matlab简介 4. 编程容易, 效率高 从形式上看, MATLAB程序文件是一个纯文本文件, 扩展名为m. 用任意字处理软件都可以对它进行编写和修改, 因此程序易调试, 人机交互性强. Matlab简介MATLAB使用环境MATLAB使用环境MATLAB使用环境MATLAB使用运算与常用函数1、关系运算符:小于 :大于 =:大于等于=:不等于2、逻辑运算符&:与运算 |:或运算 :非运算3、for循环、while循环4、break语句:跳出上述循环5、定义函数: function y=new_fun(x)MATLAB使用运算与常用函数MATLAB使用运算与常用函数常用的基本数学函数(1)abs(x):纯量的绝对值或向量的长度sqrt(x):开平方round(x):四舍五入至最近整数fix(x):无论正负,舍去小数至最近整数floor(x):地板函数,即舍去正小数至最近整数ceil(x):天花板函数,即加入正小数至最近整数rat(x):将实数x化为分数表示rats(x):将实数x化为多项分数展开sign(x):符号函数 (Signum function)。MATLAB使用运算与常用函数sin(x):正弦函数cos(x):馀弦函数tan(x):正切函数asin(x):反正弦函数acos(x):反馀弦函数atan(x):反正切函数atan2(x,y):四象限的反正切函数sinh(x):超越正弦函数cosh(x):超越馀弦函数tanh(x):超越正切函数asinh(x):反超越正弦函数acosh(x):反超越馀弦函数atanh(x):反超越正切函数min(x): 向量x的元素的最小值max(x): 向量x的元素的最大值mean(x): 向量x的元素的平均值median(x): 向量x的元素的中位数std(x): 向量x的元素的标准差diff(x): 向量x的相邻元素的差sort(x): 对向量x的元素进行排序length(x): 向量x的元素个数norm(x): 向量x的欧氏长度sum(x): 向量x的元素总和prod(x): 向量x的元素总乘积cumsum(x): 向量x的累计元素总和cumprod(x): 向量x的累计元素总乘积dot(x, y): 向量x和y的内 积常用的基本数学函数(2)MATLAB使用运算与常用函数矩阵函数det(A): 行列式计算 A/ : 矩阵的转置inv(A): 矩阵的逆 orth(A): 正交化poly(A): 特征多项式 rank(A): 矩阵的秩trace(A): 矩阵的迹 zeros(m,n): m行n列的零矩阵ones(m,n): m行n列的全1矩阵eys(n): n阶单位矩阵d=eig(A), v,d=eig(A): 特征值与特征向量rand(m,n): m行n列均匀分布随机数矩阵randn(m,n): m行n列正态分布随机数矩阵MATLAB使用图形功能二维图形功能plot: x轴和y轴均为线性刻度注:1、图形颜色:y(黄) k(黑) w(白) b(蓝) g(绿) r(红)2、线条形状:-(实线) -.(点虚线) -(虚线)3、数轴范围调整: axis(xmin,xmax,ymin,ymax)3、图形的各种注解与处理:x轴注解 :xlabel(Input Value)y轴注解 :ylabel(Function Value);图形标题 :title(Two Trigonometric Functions)图形注解 :legend(y = sin(x),y = cos(x)显示格线:grid on4、画出数个小图形于同一个视窗之中: subplotMATLAB使用图形功能bar 长条图 errorbar 图形加上误差范围fplot 较精确的函数图形 polar 极座标图hist 累计图 rose 极座标累计图stairs 阶梯图 stem 针状图fill 实心图feather 羽毛图compass 罗盘图 quiver 向量场图更多的二维作图命令matlab 画图(一)plot 最基本的二维图形指令plot的功能: plot命令自动打开一个图形窗口Figure 用直线连接相邻两数据点来绘制图形 根据图形坐标大小自动缩扩坐标轴,将数据标尺及单位标注自动加到两个坐标轴上,可自定坐标轴,可把x, y 轴用对数坐标表示matlab 画图二维作图 如果已经存在一个图形窗口,plot命令则清除当前图形,绘制新图形 可单窗口单曲线绘图;可单窗口多曲线绘图;可单窗口多曲线分图绘图;可多窗口绘图 可任意设定曲线颜色和线型 可给图形加坐标网线和图形加注功能plot的调用格式 plot(x) plot(x,y) plot(x1,y1,x2,y2) plot(x,y,s) S的标准设定值如下: 字母 颜色 标点 线型 y 黄色 点线 m 粉红 圈线 c 亮蓝 线 r 大红 字线 g 绿色 实线 b 蓝色 星形线 w 白色 : 虚线 k 黑色 (-) 点划线 v 下三角 上三角 右三角 square 正方形 diamond 菱形 pentagram 五角星 hexagram 六角星1. 单窗口单曲线绘图figure,plot(x) 01234567-1-0 .8-0 .6-0 .4-0 .200 .20 .40 .60 .812. 单窗口多曲线绘图例2:t=0:pi/100:2*pi;y=sin(t);y1=sin(t+0.25);y2=sin(t+0.5);plot(t,y,t,y1,t,y2)yy1y23. 单窗口多曲线分图绘图subplot 子图分割命令调用格式: subplot(m,n,p) 按从左至右, 从上至下排列 行列绘图序号subplot(1,3,1); plot(t,y1)subplot(1,3,2); plot(t,y2)subplot(1,3,3); plot(t,y3)051 0-1-0 .8-0 .6-0 .4-0 .200 .20 .40 .60 .81051 0-1-0 .8-0 .6-0 .4-0 .200 .20 .40 .60 .81051 0-1-0 .8-0 .6-0 .4-0 .200 .20 .40 .60 .81subplot(3,1,1);plot(t,y)subplot(3,1,2);plot(t,y3)subplot(3,1,3);plot(t,y2)01234567-10101234567-10101234567-1014. 多窗口绘图 figure(n) 创建窗口函数,n为窗 口顺序号。t=0:pi/100:2*pi;y=sin(t);y1=sin(t+0.25);y2=sin(t+0.5);plot(t,y) 自动出现第一个窗口figure(2)plot(t,y1) 在第二窗口绘图figure(3)plot(t,y2) 在第三窗口绘图0 1 2 3 4 5 6 7- 1- 0 .8- 0 .6- 0 .4- 0 .200 .20 .40 .60 .810 1 2 3 4 5 6 7- 1- 0 .8- 0 .6- 0 .4- 0 .200 .20 .40 .60 .810 1 2 3 4 5 6 7- 1- 0 .8- 0 .6- 0 .4- 0 .200 .20 .40 .60 .815.可任意设置颜色与线型例 4(例2):plot(t,y,r-,t,y1,g:,t,y2,b*)01234567-1-0 .8-0 .6-0 .4-0 .200 .20 .40 .60 .816.图形加注功能将标题、坐标轴标记、网格线及文字注释加注到图形上,这些函数为: title 给图形加标题 xlable 给x轴加标注 ylable 给y轴加标注 text 在图形指定位置加标注 gtext 将标注加到图形任意位置 grid on(off) 打开、关闭坐标网格线 legend 添加图例 axis 控制坐标轴的刻度例:t=0:0.1:10y1=sin(t);y2=cos(t);plot(t,y1,r,t,y2,b-);x=1.7*pi;1.6*pi;y=-0.3;0.8;s=sin(t);cos(t);text(x,y,s);title(正弦和余弦曲线);legend(正弦,余弦)xlabel(时间t),ylabel(正弦、余弦)gridaxis square7.fplot 绘制函数图函数fplot的调用格式:fplot(fun,lims) 绘制函数fun在x区间 lims=xmin xmax的函数图。fplot(fun,lims,corline) 以指定线形绘图。x,y=fplot(fun,lims) 只返回绘图点的值,而不绘图。用plot(x,y)来绘图。fplot(sin(x),tan(x),cos(x),2*pi*-1 1 -1 1)fplot(humps,0 1,rp)-6-4-20246-6-4-2024600.10.20.30.40.50.60.70.80.9101020304050607080901008.ezplot 符号函数的简易绘图函数ezplot的调用格式:ezplot(f) 这里f为包含单个符号变量x的符号表达式,在x轴的默认范围 -2*pi 2*pi内绘制f(x)的函数图ezplot(f,xmin,xmax) 给定区间ezplot(f,xmin,xmax,figure(n) 指定绘图窗口绘图。ezplot(sin(x)-6-4-20246-1-0.500.51xsin(x)(二) fill 基本二维绘图函数 fill的功能: 绘制二维多边形并填充颜色例:x=1 2 3 4 5;y=4 1 5 1 4;fill(x,y,r) (三)特殊二维绘图函数 bar 绘制直方图 polar 绘制极坐标图 hist 绘制统计直方图 stairs 绘制阶梯图 stem 绘制火柴杆图 rose 绘制统计扇形图 comet 绘制彗星曲线 errorbar 绘制误差棒图 compass 复数向量图(罗盘图) feather 复数向量投影图(羽毛图) quiver 向量场图 area 区域图 pie 饼图 convhull 凸壳图 scatter 离散点图例,绘制阶梯曲线x=0:pi/20:2*pi;y=sin(x);stairs(x,y)01234567-1-0.8-0.6-0.4-0.200.20.40.60.81例:阶梯绘图h2=1 1;1 -1;h4=h2 h2;h2 -h2;h8=h4 h4;h4 -h4;t=1:8;subplot(8,1,1);stairs(t,h8(1,:);axis(off)subplot(8,1,2);stairs(t,h8(2,:);axis(off)subplot(8,1,3);stairs(t,h8(3,:);axis(off)subplot(8,1,4);stairs(t,h8(4,:);axis(off)subplot(8,1,5);stairs(t,h8(5,:);axis(off)subplot(8,1,6);stairs(t,h8(6,:);axis(off)subplot(8,1,7);stairs(t,h8(7,:);axis(off)subplot(8,1,8);stairs(t,h8(8,:);axis(off)h2=1 1;1 -1;h4=h2 h2;h2 -h2;h8=h4 h4;h4 -h4;t=1:8;for i=1:8subplot(8,1,i);stairs(t,h8(i,:)axis(off)end例:绘制极坐标绘图t=0:2*pi/90:2*pi;y=cos(4*t);polar(t,y) 0.2 0.4 0.6 0.8 13021060240902701203001503301800例:绘制火柴杆绘图 t=0:0.2:2*pi; y=cos(t); stem(y)05101520253035-1-0.8-0.6-0.4-0.200.20.40.60.81例:绘制直方图 t=0:0.2:2*pi; y=cos(t); bar(y)05101520253035-1-0.8-0.6-0.4-0.200.20.40.60.81例:绘制彗星曲线图 t= -pi:pi/500:pi; y=tan(sin(t)-sin(tan(t); comet(t,y)-3-2-10123-2.5-2-1.5-1-0.500.511.522.5x=magic(6);area(x)11.522.533.544.555.56020406080100120 x=1 2 3 4 5 6 7;y=0 0 0 1 0 0 0;pie(x,y)4%7%11%14%18%21%25%pie(x,y,North,South,East,West,middle,fa,white)NorthSouthEastWestmiddlefawhiteload seamountscatter(x,y,50,z)210.8210.9211211.1211.2211.3211.4211.5211.6211.7211.8-48.45-48.4-48.35-48.3-48.25-48.2-48.15-48.1-48.05-48-47.9500.10.20.30.40.50.60.70.80.9100.10.20.30.40.50.60.70.80.91a=rand(200,1);b=rand(200,1);c=rand(200,1);scatter(a,b,100,c,p)二、三维绘图三维绘图的主要功能: 绘制三维线图 绘制等高线图 绘制伪彩色图 绘制三维网线图 绘制三维曲面图、柱面图和球面图 绘制三维多面体并填充颜色(一)三维线图 plot3 基本的三维图形指令调用格式:plot3(x,y,z) x,y,z是长度相同的向量plot3(X,Y,Z) X,Y,Z是维数相同的矩阵plot3(x,y,z,s) 带开关量plot3(x1,y1,z1,s1, x2,y2,z2,s2, ) 二维图形的所有基本特性对三维图形全都适用。定义三维坐标轴 大小 axis(xmin xmax ymin ymax zmin zmax ) grid on(off) 绘制三维网格 text(x,y,z,string) 三维图形标注 子图和多窗口也可以用到三维图形中例:绘制三维线图t=0:pi/50:10*pi;plot3(t,sin(t),cos(t),r:)010203040-1-0.500.51-1-0.500.51(二) 三维饼图pie3(4 3 6 8 9)27%30%20%13%10%(三)三维多边形 fill3 = fill 三维多边形的绘制和填色与二维多边形完全相同 调用格式: fill3(x,y,z,s) 与二维相同例: 用随机顶点坐标画出5个粉色的三角形,并用黄色的表示顶点y1=rand(3,5);y2=rand(3,5);y3=rand(3,5);fill3(y1,y2,y3,m);hold on;plot3(y1,y2,y3,yo)(四)三维网格图 mesh 三维网线绘图函数 调用格式: mesh(z) z为nm的矩阵,x与y 坐标为元素的下标 mesh(x,y,z) x,y,z分别为三维空 间的坐标位置矩阵的三维网线图z=rand(6);z=round(z);mesh(z)0246024600 .20 .40 .60 .81例:8阶hadamard矩阵的网线图h2=1 1;1 -1;h4=h2 h2;h2 -h2h8=h4 h4;h4 -h4 1 1 1 1 1 1 1 1 1 -1 1 -1 1 -1 1 -1 1 1 -1 -1 1 1 -1 -1 1 -1 -1 1 1 -1 -1 1 1 1 1 1 -1 -1 -1 -1 1 -1 1 -1 -1 1 -1 1 1 1 -1 -1 -1 -1 1 1 1 -1 -1 1 -1 1 1 -1mesh(h8)0246802468-1-0.500.51(五)三维曲面图 surf 三维曲面绘图函数,与网格图 看起来一样与三维网线图的区别:网线图:线条有颜色,空挡是无色的曲面图:线条是黑色的,空挡有颜色(把线条之间的空挡填充颜色,沿z轴按每一网格变化 调用格式: surf(x,y,z) 绘制三维曲面图,x,y,z 为图形坐标向量例:X,Y,Z=peaks(30)peaks为matlab自动生成的三维测试图形surf(X,Y,Z) -202-202-505xyPeaks-4-2024-4-2024-10-50510 surfc(X,Y,Z) 带等高线的曲面图 X,Y,Z=peaks(30);surfc(X,Y,Z)-4-2024-4-2024-10-50510 surfl(X,Y,Z) 被光照射带阴影 的曲面图X,Y,Z=peaks(30);surfl(X,Y,Z) cylinde(r,n) 三维柱面绘图函数 r 为半径;n为柱面圆周等分数例:绘制三维陀螺锥面t1=0:0.1:0.9;t2=1:0.1:2;r=t1 -t2+2;x,y,z=cylinder(r,30);surf(x,y,z);grid-1-0.500.51-1-0.500.5100.20.40.60.81-1-0.500.51-1-0.500.51-1-0.500.51 为球面等分数,缺省为20例:绘制三维球面x,y,z=sphere(30);surf(x,y,z);(六) 图形修饰方法图形颜色的修饰 matlab 有极好的颜色表现功能,其颜色数据又构成了一维新的数据集合,也可称为四维图形 colormap(MAP) 色图设定函数, 图形颜色可根据需要任意生成,也可用matlab配备的色图函数matlab 的色图函数: hsv 饱和值色图 gray 线性灰度色图 hot 暖色色图 cool 冷色色图 bone 兰色调灰色图 copper 铜色色图 pink 粉红色图 prism 光谱色图 jet 饱和值色图II flag 红、白、蓝交替色图 shading faceted 网格修饰,缺省方式-202-202-505xyPeaks shading flat 去掉黑色线条,根据小方块的值确定颜色-202-202-505xyPeaks shading interp 颜色整体改变,根据小方块四角的值差补过度点的值确定颜色peaks(30);shading interp;colormap(hot)X,Y,Z=peaks(30);surfl(X,Y,Z)shading interp;colormap(cool);axis offpeaks(30);colormap(hot);colorbar(horiz) figure(2);colormap(cool);-505-202-202-505xyPeaks-505-202-202-505xyPeaks 图形效果修饰 透视与消隐 用于网线图 裁剪修饰 用于网线图、曲面图 视角修饰 观察不同角度的三维视图 其它修饰: a. 水线修饰 b. 等高线修饰 透视与消隐p=peaks(30);mesh(p);hidden onp=peaks(30);mesh(p);hidden off02040600204060-10-50510 裁减修饰p=peaks;p(30:40,20:30)=nan;surf(p) 视角修饰(函数view(az,el) az -方位角;el - 俯视角 省缺值为:az=-37.5; el=30例。观察不同视角的波峰图形z=peaks(40);subplot(2,2,1);mesh(z);subplot(2,2,2);mesh(z);view(-15,60);subplot(2,2,3);mesh(z);view(-90,0);subplot(2,2,4);mesh(z);view(-7,-10);0204002040-10010az=-37.5,el=300204002040-10010az=-15,el=6002040-10-50510az=-90,el=00204002040-10010az=-7,el=-1001020300102030-10-50510 其它修饰: a. 水线修饰(waterfall) waterfall(peaks(30) b. 等高线修饰 二维contour(Z,n)-绘制n条等高线C= contourc(Z,n)-计算n条等高线的坐标Clable(c)-给等高线加标注例、在二维平面上绘制peaks函数的10条等 高线contour(peaks,10);C=contourc(peaks,10);clabel(C)5101520253035404551015202530354045 -5.22 -3.89 -2.56 -2.56 -1.23 -1.23 0.0996 0.0996 1.43 1.43 2.76 2.76 2.76 4.09 5.42 6.7502040600204060-10-50510contour3(peaks,20)(五)、伪彩色图 pcolor 常用于以二维平面图表现三维图形的效果,用颜色表示三维图形的高度。z=peaks(30)pcolor(z)Matlab工具箱 Matlab工具箱是matlab的重要组件,现已成为一个系列产品,包括Matlab主工具箱和各种工具箱(toolbox ),可分为专用工具箱和通用工具箱一、工具箱简介 功能型工具箱 通用型 功能型工具箱主要用来扩充Matlab的数值计算、符号运算功能、图形建模仿真功能、文字处理功能以及与硬件实时交互功能,能够用于多种学科。 领域型工具箱 专用型 领域型工具箱是学科专用工具箱,其专业性很强,比如控制系统工具箱( Control System Toolbox);信号处理工具箱(Signal Processing Toolbox);财政金融工具箱( Financial Toolbox)等等。只适用于本专业。Matlab常用工具箱 Matlab Main Toolboxmatlab主工具箱 Control System Toolbox控制系统工具箱 Communication Toolbox通讯工具箱 Financial Toolbox财政金融工具箱 System Identification Toolbox系统辨识工具箱 Fuzzy Logic Toolbox模糊逻辑工具箱 Bioinformatics Toolbox生物分析工具箱 Image Processing Toolbox图象处理工具箱 Database Toolbox数据库工具箱 Model predictive Control Toolbox模型预测控制工具箱 Neural Network Toolbox神经网络工具箱 Optimization Toolbox优化工具箱 Partial Differential Toolbox偏微分方程工具箱 Robust Control Toolbox鲁棒控制工具箱 Signal Processing Toolbox信号处理工具箱 Spline Toolbox样条工具箱 Statistics Toolbox统计工具箱 Symbolic Math Toolbox符号数学工具箱 Simulink Toolbox动态仿真工具箱 Virtual Reality Toolbox虚拟现实工具箱 Wavelet Toolbox小波工具箱 等等. 而且每个新出的版本都在增加、更新完善。 控制系统工具箱 Control System Toolbox 连续系统设计和离散系统设计 状态空间和传递函数以及模型转换 时域响应(脉冲响应、阶跃响应、斜坡响应) 频域响应(Bode图、Nyquist图) 根轨迹、极点配置 遗传算法和直接搜索工具箱Genetic Algorithm and Direct Search Toolbox是针对 MATLAB 优化处理算法的扩展,它在 MATLAB 和 Optimization Toolbox 的基础上,提供遗传算法和直接搜索的基本功能。使用遗传算法工具箱的两种方法:直接在命令窗口使用函数。 x fval = ga(fitnessfun, nvars, options)优化工具箱(没有图形操作界面)Optimization Toolbox 线型规划和二次规划 求函数的最大值和最小值 多目标优化 约束条件下的优化 非线型方程求解Demo:toolbox/optimization 求解线性规划 线性规划是一种优化方法,Matlab优化工具箱中有现成函数linprog对如下式描述的LP问题求解:解解:编写编写M文件小文件小xxgh1.m如下:如下:c=-0.4 -0.28 -0.32 -0.72 -0.64 -0.6; A=0.01 0.01 0.01 0.03 0.03 0.03;0.02 0 0 0.05 0 0;0 0.02 0 0 0.05 0;0 0 0.03 0 0 0.08; b=850;700;100;900; Aeq=; beq=; vlb=0;0;0;0;0;0; vub=;x,fval=linprog(c,A,b,Aeq,beq,vlb,vub)信号处理工具箱Signal Processing Toolbox 数字和模拟滤波器设计、应用及仿真 谱分析和估计 FFT、DFT等变换 参数化模型学科前沿最新的工具箱 模糊控制逻辑工具箱 友好的交互设计界面,自适应神经-模糊学习、聚类以及Sugeno推理。 神经网络工具箱 神经网络系统具有集体运算的能力和自适应的学习能力。具有很强的容错性和鲁棒性,善于联想、综合和推广。工具箱的扩充功能: 用户可以修改工具箱中的函数,更为重要的是用户可以通过编制 m文件来任意地添加工具箱中原来没有的工具函数。此功能充分体现了matlab语言的开发性。二、通用工具箱Matlab主工具箱前面课程所介绍的数值计算、符号运算、绘图以及句柄绘图都是matlab主工具箱的内容,是matlab的基本部分Matlab主工具箱位于: c:matlabtoolboxmatlab matlab主工具箱是任何版本的matlab都不可缺少的。除toolboxmatlab之外的工具箱,在比较完整的专业版matlab语言中有20多个工具箱。matlab主工具箱共有31个函数库datafun 数据分析函数库sonnds 声音处理函数库dde 动态数据交换函数库elfun 初等数学函数库specmat 特殊矩阵函数库elmat 初等矩阵和时间函数库funfun 函数功能和数学分析函数库general 通用命令函数库graphics 通用图形函数库iofun 底层输入输出函数库lang 语言结构函数库matfun 矩阵线性代数函数库ops 运算符和逻辑函数库plotxy 二维绘图函数库plotxyz 三维绘图函数库color 颜色和光照函数库polyfun 多项式函数库sparfun 稀疏矩阵函数库strfun 字符串函数库demos matlab演示函数库Matlab6 新增函数库:uitools 图形界面函数库datatypes 数据类型函数库graphics 句柄绘图函数库graph3d 三维绘图2. 符号运算工具箱 主要功能以符号为对象的数学。 在大学教学中,符号数学是各专业都能用到的。 符号运算无须事先对独立变量赋值,运算结果以标准的符号形式表达。 特点: 运算对象可以是没赋值的符号变量 可以获得任意精度的解符号运算的功能 符号表达式、符号矩阵的创建 符号可变精度求解 符号线性代数 因式分解、展开和简化 符号代数方程求解 符号微积分 符号微分方程例如:z =a*t2+b*t+c;r =solve(z,t) 对缺省变量求解r = -1/2*(b-(b2-4*a*c)(1/2)/a -1/2*(b+(b2-4*a*c)(1/2)/a对任意变量求解r =solve(z,b)r =-(a*t2+c)/tr =solve(z,c)r =-a*t2-b*tr =solve(z,a)r =-(b*t+c)/t23. Simulink动态仿真工具箱simulink工具箱简介 simulink 是实现动态系统建模、仿真和分析的一个集成环境,使得matlab的功能得到进一步扩展,它可以非常容易的实现可视化建模,把理论研究和工程实践有机的结合在一起。 大部分专用工具箱只要以matlab主包为基础就能运行,有少数工具箱(通讯工具箱、信号处理工具箱等)则要求有simulink工具箱的支持。 由于matlab和simulink是集成在一起的,因此用户可以在两种环境下对自己的模型进行仿真、分析和修改。 不用命令行编程,由方框图产生m文件 (s函数)。 当创建好的框图保存后,相应的m文件就自动生成,这个.m文件包含了该框图的所有图形及数学关系信息。 框图表示比较直观,容易构造,运行速度较快。Simulink优点 适应面广:包括线性、非线性系统;离散、连续系统;定性系统。 结构和流程清晰:以方块图形式呈现 仿真精细、贴近实际 可实现物理仿真;计算机仿真;半实物仿真;虚拟仿真;构造仿真。simulink 的模型: simulink模型在视觉上表现为方框图,在文件上则是扩展名为m的ASCII代码(matlab7是扩展名为mdl的ASCII代码);在数学上体现为一组微分方程或差分方程;在行为上模拟了物理器件构成的实际系统的动态特性。simulink 的一般结构:输入系统输出 仿真原理 当在框图视窗中进行仿真的同时,matlab 实际上是运行保存于simulink内存中s函数的映象文件,而不是解释运行该m文件。 s函数并不是标准m文件,它可以是m文件,也可以是c或c+程序,通过一定的规则让simulink的模型或模块能够被调用。例:连体弹簧振子运动仿真模型 dblcart1 结构图创建方法 一个动态系统的创建过程,就是一个方框图的绘制过程 具体步骤: 在matlab命令窗口键入simulink或者单击simulink快捷键信号源库离散模块库非线性模块库其它模块库仿真连接模块库线性模块库输出模块库三、工具箱和工具箱函数的查询办法matlab的目录结构目录树c:matlabbinc:matlabexternc:matlabsimulinkc:matlabtoolboxcommc:matlabtoolboxcontrolc:matlabtoolboxsymbolic. matlabbin 该目录包含matlab系统运行文件,matlab帮助文件及一些必需的二进制文件。 matlabextern 包含MATLAB与 C, FORTRAN 语言的交互所需的函数定义和连接库。 matlabsimulink 包含建立simulink MEX-文件所必需的函数定义及接口软件。 matlabtoolbox 各种工具箱,Math Works公司提供的商品化matlab工具箱有30多种。toolbox目录下的子目录数量是随安装情况而变的。2. 工具箱matlab toolbox工具箱在windows下由目录检索得到。也可以在matlab下得到,启动matlab后 cd . matlab缺省目录是bin,回到 matlab目录下 cd toolbox dir 工具箱清单. compiler fixpoint lmi nag qft . control fuzzy local ncd robust ada symbolic dspblks hosa matlab nnet signal uitools codegen fdident ident mpc optim simulink wavelet comm finance splines pde esmutools stats 3. 工具箱函数清单的获得 所有工具箱中都有函数清单文件contents.m,可用各种方法得到工具箱函数清单 执行在线帮助命令 help 工具箱名称 列出该工具箱中contents.m的内容,显示该工具箱中所有函数清单 例如: help symbolic help optim 使用type命令得到工具箱函数的清单 type signalcontents type optimcontents 如果在当前工具箱目录下可用 help contents type contents 得到该工具箱的函数清单 由于contents .m为文本文件,可以通过任何文本编辑器打开阅读 如:edit、 word、写字板、记事本4. matlab函数的查阅与定位 which 函数名 给函数定位例如: which laplaced:matlab42toolboxsymboliclaplace.mwhich plotplot is a built-in function. which 命令只能定位matlab的外部命令,而对内部命令是无效的。 matlab内部函数只能通过contents.m工具箱清单文件来查询工具箱的添加 很多时候我们要将一个工具箱添加到到系统中来运行。 如果是Matlab安装光盘上的工具箱,重新执行安装程序,选中即可。 如果是单独下载的工具箱,一般情况下仅需要把新的工具箱解压到某个目录(例如toolbox目录下),然后用addpath(对于多个目录的使用genpath()或者pathtool添加工具箱的路径,然后用which new