- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
3
ቤተ መጻሕፍቲ ባይዱ
②命令查询系统 在命令窗口通过帮助命令对特定的内容查 询。 a. Help: help+函数名 b. lookfor:lookfor+关键词 c. 其他帮助命令: exist,变量或函数检验:exist +变量名 (函数名) who,用于当前内存变量列表 whos,显示当前内存变量详细信息 which,确定函数路径:which+ 函数名
9
2.1 矩阵 1. 矩阵的创建 遵循的基本规则: 整个输入矩阶必须包含在方括号[ ]中; 行与行之间必须用分号(;)或Enter键符 分隔; 每行中的元素用逗号(,)或空格分隔; 矩阵中的元素可以为数字或表达式,但表 达式中不可包含未知的变量。 矩阵元素可以是复数:用书写复数的方法 或 “一个实部矩阵+一个虚部矩阵”的 方法。 当矩阵中没有任何元素时,矩阵为“空 阵”(Empty Matrix)。 10
[例2—3] 直接读入外部数据文件生成一个矩 阵 链接 load example2_3.txt 提示:需要调入的文件必须在MATLAB搜索路 径范围内,否则找不到文件。 另外: 可使用File-Import Data 从外部数 据文件中直接读取数据。链接 选中文件,单击[打开]按钮,然后打开 “Import Wizard”窗口。单击“FINISH” 按钮,即可输入打开的数据文件中数据。 链接 15
2. 矩阵的保存和调入 save命令保存已经存在的矩阵。 save filename A B MATLAB用.mat文件保存二进制的数据, 系统将会自动在文件名filename后加上后 缀.mat。 load命令将保存在文件中的矩阵读到 MATLAB工作空间的内存里。 load filename
4
what,用于当前路径MATLAB文件列表 dir,用于当前路径所有文件及文件夹列表
1.5 其它
(1)变量 MATLAB对使用变量名称的规定: 变量名称区别英文大小写; 变量的长度上限为 63个字符(7.0版本)。 变量名的第一个字必须是英文字母,随后可 以掺杂英文字、数字或是底线。
5
几个持殊变量: ans 默认的计算结果的变数名 eps MATLAB定义的正的极小值 2.2204e-16 i j 1 pi 内建π值 i, j inf 无穷大,如1/0 NaN 不定量,如0/0 Nargin 函数的输入变量数目 Nargout 函数的输出变量数目 clear 删除工作空间中的变量
(1)直接输入法 [例2-1] 用直接输入法创建一个4×4的A 矩阵。 A=[2, 3 4 5; 3, 4 5, 6; 4, 5 6 7 7, 8, 9 10]
(2)由函数创建矩阵 zeros:生成全部元素为0的零距阵 (Zeros Array) ones:生成全部元素为1的距阵 eye:生成单位距阵 rand:生成均匀分布的随机矩阵,矩阵元素 在0-1间 diag:生成一个对角阵或由对角线元素组成 11 的向量
8
c. 用简短命令计算并绘制在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)
1 0.8 0.6 0.4 0.2 0 -0.2 -0.4 -0.6 -0.8 -1 0 1 2 3 4 5 6
使用形式: ① A=zeros(n) 生成n×n零矩阵。 A=zeros(m,n)或者A=zeros([m,n]) 生成m×n的零矩阵。 A=zeros(m,n,p,…)或者A=zeros([m n p …]) 生成 m×n×p×…的零矩阵。 B=zeros(size(A)) 生成和矩阵A大小相等的全零矩阵。
④变量会在MATLAB关闭前一直存在,除非用命令删除。 ⑤可以随时查看工作空间中的变量。 ⑥一个程序的运行结果以变量的形式保存在工作空间中,工 作空间的所有变量可以保存到一个文件中,以备后用。 save(load) 文件名 变量
(2) 命令窗口 链接 用户和MATLAB交互的工具。 (3) 命令历史记录窗口 链接 记录每次开始MATLAB的时间及命令窗口运行过的所有指 令。 (4)当前路径窗口(路径浏览器)链接 窗口包括:工具栏、当前目录设置区及所设置目录下的 文件详细列表等。
6
(2) 注释和标点 % 百分号后的所有文字为注释 , 逗号告诉MATLAB显示结果 ; 分号禁止显示 多条命令可以被逗号或分号隔开放在同一行。 (3) 算术运算及规则 加 (+)、减 (-)、乘 (*)、除 (/)、 幂次方 (^) (4) 复数 表达式运算优先规则:同代数中运算。 对复数不需作特殊处理 7
注意:在MATLAB中,不需要事先定义矩阵的维数,MATLAB自 动为矩阵分配存储空间。但如果程序运行过程中采用零 矩阵为矩阵生成的全部元素或某一行(列)的元素预先分 配内存空间,会大大加快程序运算速度。(zeros) (3)从外部调入数据文件生成矩阵 可以是MATLAB矩阵存储的二进制文件(.mat);也可 以是数值文本文件,但其中的数据在调入前要先排成矩 阵形式;或Excel数据: load filename.dat(filename.txt) %将数据文件filename的数据内容调入工作空间 xlsread('c:\matlab\work\myspreadsheet','sheet2', 'a2:j5') 14
利用logspace生成向量: x=logspace(a,b,n)
在a、b之间生成有n个元素的行向量x, 其元素起点x(1)= ,终点x(n)= , 17 为等比向量。若不写n,生成有50个元素 的行向量x。
10a
10b
[例2—4] 利用冒号生成向量。链接 a=1:6 b=2:2:10 c=8:-1:2 d=8:1:4 [例2—5] 利用linspace、logspace 函数生 0 2 10 10 成向量。 a=linspace(1.5,6.0, 5) %元素值在1.5 和6.0之间的5个数 b=logspace(0,2, 4) %元素值在 和 之间的4个数链接 18
④改变矩阵的维数 ⑤确认所有元素符合要求后,关闭对话框, 创建了一个新矩阵。 ⑥在工作窗口中重新键入矩阵名,原矩阵已 改。 当给矩阵赋一个新元素值时,MATLAB会自 动增加矩阵的 维数大小。链接 23
(3)删除矩阵的行和列 双下标可赋值,不能删除矩阵的某个元索,但可以删除矩 阵的列或行。 例如: A=[1 2 3;4 5 6], %矩阵A不为标量, A(1,2)=[ ] %给出错误信息, A(:,2)=[ ] %删除矩阵A的第二列。 单下标可赋值,也可删除矩阵的某个或某些元素,并将剩 下的元素按列编成一个长行向量。 例如: A=[1 2 3;4 5 6], A(3)=[ ], A(1:2:5)=[ ] %删除下标为l、3、5的三个元素 链接 24
(4)特殊矩阵-向量的生成 ①直接输入 ②自动创建 利用冒号生成向量:
x=i:j:k
若j>0, 且i<k或j<0且i>k, 则生成向量 x=[i,i+j,i+2j,...,k]; 若j>0, 且i>k或j<0且i<k, 则生成向量 x为空向量。 若步长j 为1,可省略不写。 16
利用linspace生成向量: x=linspace(a,b,n) 在a、b之间线性生成有n个元 素的行向量x,为等差向量。若不写n,则 生成有100个元素的行向量。
19
3. 矩阵的标识、修改及删除 (1)标识 单下标:A(i);双下标: A(i,j) 单个元素: MATLAB运算对列操作,矩阵可认为是 按列优先排列的一个长的列向量。 例:矩阵4*4的矩阵A, A=[1 2 3 4;5 6 7 8;9 10 11 12;13 14 15 16] A(1)、A(5) 、A(13)、 A(2,2) 。 (需注意特殊矩阵)
2
(5) 程序编辑器 菜单栏的File选项中的New或Open选项; 工具栏的New或Open按钮; 命令窗口键入edit命令; MATLAB界面的Start菜单里;链接 操作系统的开始菜单里。链接 (6) MATLAB的帮助系统 ① 联机帮助系统 链接 MATLAB主窗口中单击工具条中的问号按钮; 在命令窗口中输入helpwin、helpdesk或doc; 选择Help下拉菜单中的帮助选项。
1.4. MATLAB环境
MATLAB既是一种算法语言,又是一个 编程环境,更是一个开发系统。
(1)工作空间(窗口)(变量浏览器)链接 工作空间:指运行MATLAB的所有变量和 常量构 成的空间,是一个抽象的概念。 ①每打开一次,MATLAB自动建立一个工作 空间。 ②MATLAB运行期间一直存在,关闭后自动 消失。 1 ③刚打开的工作空间里只有几个常量。变 量在运行程序时加到空间中。
③ A=eye (n) 生成n×n单位矩阵。 A=eye (m,n)或者A=eye ([m,n]) 生成m×n的单位矩 12 阵。 B=eye (size(A)) 生成和矩阵A大小相等的单位矩阵。
④A=rand (n) 生成n×n随机矩阵。 A=rand (m,n)或者A=rand ([m,n]) 生成m×n的随机矩 阵。 A=rand (m,n,p,…)或者A=rand ([m n p …]) 生成 m×n×p×…的随机矩阵。 B=rand (size(A)) 生成和矩阵A大小相等的随机矩阵。 A=rand 不带任何参数将产生一个随机数。 ⑤A=diag(V) 当V为向量时,产生一个以向量V的元素为对 角线的矩阵(数组);当V为矩阵时,产生 一个以V矩阵的 主对角线元素为元素的向量(数组) 。 [例2—2] 利用diag产生对角阵及对角线向量。链接 A=rand(4,4), %创建—个4阶随机矩阵 B=diag(A) 13 C=diag(B)
(5)不同精确度的数字格式显示: File-Preference-Command windows -Numerical Format,或直接在命令窗口 键入指令,例如: format short, 3.1416 预设的 4 位有效小数位数 format long, 3.14159265358979 15 位有效小 数位数 format short e, 3.1416e+000 4 位有效小数位数指数格式 format short g, 3.141592653589793e+00 15位有效小数位数指数格式