第1讲 MATLAB入门(2015)
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
a./c= [a1/c,a2/c,…,an/c](右除)
a.\c= [c/a1,c/a2,…,c/an] (左除) a.^c= [a1^c,a2^c,…,an^c] c.^a= [c^a1,c^a2,…,c^an]
(2)数组-数组运算 当两个数组有相同维数时,加、减、乘、除、 幂运算可按元素对元素方式进行的,不同大小或维 数的数组是不能进行运算的.
注:中括号括起的表明是矩阵,一般的表达多用小括号。
特殊矩阵的建立:
a=[ ] 产生一个空矩阵,空矩阵的大小为零. 产生一个m行、n列的零矩阵 产生一个m行、n列的元素 全为1的矩阵 d=eye(m,n) 产生一个m行、n列的单位矩阵
b=zeros(m,n) c=ones(m,n)
i, j
1
i j 1
设:a=[a1,a2,…,an], b=[b1,b2,…,bn] 则:a+b= [a1+b1,a2+b2,…,an+bn]
a.*b= [a1*b1,a2*b2,…,an*bn]
a./b= [a1/b1,a2/b2,…,an/bn] a.\b=[b1/a1,b2/a2,…,bn/an] a.^b=[a1^b1,a2^b2,…,an^bn]
依次提取矩阵A的每一列,将A拉伸为一个列向量 把A看作列向量A(:),提取其中第i个元素。 提取A中第r行和第c列所定义的A的元素 提取A中第r行所有列所构成的A的子数组 提取A中第c列所有行所构成的A的子数组
A(i1:i2, j1:j2) A(i2:-1:i1 , : ) A( : , j2:-1:j1 ) A(i1:i2,:)=[ ] A(:, j1:j2)=[ ]
预备实验 MATLAB入门
实验内容:1、 熟悉Matlab 软件环境, 对向量、数 组和矩阵处理的基本方法 2、 使用Matlab作图 3、 简单编程和 M 文件的使用 实验目的:了解什么是MATLAB以及什么如何使用 MATLAB
导
言
MATLAB名称由Matrix和
Laboratory两词的前三个字母 组合而成,顾名思义,其主要 功能是矩阵运算,其首创者是 Cleve Moler教授。
2、 数组元素的访问
(1)访问一个元素: x(i)表示访问数组x的第i个元素.
(2)访问一块元素: x(a :b :c)表示访问数组x的从第 a 个元素开始,以步长为b到第c个元素(但不超过c), b可以为负数,b缺损时为1.
(3)直接使用元素编址序号: x([a b c d]) 表示提 取数组x的第a、b、c、d个元素构成一个新的数组 [x(a) x(b) x(c) x(d)].
3.141592653589793e+000 3.1416
format long g format rat
长格式g方式 分数形式
3.1415926535897 9 355/113
2、数学运算符号及标点符号
+ — * .* / ./ ^ .^ \ 加法运算,适用于两个数或两个同阶矩阵相加. 减法运算 乘法运算 点乘运算 除法运算 点除运算 乘幂运算 点乘幂运算 反斜杠表示左除.
(1939- )
1980年前后,当时的新墨西哥大学计算机系
主任 Moler 教授在讲授线性代数课程时,发现了 用其他高级语言编程极为不便,便构思并开发了 MATLAB。
早期的MATLAB是用Fortran语言编写的,只
能作矩阵运算,绘图也只能用极其原始的方法, 内部函数也只提供了几十个。 1984年,Cleve Moler和Jack Little等人成立了 MathWorks公司,正式将MATLAB推向市场。
特殊矩阵的建立:
rand(m,n) randn(m,n) H=hilb(n) magic(n) 生成m×n均匀分布的随机阵 生成m×n正态分布的随机矩阵 生成n阶Hilbert矩阵 产生维数维n×n的魔方阵
素及 ( 和两 各 相对 个 等角 行 )线 、 的列 元
2、矩阵中元素的操作
A(:)
A(i) A(r, c) A(r, :) A(:, c)
变量的存储和读取
存储当前工作空间中的变量:
save: 将所有变量保存到文件 matlab.mat(默认) save data 或 save data.mat
将所有变量保存到文件 data.mat
存储指定的变量:
save 文件名 变量名列表
例:>> save data A x z
将data.mat文件中的变量载入当前工作空间:
3、数组的方向
前面例子中的数组都是一行数列,是行方向分布的. 称之为行向量. 数组也可以是列向量,它的数组操作和运
算与行向量是一样的,唯一的区别是结果以列形式显示.
产生列向量有两种方法:
直接产生
转置产生
例
例
c=[1;2;3;4]
b=[1 2 3 4]; c=b’
说明:以空格或逗号分隔的元素指定的是不同列的 元素,而以分号分隔的元素指定了不同行的元素.
在欧美的高等院校,Matlab 是线性代数、数值分 析、数理统计、自动控制、数字信号处理、动态系 统仿真、图像处理等课程的基本教学工具,已成为 大学生必须掌握的基本技能之一。
矩阵是MATLAB的核心
MATLAB的进wk.baidu.com与运行方式(两种)
1、启动MATLAB后,就进入MATLAB命令窗口 (Command Windows)或工作区(Workspace), 命令窗口是用户与MATLAB进行交互的主要场所。命令 窗口的空白区域,用于输入和显示计算结果。(演示) 2、在编辑窗口运行程序,不过运行的结果仍出现 在命令窗口 。(演示)
load data : 读取data文件中的所有变量
load data A x:从data文件中提取指定变量A和x
Matlab采用mat文件把工作空间的变量存储在磁盘 里,在mat文件中不仅保存各变量数据本身,而且 同时保存变量名以及数据类型等。 所以在Matlab中载入某个mat文件后,可以在当前 Matlab工作空间完全再现当初保存该mat 文件时 的那些变量。
(1)MATLAB的每条命令后,若为逗号或无标点符号, 则显示命令的结果;若命令后为分号,则禁止显示结果. (2) “=”是赋值符,“%” 后面所有文字为注释,不运行。 (3) “...”表示续行,如输入很长的行向量时需用到。(演示
3、数学函数
函 数 名 称 函 数 名 称 sin(x) cos(x) tan(x) abs(x) min(x) sqrt(x) log(x) sort(x) 正弦函数 余弦函数 正切函数 绝对值 最小值 开平方 自然对数 排序 四舍五入取整 有理逼近 asin(x) acos(x) atan(x) max(x) sum(x) exp(x) log10(x) fix(x) floor(x) 反正弦函数 反余弦函数 反正切函数 最大值 元素的总和 以 e 为底的指数 以 10 为底的对数 向 0 方向取整 向负无穷大取整 向正无穷大取整
返回
二、 矩
阵(p 2)
1、矩阵的建立
逗号或空格用于分隔某一行的元素,分号用于区分不
同的行. 除了分号,在输入矩阵时,按Enter键也表示开始
一新行. 输入矩阵时,严格要求所有行有相同的列.
例 m=[1 2 3 4 ;5 6 7 8;9 10 11 12] p=[1 2 3 4 5678 9 10 11 12]
从此MATLAB的内核采用C语言编写,除了原有 的数值计算能力外,还增加了丰富多彩的图形图像 处理、多媒体功能、符号运算和与其他流行软件的 接口功能,使得 MATLAB 的功能越来越强大。
目前,Matlab已经成为国际上最流行的科学与工 程计算的软件工具,它不仅是一个“矩阵实验室” 和一张“手写式计算纸”,而且已经成为了一种具 有广泛应用前景的全新的计算机高级编程语言,有 人称它为“第四代”计算机语言,它在国内外高校 和研究部门正扮演着重要的角色。
4、数组的运算
数组的运算符为加(+)、减(-)、点乘(.*)、点除(./)、和点 乘方运算 (.^)
(1)标量-数组运算 数组对标量的加、减、乘、除、乘方是数组的每个 元素对该标量施加相应的加、减、乘、除、乘方运算.
设:a=[a1,a2,…,an], c=标量 则:a+c=[a1+c,a2+c,…,an+c] a.*c=[a1*c,a2*c,…,an*c]
当前工 作目录 命令 提示符 输入命令的 历史历史记 录 当前 工作区
命令窗口
编辑窗口 Editor
MATLAB
入门
一、变 量 与 函 数 二、 矩 三、数 阵 组
四、 MATLAB作图 五、 MATLAB编程 六、微积分
一、变 量 与 函 数
1、变量
MATLAB中变量的命名规则是:
(1)变量名必须是不含空格的单个词;
round(x) rats(x)
ceil(x)
返回
a
三、数
组
1、创建简单的数组 x=[a b c d e ] 创建包含指定元素的数组
x=a:b 创建从a开始,加1计数,到b结束的等差数组
x=a:k:b 创建从a开始,加k计数,b结束的等差数组
注:k=1时可以省略不写,如第二种创建方式
x=linspace(a,b,n) 创建从a开始,到b结束,有n个元素的等差数组 x=logspace(a,b,n) 创建从 10a 开始,到10b 结束,有n个元素的等比数组
(2)变量名区分大小写;
(3)变量名最多不超过63个字符;
(4)变量名必须以字母打头,之后可以是
任意字母、数字或下划线,变量名中
不允许使用标点符号.
特殊变量表
特殊变量 ans eps pi inf NaN i,j realmin realmax 取 值 用于结果的缺省变量名 计算机的最小数,当和 1 相加就产生一个比 1 大的 数 圆周率 无穷大,如 1/0 不定量,如 0/0 或 inf/inf i=j= 1 最小可用正实数 最大可用正实数
变量的显示
Matlab以双精度执行所有的运算,运算结果可以 在命令窗口输出,同时赋给指定变量;若无指定变 量,则系统会自动将结果赋给变量 ans。 Matlab 中数的输出格式可以通过 format 命令来 指定。 注:format 只指定变量的输出格式,而不改变 变量的值!
各种 format
提取矩阵A的第i1至i2行、第j1至j2列构成新矩阵 以逆序提取矩阵A的第i1至i2行,构成新矩阵 以逆序提取矩阵A的第j1至j2列,构成新矩阵 删除A的第i1至i2行,构成新矩阵 删除A的第j1至j2列,构成新矩阵
变量的特点
不要求事先声明。 不需要指定变量类型:根据所赋的值或对 变量所进行的操作来确定变量的类型。 变量的类型可随时改变:在赋值时,若变 量已经存在,则用新值代替旧值,并以新 数据的类型作为变量类型。
变量的查看和清除
查看已定义的变量:who、whos who: 显示工作空间中的所有变量 whos:显示变量的详细属性 清除变量:clear clear: 清除工作区的所有变量 clear 变量名: 清除指定的变量
5、 矩阵运算符与数组运算符的异同
数组的加、减与矩阵的加、减运算完全相同。而乘 除法运算符有相当大的区别,数组的乘除法是指两同维数 组对应元素之间的乘除法,它们的运算符为“.*”和“./” 或“.\”。前面讲过常数与矩阵的除法运算中常数只能做 除数。在数组运算中有了“对应关系”的规定,数组与常 数之间的除法运算没有任何限制。 另外,数组运算中还有幂运算(运算符 .^ )、指数 运算(exp)、对数运算(log)、和开方运算(sqrt) 等。有了“对应元素”的规定,数组的运算实质上就是针 对数组内部的每个元素进行的。 例如 >> a=[2 1 -3 -1; 3 1 0 7; -1 2 4 -2; 1 0 -1 5]; >> a^3, a .^3
格式
format format short format long
解释
短格式(缺省显示格式),同short 短格式(缺省显示格式),只显示5位 长格式,双精度数15位,单精度数7位 3.1416 3.1416
例
3.14159265358979 3.1416e+000
format short e 短格式e方式(科学计数格式) format long e format short g 长格式e方式 短格式g方式