1 / 37

Matlab 基础及其应用

Matlab 基础及其应用. 教师简介. 主讲教师 :李浩 刘大刚 holly@uestc.edu.cn 物理电子学院. MATLAB 课程介绍. 定位:公共基础选修课 目标:了解 MATLAB ,能够熟练掌握数学(矩阵)运算,简单编程,简单的数据处理、符号运算及基本图形绘制 . 对 MATLAB 面向对象编程与 simulink 有基本了解。. 参考教材: MATLAB 基础及应用 参考书目: 《Matlab 程序设计教程 》 ,李海涛、邓樱,高等教育出版社 /2005.5.1

december
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基础及其应用

  2. 教师简介 主讲教师:李浩 刘大刚 holly@uestc.edu.cn 物理电子学院

  3. MATLAB课程介绍 • 定位:公共基础选修课 • 目标:了解MATLAB,能够熟练掌握数学(矩阵)运算,简单编程,简单的数据处理、符号运算及基本图形绘制.对MATLAB面向对象编程与simulink有基本了解。

  4. 参考教材:MATLAB基础及应用 • 参考书目: 《Matlab程序设计教程》,李海涛、邓樱,高等教育出版社/2005.5.1 《精通MATLAB 6.5版》,张志涌,北京航空航天大学出版社/2003.3 《科学运算语言MATLAB5.3程序设计及应用》,薛定宇,清华大学出版社/2000 《数值方法和MATLAB实现与应用》,拉克唐瓦尔德(美),机械工业出版社/2004.9 • 特点:完全不必具备其它语言的基础,各年级各专业的同学都可选修。

  5. MATLAB课程安排 • 学时: 32学时(基于matlab6.5版本) • 安排:讲课16学时,上机16学时 • 考核要求:实验报告必须齐备。 • 考核方式: 实验报告

  6. 上机安排 • 从9月21日(也就是下个星期四)起,每个星期四安排为上机时间。 • 上机地点:主楼东312(物电机房) • 上机时间:18:00~20:00 20:00~22:00

  7. 主要内容 • Matlab 概述与入门; • 数据类型和运算; • 数值计算; • 符号运算; • 数据和函数的可视化; • Matlab编程;

  8. 第一章 MATLAB语言概述 一、MATLAB产生的历史背景 Cleve Moler is chairman and chief scientist at The MathWorks. Moler was a professor of math and computer science for almost 20 years at the University of Michigan, Stanford University and the University of New Mexico. 在70年代中期,Cleve Moler博士和其同事在美国国家科学基金的资助下开发了调用EISPACK和LINPACK的FORTRAN子程序库.EISPACK是特征值求解的FORTRAN程序库,LINPACK是解线性方程的程序库.在当时,这两个程序库代表矩阵运算的最高水平. Cleve Moler 博士

  9. 一、MATLAB产生的历史背景 1983年春天,Cleve Moler到Standford大学讲学,MATLAB深深地吸引了工程师John Little。John Little敏锐地觉察到MATLAB在工程领域的广阔前景,同年,他和Cleve Moler,Steve Bangert一起,用C语言开发了第二代专业版。这一代的MATLAB语言同时具备了数值计算和数据图示化的功能 。 Jack Little is president, CEO, and a co-founder of The MathWorks, Inc. He was a co-author and principal architect of early versions of the company's flagship MATLAB product as well as the Signal Processing Toolbox and the Control Systems Toolbox. Jack Little CEO / Founder

  10. MATLAB的第一个商业化的版本是1984年推出的是3.0的DOS版本MATLAB的第一个商业化的版本是1984年推出的是3.0的DOS版本 • 1992年MathWorks 公司于推出了4.0版本, • 1994年的4.2版本扩充了4.0版本的功能,尤其在图形界面设计方面更提供了新的方法。 • 1997年推出的5.0版允许了更多的数据结构,如单元数据、多维矩阵、对象与类等,使其成为一种更方便编程的语言。 • 1999年推出的 MATLAB 5.3版在很多方面又进一步改进了 MATLAB 语言的功能。

  11. 2000年10月底推出了其全新的 MATLAB 6.0正式版(Release 12),在核心数值算法、界面设计、外部接口、应用桌面等诸多方面有了极大的改进。 • 2002年6月发布了其全新的 MATLAB 6.5正式版(Release 13) • 2004年5月推出Matlab7.0

  12. 时至今日,经过MathWorks公司的不断完善,MATLAB已经发展成为适合多学科,多种工作平台的功能强大的大型软件。在国外,MATLAB已经经受了多年考验。在欧美等高校,MATLAB已经成为线性代数,自动控制理论,数理统计,数字信号处理,时间序列分析,动态系统仿真等高级课程的基本教学工具;成为攻读学位的大学生,硕士生,博士生必须掌握的基本技能。在设计研究单位和工业部门,MATLAB被广泛用于科学研究和解决各种具体问题。在国内,特别是工程学术界,MATLAB也逐步盛行起来。可以说,无论你从事工程方面的哪个学科,都能在MATLAB里找到合适的功能。

  13. 二、MATLAB的语言特点 • 语言简洁紧凑,使用方便灵活,库函数极其丰富; • 运算符丰富; • 兼聚结构化与面向对象编程的特性; • 程序设计自由度大; • 良好的程序可移植性; • 强大的图形功能; • 功能性工具箱和学科性工具箱; • 源程序的开放性。

  14. 线性方程组求解 当D=|A|≠0,方程组有解,可用Cramer法则求解。

  15. 线性方程组求解 N阶行列式的计算需要n!次乘法,求解n阶线性方程组,共需要做(n+1)!次乘法。如n=20,则,需做: 21!=5.10909×1019 16200年!

  16. 线性方程组求解 数值求解方法: • 直接法 Gauss消去法、Gauss-Jordan消去法、矩阵分解法等。 • 迭代法 Jacobi迭代法、Gauss-Seidel迭代法和超松弛迭代法等。

  17. 线性方程组求解 Matlab求解过程:

  18. 数据统计与处理 一个工厂生产三种橄榄球用品 : 防护帽、 垫肩、臀垫。需要不同数量的:硬塑料 、 泡沫塑料 尼龙线 、 劳动力。 为监控生产,管理者对它们之间的关系十分关心。为把握这些量的关系,列出下面的表格

  19. 原料产品关系表

  20. 管理者接到四份订单如上表所示。 • 问应该如何计算每份订单所需的原材料,以便组织生产? 输入下面Matlab指令 A=[4 2 3;1 3 2;1 3 3;3 2 2]; B=[35 20 60 45;10 15 50 40; …20 12 45 20]; C=A*B C = 220 146 475 320 105 89 300 205 125 101 345 225 165 114 370 255

  21. 考虑一个实际编程例子 如何编写一个能求出两个矩阵相乘的计算机通用子程序?

  22. 是否正确? 错误,未考虑其一为标量 加入标量判定,是否就是通用程序了? 错误,考虑其一或二者为复数矩阵 MATLAB 实现:C=A*B

  23. 例、用简短命令计算并绘制在0x6范围内的sin(2x)、sinx2、sin2x。例、用简短命令计算并绘制在0x6范围内的sin(2x)、sinx2、sin2x。 x=linspace(0,6) y1=sin(2*x),y2=sin(x.^2),y3=(sin(x)).^2; plot(x,y1,x, y2,x, y3)

  24. 用四种方法描述cos(x)*sin(y)图形

  25. matlab工具箱 MATLAB包含两个部分:核心部分和各种可选的工具箱。 核心部分中有数百个核心内部函数。 工具箱又分为两类:功能性工具箱和学科性工具箱。 功能性工具箱主要用来扩充其符号计算功能,图示建模仿真功能,文字处理功能以及与硬件实时交互功能。功能性工具箱可用于多种学科。 学科性工具箱是专业的,如(control、signal proceessing 、commumnication) toolbox等。这些工具箱都是由该领域内学术水平很高的专家编写的,所以用户无需编写自己学科范围内的基础程序。 • MATLAB主工具箱 • 符号数学工具箱 • SIMULINK仿真工具箱 • 控制系统工具箱 • 信号处理工具箱 • 图象处理工具箱 • 通讯工具箱 • 系统辨识工具箱 • 神经元网络工具箱 • 金融工具箱

  26. 菜单 Matlab 界面与初步操作 快捷工具栏 工作目录选择栏 workspace 指令窗口

  27. Command window运行入门 • 最简单的计算器使用法; • 数值、变量和表达式; • 指令行中的标点符号; • 计算结果的图形表示;

  28. 求 的运算结果。 指令输入提示符 >> (12+2*(7-4))/3^2 ans = 2 >> Answer的缩写

  29. 简单矩阵的输入步骤: >> A=[1,2,3;4,5,6;7,8,9] A = 1 2 3 4 5 6 7 8 9 >>

  30. 指令续行输入 >> S=1-1/2+1/3-1/4+... 1/5-1/6+1/7-1/8 S = 0.6345 >> 续行符号

  31. 数值、变量和表达式 大小写敏感; 首字母为英文 (少于63个字符); 变量名不包含空格、标点; • 数值的记述; • 变量命名规则; • Matlab默认的预定义变量; • 运算符和表达式; • 复数和复数矩阵; Matlab采用习惯的十进制表示: -99 0.001 1.3e-3 4.5e33 数值范围:10e-308~10e308

  32. 1 0.5 0 -0.5 -1 0 5 10 15 • 画出衰减振荡曲线 及其它的包络线 。的取值范围是 。 t=0:pi/50:4*pi; y0=exp(-t/3); y=exp(-t/3).*sin(3*t); plot(t,y,'-r',t,y0,':b',t,-y0,':b') grid

  33. 画出 所表示的三维曲面 ,的取值范围 是 [-8,8] clear;x=-8:0.5:8; y=x'; X=ones(size(y))*x; Y=y*ones(size(x)); R=sqrt(X.^2+Y.^2)+eps; Z=sin(R)./R; surf(X,Y,Z); colormap(cool) xlabel('x'),ylabel('y'),zlabel('z')

  34. Matlab 编辑器界面

More Related