第一章 matlab概论
matlab俗称“矩阵实验室”,是matrix laboratory的缩写。2023年由美国mathworks公司研制开发,以矩阵计算为基础的交互式的功能强大的科学及工程计算软件。首创者是在数值线性代数领域颇有影响的cleve moler博士。
他也是生产经营matlab产品的mathworks公司的创始人之一。 matlab将高性能的数值计算和可视化集成在一块,并提供了大量的内置函数,从而使其广泛应用于数学计算和分析、自动控制、系统**、数字信号处理、图形图像分析、数理统计、人工智能、虚拟现实技术、通讯工程、金融系统等领域。
时至今日,经过mathworks公司的不断完善,matlab已经发展成为适合多学科、多种工作平台的功能强大的大型软件。在国外,matlab已经经受了多年考验。在欧美等高校,matlab已经成为线性代数,自动控制理论,数理统计,数字信号处理,时间序列分析,动态系统**等高级课程的基本教学工具;成为攻读学位的大学生,硕士生,博士生必须掌握的基本技能。
在设计研究单位和工业部门,matlab被广泛用于科学研究和解决各种具体问题。在国内,特别是工程界,matlab一定会盛行起来。可以说,无论你从事工程方面的哪个学科,都能在matlab里找到合适的功能。
因此,matlab是面向21世纪的计算机程序设计及科学计算语言。
图1 matlab6.5 的默认桌面。
启动matlab后,进入matlab的默认桌面(如图1)。第一行为菜单栏,第二行为工具栏,下面是三个最常用的窗口。右边最大的是命令窗口(command window),左上方前台为工作空间窗口(workspace),后台为当前目录窗口(current dircstory),左下方为命令历史窗口(command history)。
左下角还有一个开始(start)按钮,用于快速启动各类交互界面、桌面工具和帮助等。
一、 命令窗口(command window)
是进行matlab操作最主要的窗口,用于输入运算命令和数据、运行matlab函数和脚本并显示结果。
调出命令窗口:view菜单->command window
>>”为输入函数的提示符(prompt) ,在提示符后面输入数据或运行函数;
类似的符号“%”其后面书写的是用于解释的文字,不参与运算。
在语句末尾添加分号“;”可以防止输出结果显示到屏幕上,在创建大矩阵时非常有用。
ans是answer的缩写,它是matlab默认的系统变量;
clear为清除工作空间中的变量命令;
clc为清屏命令;
命令行窗口中显示数值计算的结果有一定的格式,默认为短格式(format short),保留小数点后4位有效数字,对于大于1000的数值,使用科学计数法表示。
例1-1:输入271.82显示为271.8200,而输入2718.2则显示为2.7182e+003(如图2)
图2 数据输入的显示差异。
注:在命令窗口中不执行命令地换行,可同时按下shift+enter键。
二、命令历史窗口(command history),用于显示记录matlab启动时间和命令窗口中最近输入的所有matlab指令,可再次执行。
调出命令历史窗口:view菜单-> command history 或命令窗口中输入commandhistory命令。
三、工作空间窗口(workspace)
由一系列变量组成,可通过使用函数、运行m文件或载入已存在的工作空间来添加变量。用工作空间窗口可以显示每个变量的名称(name)、值(value)、数组大小(size)、字节大小(bytes)和类型(class)。
调出工作空间窗口:view菜单->workspace
who 列出当前工作空间中的所有变量;
whos 列出变量和它们的大小、类型;
可以将工作空间中的部分或全部变量保存到一个二进制文件(.mat)。
四、当前目录浏览器(current dircstory),用于搜索、查看、打开、查找和改变matlab路径和文件。
调出当前目录浏览器窗口:view菜单->currentdirectory或filebrower命令。
五、菜单和工具栏。
菜单和工具栏类似于word等其他常用软件,表1列出部分常用菜单和工具栏。
表1 部分常用菜单、工具栏和使用说明。
第二章数据类型。
计算机语言用不同类型的变量来描述不同类型的对象。作为一门科学计算语言,matlab既有一般高级语言所具备的基本数据类型,又提供了适合矩阵计算的特殊数据类型。
一、 表达式。
在命令窗口中作一些简单的运算,就如同使用一个功能强大的计算器,使用变量无须预先定义类型。
例2-1:>r=2;
>v=4/3*pi*r^3
v= 33.5103
几个变量可以写在一行,用分号(;)或逗号(,)分割,用分号(;)使该表达式运算结果不显示,而逗号(,)则显示结果。也可以将一个长表达式分几行写,用三点(…)续行。若需要修改已执行的命令行,可以在命令历史窗口找到该命令行复制,在粘贴到命令窗口修改。
也可直接使用按键↑↓调出已执行过的命令行修改。
二、数据显示格式。
matlab默认的数据显示格式为短格式(short):当结果为整数,就作为整数显示;当结果为实数,以小数点后4位的长度显示。若结果的有效数字超出一定范围,以科学计数法显示(如3.
2000e-006表示3.2×10-6)。数据显示格式可使用命令format改变。
>format long %长格式(long),16位。
>format short %短紧缩格式(short)
>format rational %有理格式,近似分数。
>format恢复默认的短格式。
数据显示格式也可以通过菜单命令file:preference:command:
numeric format改变。需要指出的是,显示格式的改变不会影响数据的实际值,所以不会影响计数精度。其计数精度约为16位有效数字。
三、预定义变量。
matlab提供了一些预定义变量,定义了matlab应用和编程中常常用到的数据。如计算精度、圆周率等(表2)。
表2 预定义变量和返回值。
表中的常数可以不必声明,直接应用于matlab编程,例2-2:
>a=abs(3+4i)a=
例2-3:编辑函数testarg1()
function c = testarg1(a,b) %检测函数的输入参数个数!
if (nargin ==1)
c = a.^2;
elseif (nargin ==2)
c = a + b;
end设置当前工作目录为函数testarg1()所在目录,在命令窗口输入c=testarg1(4),显示c=16;输入c=testarg1(4,3),显示c=7。
四、用户变量。
matlab变量名的第一个字符必须是字母,后面可以跟字母、数字和下划线的任何组合,但不能含中文。变量名区分大小写。
创建变量时不必声明变量的数据类型,直接创建。但要防止它与系统的预定义变量名、函数名、保留字(for,if,while,end等)冲突。
matlab支持的基本变量数据类型:
例2-4:x=int8(5) %将x的值设置为5,数据类型为int8型。
class(x) %用class函数显示变量的数据类型。
第三章数组与矩阵。
matlab运算的基本数据对象是矩阵,数组(这里指向量)是矩阵的特殊类型,但创建与运算又有区别。数组与矩阵属于数据结构的范畴,matlab中所有的数据都是用数组或矩阵形式进行保存。
1 数组。一、数组的构造。
1 ) 直接法:用空格或逗号间隔数组元素,然后用中括号括([ 起来。
例5: x=[0 2 4 6] 或 x=[0 ,2,4 ,6]
句尾用回车(显示)或分号加回车(不显示)结束。
2 )增量法(冒号法):利用matlab提供的冒号运算符“:”可生成1×n 的矩阵。
格式:x=first:step:last %初值:增量:终值。
例3-1:x=10:15
x=1:6.3
x=10:5:30
x=9:-1:1 (不能表示为x=9:1 )
默认时,创建增量为1的序列。
3)linspace函数法
格式:x=linspace(first:last:num) %初值:终值:元素个数。
需指定首尾值和元素个数,步长h=(last-first)/(num-1)
例3-2:x=linspace(0:10:5)
二、数组的运算
表3 数组运算符。
matlab
实验。四 调幅信号通过带通滤波器。一 实验目的。1 掌握如何使用matlab进行系统的时域和频域分析2 掌握如何使用matlab进行系统的稳定性分析。二 实验内容和要求1 实验内容。1 练习matlab7.0或以上版本。2 练习掌握matlab进行系统的时频域分析和稳定性分析2 实验要求 每位学生独...
matlab
第1章矩阵及其基本运算。matlab,即 矩阵实验室 它是以矩阵为基本运算单元。因此,本书从最基本的运算单元出发,介绍matlab的命令及其用法。1 实数值矩阵输入。matlab的强大功能之一体现在能直接处理向量或矩阵。当然首要任务是输入待处理的向量或矩阵。不管是任何矩阵 向量 我们可以直接按行方式...
matlab
matlab程序设计 数学软件i 授课人 艾斯卡尔。课时 周学时 2 2,共18周。授课班级 2008级应数班。授课地点 数学学院2 课程类型 本课程是新大重点课程。电子教案说明 电子教案以word为工作界面,采用notebook技术与matlab相连接,集教学与演示为一体 同时采用vba技术与外部...