MATLAB 语言及其应用

上传人:文*** 文档编号:90933347 上传时间:2019-06-20 格式:PPT 页数:260 大小:2.37MB
返回 下载 相关 举报
MATLAB 语言及其应用_第1页
第1页 / 共260页
MATLAB 语言及其应用_第2页
第2页 / 共260页
MATLAB 语言及其应用_第3页
第3页 / 共260页
MATLAB 语言及其应用_第4页
第4页 / 共260页
MATLAB 语言及其应用_第5页
第5页 / 共260页
点击查看更多>>
资源描述

《MATLAB 语言及其应用》由会员分享,可在线阅读,更多相关《MATLAB 语言及其应用(260页珍藏版)》请在金锄头文库上搜索。

1、MATLAB 语言及其应用,第一讲 Matlab概述,1.1 前言 1.2 Matlab软件概述 1.3 Matlab的桌面环境及入门知识,1.1 Matlab 简介,在欧美各高等院校,Matlab 已经成为线性代数、数值分析、数理统计、自动控制理论、数字信号处理、时间序列分析、动态系统仿真、图像处理等课程的基本教学工具。,Matlab是一种广泛应用于工程计算及数值分析领域的新型高级语言,自1984 年推向市场以来,历经二十多年的发展与竞争,现已成为国际公认的最优秀的工程应用开发环境。,Matlab: Matrix Laboratory 矩阵实验室,Matlab发展,1.1 Matlab 简介

2、,MATLAB Compiler这种编译器可以将MATLAB程序文件编译生成标准的C/C+语言文件,而生成的标准的C/C+文件可以被任何一种C/C+编译器编译生成函数库或可执行文件,以提高程序的运行效率。,1.2 MATLAB产品的体系结构,MATLAB,MATLAB Toolboxes,MATLAB Compiler,Simulink,Simulink Blocksets,Real-Time Workshop (RTW),Stateflow,Stateflow Coder,图1.1 MATLAB产品体系结构,围绕着MATLAB这个计算核心,形成针对不同应用领域的算法程序包,称为专用工具箱(T

3、oolbox)。MATLAB本身所提供的工具箱大概有40多个,另外还有其他公司或研究单位开发提供的工具箱,这些工具箱的总数已有100多个,而且新的工具箱还在不断增加。如果你有特别的应用领域,可以首先到网上查找是否已有相关的工具箱,很可能已有人将你要做的应用程序作成工具箱了。,Simulink是窗口图形方式的、专门用于连续时间或离散时间的动态系统建模、分析和仿真的核心。,Real-Time Workshop是一种实时代码生成工具,它能够根据Simulink模型生成程序源代码,并打包、编译所生成的源代码生成实时应用程序。,从现有的Simulink 和Stateflow自动生成C语言程序代码的功能、

4、定点运算模块集(Fixed-point Blockset)与C语言程序代码到VHDL(Very High Speed Integrated Circuit Hardware Description Language,一种标准的硬件电路设计语言 )的自动转换功能,可以看出,高级的系統仿真或低级的芯片算法设计,都可用MATLAB、Simulink、Stateflow及相关的工具箱来完成。,Stateflow是基于有限状态机理论针对复杂的事件驱动系统进行建模、仿真的工具。,Stateflow Coder是基于Stateflow状态图生成高效、优化的程序代码。,围绕着Simulink仿真核心所开发的应

5、用程序包,称为模块集(Blocksets),MATLAB产品提供许多专用模块集,如Communication Blockset、DSP Blockset、SimPowerSystem Blockset、Signal Processing Blockset等,详见MATLAB在线帮助文档。,是MATLAB产品家族的计算核心与基础,是集高性能数值计算与数据可视化于一体的高效编程语言。,功能强大 数值运算优势 符号运算优势(Maple) 强大的2D、3D数据可视化功能 许多具有算法自适应能力的功能函数 编程易、效率高 Matlab以数组为基本计算单元 具有大量的算法优化的功能函数,语言简单、内涵丰富

6、 语言及其书写形式非常接近于常规数学书写形式; 其操作和功能函数指令就是常用的计算机和数学书上一些简单英文单词,如:help、clear等; 完备的帮助系统,易学易用。 扩充能力、可开发能力较强 MATLAB完全成了一个开放的系统 用户可以开发自己的工具箱 可以方便地与Fortran、C等语言接口,1.3 MATLAB的桌面环境及入门知识,启动与退出MATLAB 命令窗口及使用 数值表示、变量、表达式 命令历史窗口 工作空间 获取在线帮助,菜单栏,工具栏,文件编辑窗口,工作空间,历史命令 窗口,Start 菜单,命令窗口,命令提示符,1.3.1 启动与退出,1.3.2 命令窗口的使用,激活命令

7、窗口。 “” 与闪烁的光标一起表明系统就绪,等待输入。 命令窗口脱离MATLAB桌面。 简单计算 【例1.1】计算 (1)在MATLAB命令窗口输入 以下内容: (12+2*(7-4)/32 (2)按【Enter】键,指令执行。 (3)返回的计算结果: ans= 2,1.3.2 命令窗口 (续),说明 在命令窗口【Enter】键提交命令执行。 Matlab所用运算符(如+、-、等)是各种计算程序中常见的。 计算结果中的“ans”是英文“answer”的一种缩写,其含义就是“运算答案”。ans是Matlab的一个预定义变量。,1.3.2 命令窗口 (续),简单计算(续) 【例1.2】计算sin(

8、45 ) sin(45*pi/180),Matlab中正弦函数sin就是常见的正弦函数。 它的参数值是以“弧度”为单位的。 pi也是Matlab的预定义变量。 pi=3.14159 Matlab对字母大小写是敏感的。,【例1.3】计算 的值,其中x=4.92。,sqrt(2*exp(4.92+0.5)+1),Matalb中开平方sqrt(x),是英文square root的缩写 。 Matlab中指数函数exp(x),常见的表达方式。,ans= 0.7071,ans= 21.2781,1.3.2 命令窗口 (续),“clc”清除窗口显示内容的命令。,【例1.4】计算 的值。,y=2*sin(0

9、.3*pi)/(1+sqrt(5),y= 0.5000,【例1.5】计算 的值。,y=2*cos(0.3*pi)/(1+sqrt(5),y= 0.3633,命令行编辑 “”键调回已输入过命令。 修改。,以上两例,命令行中用到了等号“=”。 计算结果不再赋给“ans”,而是赋给用户指定的变量y。 无论是预定义变量还是用户自定义变量都被存储在系统的工作空间内,即系统定义的一个存储窗口变量的内存空间。 Who、whos命令用来显示工作空间的变量 clear命令用来清除工作空间的变量。,who,whos,Your variables are: ans y,Name Size Bytes Class a

10、ns 1x1 8 double array y 1x1 8 double array Grand total is 2 elements using 16 bytes,1.3.2 命令窗口 (续),1.3.2 命令窗口 (续),clear y who,Your variables are: ans,whos,Your variables are: Name Size Bytes Class ans 1x1 8 double array Grand total is 1 elements using 8 bytes,数值显示格式设置 缺省显示格式:简洁的短(short g)格式 窗口命令及语法格

11、式:format 显示格式关键字 如:format long %15位数字显示 常见通用命令 命令 含义 clc 清除命令窗口的显示内容 clear 清除Matlab工作空间中保存的变量 who或whos 显示Matlab工作空间中的变量信息 dir 显示当前工作目录的文件和子目录清单 cd 显示或设置当前工作目录 type 显示指定m文件的内容 help或doc 获取在线帮助 quit或exit 关闭/推出MATALB,1.3.2 命令窗口 (续),1.3.3 工作空间,查看工作空间内存变量,可以由who、whos 。 命名新变量。 修改变量名 删除变量 绘图 保存变量数据 装入数据,1.3

12、.4 历史窗口,历史窗口: 首先记录每次启动时间 并记录在命令窗口输入命令,此次运行期间,输入的所有命令被记录为一组,并以此次启动时间为标志。 使用历史窗口: 可以查看命令窗口输入过的命令或语句 可以选择一条或多条命令执行拷贝、执行、创建M文件等。,要清除历史记录,可以选择Edit菜单中的Clear Command History 命令,1.3.5 当前目录窗口和搜索路径,当前目录窗口:指Matlab运行时的工作目录。 只有在当前目录和搜索路径下的文件、函数才可以被运行和调用。 如果没有特殊指明,数据文件也将存放在当前目录下; 用户可以将自己的工作目录设置成当前目录,从而使得所有操作都在当前目

13、录中进行。,搜索路径:指Matlab执行过程中对变量、函数和文件进行搜索的路径。 在File菜单中选择Set Path命令或在命令窗口输入pathtool命令,出现搜索路径设置对话框:,!修改完搜索路径后,需要进行保存。,1.3.6 获取在线帮助,MATLAB提供的帮助信息有两类 简单纯文本帮助信息 help lookfor(条件比较宽松)例:inverse 窗口式综合帮助信息(文字、公式、图形) doc helpwin,【功能演示-1】,求方程,的全部根。,p = 2,0,-3,71,-9,13;建立多项式系数向量 x = roots(p);求根,x = -3.4914 1.6863 + 2

14、.6947i 1.6863 - 2.6947i 0.0594 + 0.4251i 0.0594 - 0.4251i,【功能演示-2】求解线性方程组,a = 2,3,-1;8,2,3;45,3,9;建立系数矩阵a b = 2;4;23;建立列向量b x = inv(a)*b,x = 0.5531 0.2051 -0.2784,符号计算,syms x y z 建立符号变量 x,y,z=solve(2*x+3*y-z-2,8*x+2*y+3*z-4,45*x+3*y+9*z-23),x = 151/273 y = 8/39 z = -76/273,【功能演示-3】求解定积分,求解 I= quad(x

15、.*log(1+x),0,1) ans = 0.250 或 syms x int(x*log(1+x),0,1) ans = 1/4,【功能演示-4】多项式曲线拟合,考虑如下 x-y 一组实验数据: x=1, 2, 3, 4, 5, 6, 7, 8, 9, 10 y=1.2, 3, 4, 4, 5, 4.7, 5, 5.2, 6, 7.2 注: 一次多项式拟合: p1 = polyfit(x,y,1) 三次多项式拟合: p3 = polyfit(x,y,3) plot 原始数据、一次拟合曲线和三次拟合曲线 x2=1:0.1:10; y1=polyval(p1,x2) y3=polyval(p3

16、,x2) plot( x, y, *, x2, y1, :, x2, y3),拟合曲线图,由图可见,三次拟合结果较好。,第二讲 Matlab数据及其运算,Matlab数据类型非常丰富,除数值型、字符型等基本数据类型外,还有结构体、单元等更为复杂的数据类型。 各种数据类型都以矩阵形式存在,矩阵是Matlab最基本的数据对象,并且矩阵的运算是定义在复数域上的。,2.1 数值表示、变量及表达式,数值的记述 只采用习惯的十进制表示,可以带小数点和负号;其缺省的数据类型为双精度浮点型(double)。 例如:3 -10 0.001 1.3e10 1.256e-6 变量命令规则 变量名、函数名对字母的大小写是敏感的。如myVar与myvar表示

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 公司方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号