《第1章节绪论课件3章节》由会员分享,可在线阅读,更多相关《第1章节绪论课件3章节(36页珍藏版)》请在金锄头文库上搜索。
1、2019年8月7日5时33分,MATLAB语言与应用,1,MATLAB语言与应用,2019年8月7日5时33分,MATLAB语言与应用,2,第 1 章 绪论,2019年8月7日5时33分,MATLAB语言与应用,3,本章主要内容,1.1 MATLAB产生的历史背景 1.2 MATLAB的语言特点 1.3 MATLAB和其它语言及类似软件的关系 1.4 MATLAB的使用环境 本课程的主要内容 MATLAB网络资源简介,2019年8月7日5时33分,MATLAB语言与应用,4,MATLAB产生的历史背景,MATrix LABoratory 矩阵实验室 MathWorks 数值计算、图示能力 多学
2、科、多领域 高校、设计研究单位 版本 1984 v1 ;1993 v4; 本课程 v6.5 ;最新v7.0,2019年8月7日5时33分,MATLAB语言与应用,5,MATLAB的语言特点,语言简洁紧凑,使用方便灵活 运算符、库函数丰富 具有结构化控制语句、面向对象编程特性 语法限制不严格,程序设计自由度大 程序的可移植性好 图形功能强大 源程序的开放性 功能强劲的工具箱,2019年8月7日5时33分,MATLAB语言与应用,6,MATLAB的语言特点,控制、信号、金融、优化、统计、模糊理论、神经网络、遗传算法、小波分析 由该领域内学术水平很高的专家编写 用户无需编写自已学科范围内的基础程序
3、直接进行高、精、尖的研究 站在巨人的肩膀上,2019年8月7日5时33分,MATLAB语言与应用,7,考虑一个实际编程例子,如何编写一个能求出两个矩阵相乘的计算机通用子程序?,该程序正确吗?,错误,未考虑矩阵是否可乘,2019年8月7日5时33分,MATLAB语言与应用,8,是否正确?,错误,未考虑其一为标量,加入标量判定,是否就是通用程序了?,错误,考虑其一或二者为复数矩阵,可见,用最底层的编程语言需要考虑的内容要 多得多,所以调试起来不容易,容易出现漏洞,MATLAB 实现:C=A*B,2019年8月7日5时33分,MATLAB语言与应用,9,考虑下面一些例子,【例1-1】高等数学问题:已
4、知函数,如何 求导及高阶导数?,思路: 由分式求导公式,得出, 逐次求导则可以得出,问题:求导过程很繁杂,容易出错,2019年8月7日5时33分,MATLAB语言与应用,10,计算机求解结果,不是最简 pretty,2019年8月7日5时33分,MATLAB语言与应用,11,基于计算机的化简结果,靠手工推导的方法难以准确得出,手工无从推导,计算机能, Elapsed time is 1.169050 seconds.,2019年8月7日5时33分,MATLAB语言与应用,12,【例1-2】代数方程求根 古典方法 一、二、三、四阶:直接方法 五阶或以上 Abel定理,认为无解 现代数值方法 林士
5、谔-Bairstrow 算法,又称为劈因子法 具体实例,2019年8月7日5时33分,MATLAB语言与应用,13,双精度变量的数值方法 代入方程后的误差 精确解,2019年8月7日5时33分,MATLAB语言与应用,14,【例1-3】 矩阵行列式求解问题 代数余子式 1 个 n 阶行列式可以表示成 n 个 n-1 阶行列式的和, 可以将高阶矩阵行列式转换成1阶矩阵行列式 结论:任意矩阵行列式解析解存在 问题:忽略了可计算性 n=20, 银河机,3000年,2019年8月7日5时33分,MATLAB语言与应用,15,实例:Hilbert 矩阵,n=20 传统数值分析结论:矩阵奇异 双精度级别下
6、的数值解 -1.1004e-195,2019年8月7日5时33分,MATLAB语言与应用,16,该矩阵行列式的精确结果,近似值 计算时间 0.2 秒,2019年8月7日5时33分,MATLAB语言与应用,17,【例1-4】试求解极限问题,2019年8月7日5时33分,MATLAB语言与应用,18,数值计算方法,【例1-5】极数求和计算,2019年8月7日5时33分,MATLAB语言与应用,19,【例1-6】非线性常微分方程组 没有解析解 传统数值方法 计算步长选择 计算时间 变步长 解决方法:计算机数学语言算法,微分方程,2019年8月7日5时33分,MATLAB语言与应用,20,【例1-8】
7、 最优化问题 求解方法:一般线性规划 若找不到全局最优解,可以试遗传算法 若要求 为整数 整数规划,2019年8月7日5时33分,MATLAB语言与应用,21,【例1-9】,二维曲线绘制,x=0:0.1:2*pi; y1=sin(x);y2=cos(x); plot(x,y1,x,y2) %绘制正弦、余弦曲线 plot(sin(x),cos(x) axis equal %绘制圆 ezplot(1/y-log(x)+log(-1+y)+x-sin(x) %隐函数绘制,2019年8月7日5时33分,MATLAB语言与应用,22,【例1-10】,三维曲线绘制,t=0:0.1:6*pi; plot3(
8、sin(t),cos(t),t); %plot3 x,y=meshgrid(-3:0.1:3,-2:0.1:2); z=(x.2-2*x).*exp(-x.2-y.2-x.*y); surf(x,y,z) %surf colorbar contour3(x,y,z,10) view(0,90),2019年8月7日5时33分,MATLAB语言与应用,23,传递函数 状态方程 零极点 Bode图 Nyquist图,【例1-11】,自动控制,num=1 , 7 , 24 , 24; den=1 , 10 , 35 , 50 , 24; S=tf(num,den) G=ss(S) L=zpk(S) b
9、ode(S) nyquist(S),2019年8月7日5时33分,MATLAB语言与应用,24,MATLAB和其它语言及类似软件的关系,C,执行效率低,编程效率高,MATLAB,汇编,VB、VC、delphi、PB、Java ,2019年8月7日5时33分,MATLAB语言与应用,25,其它计算机数学语言,Maple (Waterloo Maple) Mathematica (Wolfram Reaearch) 解析运算、公式推导、定理证明 纯数学领域 Matlab(Mathworks) 数值运算、编程、工具箱、继承Maple,2019年8月7日5时33分,MATLAB语言与应用,26,数学问
10、题的解析解与数值解,数学家和其他科学技术工作者的区别 数学家:理论严格证明、存在性 工程技术人员:如何直接得出解 解析解不能使用的场合 不存在 数学家解决方法,引入符号erf(a) 工程技术人员更感兴趣积分的值 数值解,2019年8月7日5时33分,MATLAB语言与应用,27,解析解不能使用的场合 解析解不存在:无理数,无限不循环小数 p 数学家:尽量精确地取值,日本人60亿位 工程技术人员:足够精确即可 祖充之 3.1415926,阿基米德3.1418,2019年8月7日5时33分,MATLAB语言与应用,28,数值解应用场合,在力学领域,常用有限元法求解偏微分方程; 在航空、航天与自动控
11、制领域,经常用到数值线性代数与常微分方程的数值解法等解决实际问题; 工程与非工程系统的计算机仿真中,核心问题的求解也需要用到各种差分方程、常微分方程的数值解法; 在高科技的数字信号处理领域,离散的快速Fourier 变换 (FFT) 已经成为其不可或缺的工具。 ,2019年8月7日5时33分,MATLAB语言与应用,29,应用编程方法对工程问题求解,用数学方法对预知模型进行分析 从数据中获得统计结果 对模型或数据进行可视化处理,以便于理解其含义 从实验结果中得到或验证经验公式 监视/控制/分析外部事件,2019年8月7日5时33分,MATLAB语言与应用,30,MATLAB的使用环境,工作空间
12、 命令窗口 程序编辑器 变量浏览器 路径浏览器 帮助系统,2019年8月7日5时33分,MATLAB语言与应用,31,本课程的相关内容,第1章 绪论 第2章 程序设计基础 第3章 图形绘制 第4章 线性代数问题 第5章 代数方程及数据处理,2019年8月7日5时33分,MATLAB语言与应用,32,第6章 微积分问题 第7章 微分方程问题 第8章 优化问题 第9章 概率论与数理统计问题 第10章 部分工具箱的应用,本课程的相关内容,2019年8月7日5时33分,MATLAB语言与应用,33,互联网资源,The MathWorks公司官方网站 产品与全套工具箱手册下载http:/ 第三方工具箱下
13、载 http:/ 产品在中国独家代理 (北京九州恒润公司) http:/,2019年8月7日5时33分,MATLAB语言与应用,34,学新网 http:/ MATLAB与应用论坛 (薛定宇) http:/ 中国仿真互动 http:/ 一些高校的bbs 清华大学、哈工大、上海交大、西安交大等,互联网资源,2019年8月7日5时33分,MATLAB语言与应用,35,参考书,高会生等译. MATLAB原理与工程应用. 北京:电子工业出版社. 2002 ¥49.00 薛定宇等. 高等应用数学问题的 MATLAB 求解. 北京:清华大学出版社. 2004 ¥43.00 超星下载,2019年8月7日5时33分,MATLAB语言与应用,36,练,在计算机上安装MATLAB语言程序,熟悉MATLAB使用环境,并键入demo命令,领略MATLAB语言的功能。,