1 / 38

MatLab 及其数学应用

MatLab 及其数学应用. MatLab and its Maths Guides. 一、 MatLab 概述. Mat rix Lab oratory. 20 世纪 70 年代中期 ,Cleve Moler 和其同事在美国国家科学基金的资助下研究开发了调用 LINPACK 和 EISPACK 子程序库 , 并于 1984 年编写了便于使用 LINPACK 和 EISPACK 的接口程序,并将该程序取名为 MatLab 。由美国 MathWorks 公司推向市场以来,现已成为国际公认的最优秀的工程应用开发环境。

Download Presentation

MatLab 及其数学应用

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. MatLab及其数学应用 MatLab and its Maths Guides

  2. 一、MatLab 概述 • Matrix Laboratory 20世纪70年代中期,Cleve Moler和其同事在美国国家科学基金的资助下研究开发了调用LINPACK和EISPACK子程序库,并于1984年编写了便于使用LINPACK和EISPACK的接口程序,并将该程序取名为MatLab。由美国 MathWorks公司推向市场以来,现已成为国际公认的最优秀的工程应用开发环境。 MatLab功能强大、简单易学、编程效率高,深受广大科技工作者的欢迎。

  3. MatLab的主要功能 • 2001年初推出了MatLab6.0正式版,不仅在数值计算、符号运算和图形处理等功能上进一步加强,而且又增加了一些工具箱。目前MatLab已拥有数十个工具箱:控制系统工具箱、信号处理工具箱、神经网络工具箱、最优化工具箱、金融工具箱、偏微分方程工具箱等。 • MatLab语言的算法先进,许多功能函数都带有算法的自适应性,且运算速度快捷。 • MatLab编程容易、效率高,调试方便、简单,人机交互性强。 • MatLab的数值计算功能包括:矩阵运算、多项式和有理分式运算、数据统计分析、数值积分、优化处理等。还可以通过符号计算得到问题的解析解。

  4. MatLab除了命令行的交互式操作以外,还可以程序方式工作。使用MatLab可以很容易地实现C语言的几乎全部功能,包括Windows图形用户界面的设计。 • MatLab提供了两个层次的图形命令:一种是对图形句柄进行的低级图形命令,另一种是建立在低级图形命令之上的高级图形命令。利用MatLab的高级图形命令可以轻而易举地绘制二维、三维,并可进行图形和坐标的标识、视角和色彩精细控制等操作。

  5. MatLab运行环境与安装 • 硬件: 一般要求奔腾以上的处理器、128MB以上内存、足够的硬盘可用空间(随安装组件的多少而定)、CD-ROM驱动器、鼠标等。 • 软件: Windows xp and its compatible

  6. 二、MatLab特色举例 • 考虑两个矩阵 A 和 B 的乘积问题 在C语言中要实现两个矩阵的乘积需要一组双重(或三重)循环。多重循环当然是矩阵乘积所必需的.

  7. MatLab矩阵符号积分 • 求 :积分指令对符号函数矩阵的作用。 syms a b x;f=[a*x,b*x^2;1/x,sin(x)]; disp('The integral of f is'); int(f) The integral of f is [ 1/2*a*x^2, 1/3*b*x^3] [ log(x),-cos(x)]

  8. MatLab 多重符号积分 求积分 注意:内积分上下限都是函数。 syms x y z; F2=int(int(int(x^2+y^2+z^2,z,sqrt(x*y),x^2*y),y,sqrt(x),x^2),x,1,2) VF2=vpa(F2) F2 = 1610027357/6563700-6072064/348075*2^(1/2)+14912/4641*2^(1/4)+64/225*2^(3/4) VF2 = 224.92153573331143159790710032805

  9. MatLab 三维云图 • 考虑一个二元函数 如何用三维图形的方式表现出这个曲面?  >> [x,y] = meshgrid(-3:1/8:3);    z = 3*(1-x).^2.*exp(-(x.^2) - (y+1).^2)- 10*(x/5 - x.^3 - y.^5)...      .*exp(-x.^2-y.^2)- 1/3*exp(-(x+1).^2 - y.^2);    surf(x,y,z), shading interp; colorbar

  10. MatLab 三维云图

  11. MatLab 绘图——透视效果 透视 效果 [X0,Y0,Z0]=sphere(30); X=2*X0;Y=2*Y0;Z=2*Z0; surf(X0,Y0,Z0); shading interp; hold on, mesh(X,Y,Z),colormap(hot), hold off; hidden off; axis equal,axis off

  12. MatLab绘图——镂空效果 镂空效果 t=linspace(0,2*pi,100); r=1-exp(-t/2).*cos(4*t); [X,Y,Z]=cylinder(r,60); ii=find(X<0&Y<0); Z(ii)=NaN; surf(X,Y,Z);colormap(spring),shading interp light('position',[-3,-1,3],'style','local') material([0.5,0.4,0.3,10,0.3])

  13. MatLab绘图——镂空效果 镂空效果 P=peaks(30); P(18:20,9:15)=NaN; surfc(P);colormap(summer) light('position',[50,-10,5]),lighting flat material([0.9,0.9,0.6,15,0.4])

  14. MatLab 多维切割效果 clf;[X,Y,Z,V]=flow; x1=min(min(min(X))); x2=max(max(max(X))); y1=min(min(min(Y))); y2=max(max(max(Y))); z1=min(min(min(Z))); z2=max(max(max(Z))); sx=linspace(x1+1.2,x2,5); sy=0; sz=0; slice(X,Y,Z,V,sx,sy,sz); view([-33,36]);shading interp; colormap jet; alpha('color') alphamap('rampdown') alphamap('increase',.1) colorbar axis off

  15. MatLab 绘图——光照 光照 处理

  16. MatLab 绘图——浓淡变化 浓淡 处理

  17. 三、MatLab 工具箱 • 偏微分方程工具箱 pdetool • 优化工具箱 最小化问题, 线性规划, 无约束/有约束… • 概率论与数理统计工具箱 概率密度函数,累加/逆累加分布, 随机数…

  18. 四、 MatLab命令窗口 ① MatLab主窗口:主要包括6个下拉菜单和10个按钮控件。 ② 命令窗口:其中 “ >> ”为运算提示符,表示MatLab正处于准备状态。当在提示符后输入一段算式并按Enter键后,MatLab将给出计算结果,然后再次进入准备状态。 ③ 历史窗口:在默认设置状态下,历史窗口中会保留自安装起所有命令的历史记录,并标明了使用时间;双击某一行命令,则可在命令窗口中执行该行命令。 ④ 当前目录窗口:在当前目录窗口中可显示或改变当前目录,还可以显示当前目录下的文件并提供搜索功能。此窗口有四个 按钮键。

  19. File菜单项: New命令:用于建立M文件、图形窗口。 Open命令:打开一个已经建立的M文件。 SaveWorkspaceAs命令:把当前工作空间的所有变量用后缀为.m的文件保存起来。

  20. Help菜单项: • Help Window命令:打开MatLab的帮助窗口。 • Help Desk(HTML)命令:打开系统WWW浏览器,并显示MatLab的帮助桌面。 • Demos命令:可以通过演示MatLab提供的例子来熟悉相关部分的用法。 Examples and Demos命令:可以通过演示MatLab提供的例子来熟悉相关部分的用法。 • About MatLab命令:打开关于MatLab 的版本和版权等信息。

  21. MatLab帮助系统 1. Help命令 >>help <程序或主题名> 2. Demos命令 >>demos 或者 help 菜单下的demos

  22. ■命令窗口的工具栏 工具栏提供了一些命令按钮,使用命令按钮可使操作更快捷、更方便。 新建 剪切 粘贴 浏览器 新仿真模型 打开 复制 撤消 路径浏览器 帮助

  23. ■命令窗口编辑区 命令编辑区用于输入命令和显示计算结果。键入命令并按下回车键后,MatLab就会解释执行所输入的命令,并在命令后面给出计算结果。 例如: 输入: a=[1,1.5,2,9,7;0,3.6,0.5,-4,4;7,10,-3,22,33;3,7,8.5,21,6;3,8,0,90,-20] 将显示一个5X5的矩阵。

  24. ■ 历史指令行的再运行

  25. ■ 一些通用命令

  26. ■ 一些常用操作技巧

  27. 变量与常量

  28. MatLab中变量赋值有两种形式: (1) 变量=表达式 (2) 表达式 其中“表达式”是用运算符将有关运算量连接起来的式子,其结果是一个矩阵。 [注]第二种语句形式下,将表达式的值赋给MatLab的永久变量ans

  29. 数据显示格式 short (缺省) ~ 小数点后4位, long ~ 15位数字, short e ~ 5位科学计数, long e ~ 15位科学计数 通过File下子菜单Preferences选择;用format加格式选择 常用 格式

  30. MatLab 基本语法 >> p=7.1 >> x=-4.92 >>p=7.1, x=-4.92 % 不同语句之间逗号分割

  31. 最简单的计算器用法 【例1】求 的算术运算结果。 用键盘在MatLab指令窗中输入以下内容 >> (12+2*(7-4))/3^2 ans = 2

  32. 【例2】简单矩阵 的输入步骤。 >>A = [1,2,3; 4,5,6; 7,8,9] %一行输入 A = 1 2 3 4 5 6 7 8 9 也可以A=[1,2,3 4,5,6 7,8,9] %分行输入

  33. 【例3】 S=1-1/2+1/3-1/4+ ... 1/5-1/6+1/7-1/8 %表达式分行输入 S = 0.6345

  34. 【例4】 ii2=2; ii3=3; jj=1.5; T=ii2/ii3^jj T =0.3849 format long T T = 0.38490017945975

  35. 变量命名规则 • 不可超过31个字符,多余部分将被忽略掉。 • 变量名要求以大写或小写字母开头,后面可跟大小写字母,数字和下划线。 • 字符间不可有空格。 • 变量名对于大小写敏感。 • 多余变量用clear 变量名清除掉。

  36. 使用MatLab的一些建议 1.尽可能使用帮助文件。 2.在文本编辑器中编写程序和函数并保存为m文件。 3.程序和函数尽可能使用图形化开发手段。 4.尽量减少由程序和函数组成的表达式的数目。 5.采用另一种手段验证程序或函数输出结果的正确性。

More Related