Matlab初步(讲稿 上课方式:学生边听讲、边用机器练习。 调用Maab软件:在 windows平台上,双击“ Matlab”图标 说明:执行此命令,将进入“ Matlab工作区(命令区)”,在这里可以下达、执行 符合 Matlab语法的各种命令 矩阵;数组 矩阵 2 例:输入一个矩阵031,并用A代表此矩阵 -596 01 再输入一个矩阵 并用a代表此矩阵 121 命令为:A=[2,-18,0,3159,6]a=[0.,1-1,2,1] 说明:(1)输入上述命令后,敲回车键,机器才执行此命令 (2)你发现机器屏幕没反应,其实它早已接受并执行了你的命令,不信?请下 命令A就有反应了。再下命令a (3)清屏(把屏幕上的 Matlab工作区清理的干干净净) 屏幕空了,但你的那两个矩阵A、a还在机器中 (4)注意要点:中括号逗号分号字母大小写 注意:(1)A(ij)表示矩阵A的第i行、第j列交叉处的元素 练习:A A(3,1) (1,2) A(2,3) y=A(3,1)*a(2,2 (2)可修改个别元素 练习:a(2,2)=8 (3)可把矩阵的型号(即:行个数、列个数)放大 练习:A(2,4)=9 A a(3,5)=99 (4)一些特殊矩阵 m行n列的全0矩阵: zeros(m,n) 全1矩阵:onem,n) m行n列的单位矩阵:eye(m,n) 随机矩阵:rand(m,n) (随机矩阵的每个元素都是:开区间(0.1)内的均匀分布随机数) 练习: zeros(2,3)eros1,5) ones(4, 4) ones(2, 4) eye(3,3) eye(4,2) rand(3, 4) rand(1, 10) 请产生20个在区间(0,8)内的随机数 请产生20个在区间(3,8)内的随机数 对矩阵作裁剪、拼接
Matlab 初步(讲稿) 上课方式:学生边听讲、边用机器练习。 调用 Matlab 软件:在 windows 平台上,双击“Matlab”图标。 说明:执行此命令,将进入“Matlab 工作区(命令区)”,在这里可以下达、执行 符合 Matlab 语法的各种命令。 一.矩阵;数组 1.矩阵 例:输入一个矩阵 − − 59 6 0 31 2 18 ,并用 A 代表此矩阵; 再输入一个矩阵 − − 1 2 1 0 1 1 ,并用 a 代表此矩阵. 命令为:A=[2,-18;0,31;-59,6]; a=[0,1,-1;-1,2,1]; 说明:(1)输入上述命令后,敲回车键,机器才执行此命令 (2) 你发现机器屏幕没反应,其实它早已接受并执行了你的命令,不信? 请下 命令 A 就有反应了。 再下命令 a (3)清屏(把屏幕上的 Matlab 工作区清理的干干净净) 屏幕空了,但你的那两个矩阵 A、a 还在机器中。 (4)注意要点:中括号 逗号 分号 字母大小写。 注意:(1) A(i,j) 表示矩阵 A 的第 i 行、第 j 列交叉处的元素 练习: A A(3,1) A(1,2) A(2,3) a a(2,3) y=A(3,1)*a(2,2) (2)可修改个别元素 练习: a(2,2)=8 a (3)可把矩阵的型号(即:行个数、列个数)放大 练习: A(2,4)=9 A a(3,5)=99 a (4)一些特殊矩阵 m 行 n 列的 全 0 矩阵:zeros(m,n) 全 1 矩阵:ones(m,n) m 行 n 列的 单位矩阵:eye(m, n) 随机矩阵:rand(m,n) (随机矩阵的每个元素都是:开区间(0.1)内的均匀分布随机数) 练习: zeros(2,3) zeros(1,5) ones(4,4) ones(2,4) eye(3,3) eye(3,5) eye(4,2) rand(3,4) rand(1,10) 请产生 20 个在区间(0,8)内的随机数 请产生 20 个在区间(3,8)内的随机数 2.对矩阵作裁剪、拼接
裁剪:从矩阵中提取某些行、某些列(关键符号:) 如(练习):A(2,;)是A的第2行 A(:,1)是A的第1列 A(1:2,2:4)是A的第1、2行,与第2、3、4列交叉点元素 12345678 输入W=98765432,它的第2、3行,与第3、4、5、6列交 2345678 叉点元素是什么? W的第1、3、5、7列构成的矩阵是W(:,1:2:7)(起点1,步长2,终点7) W的第1、3行,第2、5、8列构成的矩阵是W(l:2:3,2:3:8) 问:W的第1、4、7列构成的矩阵? W的第1、3行,第2、4、6列构成的矩阵? 检验:W(:,7:-2:1)看结果,猜一猜什么规则? 检验:WW(:,5)={看结果,猜一猜什么规则? 此时,W还剩7个列,请你用一个命令去掉它的第3、5列。 拼接:把若干个矩阵、数,拼凑、结合成一个矩阵 先做准备:把机器中全部的常量(包括矩阵、数)清除,命令为cear 再重新输入:A=2581,B=-1-4,a=[0-1 369 练习:左右拼接[AB][B,A][a8][8,a,7,6] 上下拼接[A;a][a;A][A:8,18,28;a 试一试:左右拼接[A,a][A,8] 上下拼接[AB A8,18] 0-3147 用这三个矩阵A、B、a,拼接出矩阵 2-5369 3.数组 1×n型矩阵(即:只有一行的矩阵),称为行向量,也称为数组。 例:用a1表示一个从0到18的全体偶数构成的数组 解:法一:格式为起点:步长:终点 命令为a1=0:2:18 法二:格式为 inspace(起点:终点:个数) 命令为al= linspace((1:18:10) (这两种格式的命令都表示等差数列) 练习:用a2表示一个从9到1的全体奇数构成的数组: 用a3表示一个从9到9的全体整数构成的数组;
裁剪:从矩阵中提取某些行、某些列 (关键符号 : ) 如(练习): A(2,:) 是 A 的第 2 行 A(:,1) 是 A 的第 1 列 A(1:2,2:4) 是 A 的第 1、2 行,与第 2、3、4 列交叉点元素 输入 = 2 3 4 5 6 7 8 9 9 8 7 6 5 4 3 2 1 2 3 4 5 6 7 8 W ,它的第 2、3 行,与第 3、4、5、6 列交 叉点元素是什么? W 的第 1、3、5、7 列构成的矩阵是 W(:,1:2:7) (起点 1,步长 2,终点 7) W 的第 1、3 行,第 2、5、8 列构成的矩阵是 W(1:2:3,2:3:8) 问:W 的第 1、4、7 列构成的矩阵? W 的第 1、3 行,第 2、4、6 列构成的矩阵? 检验: W(:,7:-2:1) 看结果,猜一猜什么规则? 检验: W W(:,5)=[] 看结果,猜一猜什么规则? 此时,W 还剩 7 个列,请你用一个命令去掉它的第 3、5 列。 拼接:把若干个矩阵、数,拼凑、结合成一个矩阵 先做准备:把机器中全部的常量(包括矩阵、数)清除,命令为 clear 再重新输入: − − − − − = = 2 5 1 4 0 3 , 3 6 9 2 5 8 1 4 7 A B , a = 1 0 −1. 练习: 左右拼接 [A,B] [B,A] [a,8] [8,a,7,6] 上下拼接 [A;a] [a;A] [A;8,18,28;a] 试一试: 左右拼接 [A,a] [A,8] 上下拼接 [A;B] [A;8,18] 题:用这三个矩阵 A、B、a,拼接出矩阵 . 18 1 0 1 28 2 5 3 6 9 1 4 2 5 8 0 3 1 4 7 − − − − − − 3.数组 1n 型矩阵(即:只有一行的矩阵),称为行向量,也称为数组。 例:用 a1 表示一个从 0 到 18 的全体偶数构成的数组。 解: 法一: 格式为 起点 : 步长 : 终点 命令为 a1=0:2:18 法二: 格式为 linspace(起点 : 终点 : 个数) 命令为 a1=linspace(1:18:10) (这两种格式的命令都表示等差数列) 练习:用 a2 表示一个从 9 到 1 的全体奇数构成的数组; 用 a3 表示一个从 9 到-9 的全体整数构成的数组;
用第二种格式、用a4表示一个从6到8的5个数构成的等差数列 把两个数组a2与a4合并成一个数组;a2,a4 用a5表示数组1,4,7,,37,38,35,32,,2,3,6,9,39 运算 矩阵运算 加减乘乘方左除右除转置 (单引号) 注:(1)+ \,/都应符合矩阵运算规则 (2)特别,数与数的运算:加 减-乘*除/ (3)数与矩阵的加减乘 练习:A2+A2AA-22÷AA*2 (4)AB读作A左除B,其本质是A1B AB读作B右除A,其本质是AB-1 主要用来解“矩阵方程”,如:AXB=C,其中A,B,C均为已知矩阵,X是 未知矩阵,则X=ACB-.命令是X=(AC/B 例:2 3,求Ⅹ=? 1-11 x1+0.1x2+0.2x3+0.3x4=5 例:解线性方程组x+x2+0.2x2+0.3x4=6 0.lx,+0.2x,+ x3+ 0.lx,+0.2x,+0.3x2+x,=8 2.数组运算 点乘 点乘方点左除 点右除 练习:a=[12,3,4]b={5,6,7,8]c=[5,6,7 bb.^2 3 b /bb \ a 通过练习,搞明白运算规则。 若两个矩阵A、B同型号,则A*BA^B合法 若两个矩阵A、B同型号,且B的元素都非零,则 A /BB.A合法 0-22 33,学习运算规 三.命令语句,函数 命令语句格式:变量=表达式
用第二种格式、用 a4 表示一个从-6 到 8 的 5 个数构成的等差数列; 把两个数组 a2 与 a4 合并成一个数组; [a2,a4] 用 a5 表示数组 1,4,7,…,37,38,35,32,…,2,3,6,9,…,39 二.运算 1.矩阵运算 加 减 乘 乘方 左除 右除 转置 + - * ^ \ / ‘ (单引号) 注:(1) + , - , * , ^ , \ , / 都应符合矩阵运算规则; (2)特别,数与数的运算: 加 + 减 - 乘 * 除 / (3)数与矩阵的 加 减 乘 练习: A 2+A 2-A A-2 2*A A*2 (4) A\B 读作 A 左除 B , 其本质是 A B −1 A/B 读作 B 右除 A , 其本质是 −1 AB 主要用来解“矩阵方程”,如:AXB=C,其中 A,B,C 均为已知矩阵,X 是 未知矩阵,则 −1 −1 X = A CB . 命令是 X=(A\C)/B . 例: = − − − − 3 2 1 3 1 4 1 1 2 0 1 1 1 2 1 0 2 1 1 X ,求 X=? 例:解线性方程组 + + + = + + + = + + + = + + + = 0.1 0.2 0.3 8 0.1 0.2 0.3 7 0.1 0.2 0.3 6 0.1 0.2 0.3 5 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 x x x x x x x x x x x x x x x x 2.数组运算 点乘 点乘方 点左除 点右除 .* .^ .\ ./ 练习: a=[1,2,3,4] b=[5,6,7,8] c=[5,6,7] a.*b b.^2 a.^3 a.^0.5 a.\b a./b b.\a a.*c 通过练习,搞明白运算规则。 若两个矩阵 A、B 同型号,则 A.*B A.^B 合法; 若两个矩阵 A、B 同型号,且 B 的元素都非零,则 A./B B.\A 合法. 练习: − − − 3 3 2 2 1 1 , 0 2 2 1 0 1 ,学习运算规则。 三.命令语句,函数 1.命令语句格式: 变量=表达式
(1)“表达式”不可缺省,“变量=”可缺省 若语句中缺省“变量=”,则机器把执行结果自动记为ans 例如:[1,0,-2]*[3;1;2],(此命令中只有表达式,缺省“变量=”),结果为ans=-1 (2)同一行可以写多个语句,语句与语句之间用逗号或分号隔开 练习:(借用前面的ab) 一整行命令为a,b,c=ab’,d=a.*b,e=a./b再敲回车键执行命令 (3)若只要求机器执行命令、而不让机器把某个语句的执行结果显示在屏幕上,则 必须在该语句之后跟分号 练习:一整行命令为a,b;c=a’,d=a.b;e=a./;再敲回车键执行命令。 (4)关于变量名:你可以任意用一个字符串来代表一个变量名,但必须满足两条: 字母打头;避开 Matlab软件的专用符号。 几个专用符号:pi是圆周率丌 eps是最小浮点数(即:机器所能够处理的最小正数) Inf 是+∞ NaN是不定值 练习:pi (3-3)/(2*0) 介绍 format long与 format 2.函数 (1)普通函数(也称标量函数,简称函数) 常见的函数: sin cos tan exp log log10 sqrt abs round floor 四舍五入取整 负向取整 正向取整 ay f(a1)…f(a1n) 设∫(x)是普通函数,A= 则f(A)= f(an1)….f(am) 练习:A=/2 46, COS(A) tan(A) exp(A) 10g(A)logl0(A)sqrt(A) a=-6.01-4492.50-0.990.992.50449601 round(a) floor(a) ceil(a) (2)向量函数(也称数组函数) 常见的向量函数: length max min sum sort pro mean median 和 排序乘积平均值 中值 定义:设a是一个行向量、或列向量,则 length(a)是指向量a所包含的数的个数: (a)是指向量a中的最大数 sum(a)是指向量a中的全部数的和 sort(a)是把向量a中的数,按照从小到排序,得到一个新的向量
(1)“表达式”不可缺省, “变量=”可缺省。 若语句中缺省“变量=”,则机器把执行结果自动记为 ans . 例如:[1,0,-2]*[3;1;2] , (此命令中只有表达式,缺省“变量=”),结果为 ans = -1 . (2)同一行可以写多个语句,语句与语句之间用逗号或分号隔开。 练习:(借用前面的 a,b) 一整行命令为 a,b,c=a*b’,d=a.*b,e=a./b 再敲回车键执行命令。 (3)若只要求机器执行命令、而不让机器把某个语句的执行结果显示在屏幕上,则 必须在该语句之后跟分号。 练习:一整行命令为 a,b;c=a*b’,d=a.*b;e=a./b; 再敲回车键执行命令。 (4)关于变量名:你可以任意用一个字符串来代表一个变量名,但必须满足两条: 字母打头;避开 Matlab 软件的专用符号。 几个专用符号: pi 是圆周率 eps 是最小浮点数(即:机器所能够处理的最小正数) Inf 是 + NaN 是不定值 练习: pi eps 2/0 (3-3)/(2*0) 介绍 format long 与 format 2.函数 (1)普通函数(也称标量函数,简称函数) 常见的函数: sin cos tan exp log log10 sqrt abs round floor ceil 四舍五入取整 负向取整 正向取整 设 f (x) 是普通函数, = m mn n a a a a A 1 11 1 ,则 . ( ) ( ) ( ) ( ) ( ) 1 11 1 = m mn n f a f a f a f a f A 练习: = 4 6 1 2 A ,cos(A) tan(A) exp(A) 1og(A) log10(A) sqrt(A) a=[-6.01 -4.49 -2.50 -0.99 0.99 2.50 4.49 6.01] round(a) floor(a) ceil(a) (2)向量函数(也称数组函数) 常见的向量函数: length max min sum sort prod mean median 长度(维数) 和 排序 乘积 平均值 中值 定义:设 a 是一个行向量、或列向量,则 length(a) 是指 向量 a 所包含的数的个数; max(a) 是指 向量 a 中的最大数; sum(a) 是指 向量 a 中的全部数的和; sort(a) 是把向量 a 中的数,按照从小到排序,得到一个新的向量;
prod(a)是指向量a中的全部数的积; mean(a)是指向量a中的全部数的平均值; median(a)若 length(a)奇,则是指向量sor(a)中位于中间的那个数; 若 length(a)偶,则是指向量 sort(a)中位于中间的那两个数的平均值 例:a=[4,3,-10,6],b 0 则sr(a)-1346,sorb median(a) =3, median(b)=0.5, mean(a=2.4, mean(b)=2.25 继续定义:设A是一个真正的矩阵(行数、列数都不小于2),则 length(A)是A的行数、列数两者中的最大者 sort(A)是把A的每个列各自排序,得到一个新的矩阵; 其余的6个向量函数,作用于A是首先分别作用于每个列得到一个个数, 然后再把这些数写成一行,得到一个行向量。 定义完毕 621 543 例:A length(A) max(A)=6,8,5,5] min(A)=[0-5-4,1 m(A123415](A|20 32 2345 mean(A=2.4,060.8,3] ledian(A)=[2,0,1,3] 习题:用机器产生一个6×4型矩阵G,它的元素是“0至99范围内的均匀分布随机自 然数”,G的第3行记为g1,G的第4列记为g2,用机器计算G,g1,g2的所有八种 向量函数值。 (3)矩阵函数 第一类矩阵函数:(用来产生特殊矩阵) 如: zeros ones eye rand randn(标准正态分布:N(0.1)等等。 第二类矩阵函数:(用来计算矩阵的行列式、逆、秩、特征值等等) nk eig poly等等 行列式逆秩特征值特征多项式
prod(a) 是指 向量 a 中的全部数的积; mean(a) 是指 向量 a 中的全部数的平均值; median(a) 若 length(a)奇,则是指 向量 sort(a)中位于中间的那个数; 若 length(a)偶,则是指 向量 sort(a)中位于中间的那两个数的平均值。 例: − = − = 9 1 0 1 a [4,3, 1,0,6], b , 则 sort(a)=[-1,0,3,4,6], sort(b)= − 9 1 0 1 , median(a)=3, median(b)=0.5, mean(a)=2.4, mean(b)=2.25 继续定义:设 A 是一个真正的矩阵(行数、列数都不小于 2),则 length(A) 是 A 的行数、列数两者中的最大者; sort(A) 是 把 A 的每个列各自排序,得到一个新的矩阵; 其余的 6 个向量函数,作用于 A 是 首先分别作用于每个列得到一个个数, 然后再把这些数写成一行,得到一个行向量。 定义完毕。 例: − − = − 0 8 5 1 2 5 4 2 1 2 1 3 6 2 1 4 3 0 1 5 A ,则 length(A)=5 max(A)=[6,8,5,5] min(A)=[0,-5,-4,1] sum(A)=[12,3,4,15] sort(A)= − − − 6 8 5 5 3 2 1 4 2 0 1 3 1 2 1 2 0 5 4 1 mean(A)=[2.4,0.6,0.8,3] median(A)=[2,0,1,3] 习题:用机器产生一个 6 4 型矩阵 G,它的元素是“0 至 99 范围内的均匀分布随机自 然数”,G 的第 3 行记为 g1,G 的第 4 列记为 g2,用机器计算 G , g1 , g2 的所有八种 向量函数值。 (3)矩阵函数 第一类矩阵函数:(用来产生特殊矩阵) 如:zeros ones eye rand randn(标准正态分布:N(0.1))等等。 第二类矩阵函数:(用来计算矩阵的 行列式、逆、秩、特征值 等等) 如: det inv rank eig poly 等等。 行列式 逆 秩 特征值 特征多项式