1.06k likes | 1.63k Views
MATLAB 仿真实验. 通信于信息工程学院 电路实验中心 朱治国. 实验一. MATLAB 程序入门和基础应用 安装 启动 与退出 Matlab 的数值计算功能 Matlab 程序设计入门 Matlab 的符号运算功能 Matlab 的可视化功能. MATLAB 简介. MATLAB 是一套功能强大的工程技术人员必备的高端数学类科技应用软件 产生的背景: matlab 语言是由美国的 Clever Moler 博士于 1980 年开发的 , 设计者的初衷是为解决 “ 线性代数 ” 课程的矩阵运算问题
E N D
MATLAB仿真实验 通信于信息工程学院 电路实验中心 朱治国
实验一 • MATLAB 程序入门和基础应用 • 安装 启动 与退出 • Matlab的数值计算功能 • Matlab程序设计入门 • Matlab的符号运算功能 • Matlab 的可视化功能
MATLAB简介 MATLAB是一套功能强大的工程技术人员必备的高端数学类科技应用软件 产生的背景: matlab语言是由美国的Clever Moler博士于1980年开发的,设计者的初衷是为解决“线性代数”课程的矩阵运算问题 • MATLAB= matrix + laboratory 矩阵实验室
产生的历史 • 美国的mathwork公司于1984年推出
其DOS版本(MATLAB1.0)发行于1984年,到现在已经到了MATLAB7.X。 MATLAB已发展成为由MATLAB语言、MATLAB工作环境、MATLAB图形处理系统、MATLAB数学函数库和MATLAB应用程序接口五大部分组成的集数值计算、图形处理、程序开发为一体的功能强大的系统
MATLAB基本功能 MATLAB具有一下基本功能: • 数值计算功能,矩阵运算功能 • 符号计算功能 • 图形处理集可视化功能 • 可视化建模集动态仿真功能
1、数值计算功能,矩阵运算功能 • MATLAB提供了丰富的矩阵运算处理功能,是基于矩阵运算的处理工具。 • 变量矩阵,运算矩阵的运算 • 例如 C = A + B ,A,B,C都是矩阵,是矩阵的加运算 • 即使一个常数,Y=5,MATLAB也看做是一个11的矩阵
2.符号运算功能 • 符号运算即用字符串进行数学分析 • 允许变量不赋值而参与运算 • 用于解代数方程、微积分、复合导数、积分、二重积分、有理函数、微分方程、泰乐级数展开、寻优等等,可求得解析符号解
3.丰富的绘图功能与计算结果的可视化 • 具有高层绘图功能——两维、三维绘图 • 具有底层绘图功能——句柄绘图 • 使用plot函数可随时将计算结果可视化
4.图形化程序编制功能 • 动态系统进行建模、仿真和分析的软件包 • 用结构图编程,而不用程序编程 • 只需拖几个方块、连几条线,即可实现编程功能
5.丰富的MATLAB工具箱 • MATLAB主工具箱 • 符号数学工具箱 • SIMULINK仿真工具箱 • 控制系统工具箱 • 信号处理工具箱 • 图象处理工具箱 • 通讯工具箱 • 系统辨识工具箱 • 神经元网络工具箱 • 金融工具箱
许多学科,在MATLAB中都有专用工具箱,现已有30多个工具箱,但MATLAB语言的扩展开发还远远没有结束,各学科的相互促进,将使得MATLAB更加强大许多学科,在MATLAB中都有专用工具箱,现已有30多个工具箱,但MATLAB语言的扩展开发还远远没有结束,各学科的相互促进,将使得MATLAB更加强大
matlab能在各领域做什麽 • 工业研究与开发 • 数学教学,特别是线性代数 • 数值分析和科学计算方面的教学与研究 • 电子学、控制理论和物理学等工程和科学 学科方面的教学与研究 • 经济学、化学和生物学等计算问题的所有其他领域中的教学与研究
MATLAB 工作环境 在工具栏下的大窗口就是MATLAB的主窗口,在大窗口里设置右4个小窗口(这是桌面平台的默认设置): “Workspace”、 “Current Directory”、 “Command History”、 “Command Windows
如何使用帮助 • 每个软件的掌握过程就是好好看帮助文档的过程
例、用一个简单命令求解线性系统 3x1+ x2 - x3 = 3.6 x1+2x2+4x3 = 2.1 -x1+4x2+5x3 = -1.4 A=[3 1 -1;1 2 4;-1 4 5];b=[3.6;2.1;-1.4]; x=A\b x = 1.4818 -0.4606 0.3848
例、用简短命令计算并绘制在0x6范围内的sin(2x)、sinx2、sin2x。例、用简短命令计算并绘制在0x6范围内的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)
启动MATLAB • 开机执行程序 c:\matlab\bin\matlab.exe • 用鼠标双击matlab图标) 即可打开matlab命令平台
菜单项File,其功能如下 New 建立新文件 Open M-File 打开M-文件 Open selected 打开选定文件 Save Workspace As 将工作区存为 Run M-File 运行 M-文件 Look For Selected 寻找选定文件 Print 打印 Print Setup 打印设置 Exit MATLAB 退出 MATLAB
MATLAB的工作方式 • 交互式的指令行工作方式和M文件的编程工作方式。前者适用于运算过程简单,几条指令即可完成运算的情况,在这种情况下,只需在命令窗口中逐条输入命令按回车即出现运算结果,比如在命令窗口中输入如下指令,然后按回车健: • [(24+57)*39-88]/13 • 马上显示出如下答案: ans=236.2308 • 这是对于问题较简单的情况,但是当解决的问题变得庞大而复杂时,一次需要执行很多条指令,显然用交互式的指令工作方式直接逐条输入指令是不现实的,这就要用到后一种工作方式:M文件的编程工作方式。
matlab与dos兼容命令 • 1.dir—可列出指定目录下的文件和子目录清单 • 例如: • Dir 可显示当前目录下的所有文件 • Dir c:\matlab • Dir c:\matlab\*.m
2.cd—可改变当前工作目录 • cd _ _ ——显示当前子目录 • cd c:\matlab\toolbox • cd _ . . ——退出当前子目录到上一级目录 • cd _\ ——回到根目录
3.type —可显示指定文件的 • 全部内容 • type myfile.m • 与dos下的用法完全一样
4.delete —删除指定文件 • del abc —删除当前目录下的abc文件 • del c:\matlab\aaa.m • 注意:只可删除用户文件,其它文件不要轻易删除,否则系统会瘫痪
基本概念 • 变量: • 以字母开头 • 可以由字母、数字和下划线混合组成 • 区分字母大、小写 • 字符长度不超过31个
系统默认的固定变量 • i • j • pi • inf
数值 • 每一个数组元素都是双精度表示和存储的 • 16位有效数字 • 默认为short格式 • 小数点后4位有效数字
矩阵 • 是matlab进行数据处理和运算的基本元素 • 大部分运算和命令都是在矩阵的意义进行的 • 仅有一行或一列的矩阵称为向量 • 学好线性代数
函数 • 给用户提供了丰富且功能各异的函数 • 用户直接调用 • A=sin(b)
运算符 • + - * .* ^ .^ A\B a.\b A’ • 关系运算符 • 逻辑运算符 • 特殊运算符
分号的作用: • 结尾加分号:将计算结果存入内存, 但不显示在屏幕上 结尾不加分号:将计算结果存入内存, 同时显示在屏幕上
矩阵的创建 • 直接输入 • 利用matlab内部函数 • 外部数据文件(*.mat)装载
向量的生成 • a=m:n • a=m:p:n
矩阵的下标 • A(i,j) 从1开始
矩阵运算和数组运算 • 加 • 减 • 矩阵乘 • 数组乘 • 矩阵除 • 数组除
Matlab常用矩阵运算函数 • Size • Rand • Length • Pord • sum
关系运算和逻辑运算 • > < == >= <= ~= • & | ~
Matlab符号运算功能 • sym
MATLAB的符号运算功能 • 在数学运算中除了数值计算以外,在数学、物理、应用工程和科学方面的抽象运算,即计算式中带有x,y等符号变量、表达式的运算,也占有相当大的比例。1993年,MathWorks公司购得了主要针对符号运算的MAPLE使用权,并不断扩展符号运算功能,在MAPLE的基础上开发了在MATLAB环境下实现符号计算的工具包Symbolic Math Toolbox,使其具有了强大的符号运算功能
需要注意的是,在符号运算的整个过程中,所有的运算均是以符号进行的,即使以数字形式出现的量也是字符量。举一个简单的例子,在命令窗口中输入如下符号表达式按回车:需要注意的是,在符号运算的整个过程中,所有的运算均是以符号进行的,即使以数字形式出现的量也是字符量。举一个简单的例子,在命令窗口中输入如下符号表达式按回车: • f='sin(x/2)'; • dfdx=diff(f) • 显示如下结果: dfdx = 1/2*cos(1/2*x) • 上式是对sin(x/2)求导的过程,一切都是由符号变量和符号表达式完成,没有涉及到具体的数值运算,其中1/2也被当作是字符量
使用符号变量前先要进行定义,定义语句是:sym 或syms 变量名列表。前者定义一个单一的符号变量,后者可以一次定义多个符号变量。如下例: • sym a 定义a为符号变量 • syms a b c 定义a,b,c均为符号变量 • 符号表达式是由符号变量组成的一个表达式,符号方程是将一个符号表达式通过等号给一个符号变量。凡是用到sym命令的时候,表达式和方程式对空格都是敏感的,因此不要随意添加空格符到式中
符号表达式的创建 • 用sym命令直接创建符号表达式,这种创建方式不需要在前面有任何说明,使用快捷方便。例如: • f=sym(‘a+b+c’) • 在命令窗口中输入上述语句按回车键,出现以下结果:f= a+b+c。说明已成功将符号表达式a+b+c赋给变量f。
.按照普通书写方式创建符号表达式。它需要在具体创建一个符号表达式之前,将这个表达式所包含的全部符号变量创建完毕。例如:.按照普通书写方式创建符号表达式。它需要在具体创建一个符号表达式之前,将这个表达式所包含的全部符号变量创建完毕。例如: • syms a b c • f=a+b+c • 在命令窗口中输入上述语句后,也出现和上面相同的结果。创建符号表达式成功
matlab 绘图 • ——matlab语言丰富的图形表现方法,使得数学计算结果可以方便地、多样性地实现了可视化,这是其它语言所不能比拟的。