华东师范大学数学科学学院 目录页 School of Mathematical Sciences,ECNU Contents 矩阵操作 几个小技巧 口查看帮助:help,doc 口命令记忆功能:上下箭头键(可以先输入命令的前几个字符,缩小搜索范围) 口命令补全功能:Tab键 ▣ 用EsC键删除命令行 口其他命令home,clc,clear http://math.ecnu.edu.cn/~jypan
http://math.ecnu.edu.cn/~jypan 目录页 Contents 华东师范大学 数学科学学院 School of Mathematical Sciences, ECNU http://math.ecnu.edu.cn/~jypan 1 矩阵操作 查看帮助:help, doc 命令记忆功能:上下箭头键(可以先输入命令的前几个字符,缩小搜索范围) 命令补全功能: Tab 键 用 Esc 键 删除命令行 其他命令 home, clc, clear 几个小技巧
下载与安装 秦 口原版(校园版)与学习版(网络) 口工具箱选择:MATLAB Curve Fitting Toolbox Optimization Toolbox Symbolic Math Toolbox Statistics and Machine Learning Toolbox 变量 口可直接使用,根据赋值确定数据类型,数据类型可随时改变 口必须以字母开头,含字母(大小写)、数字和下划线 ▣ 区分大小写 http://math.ecnu.edu.cn/~jypan 3
http://math.ecnu.edu.cn/~jypan 3 原版(校园版)与学习版(网络) 工具箱选择: 下载与安装 MATLAB Curve Fitting Toolbox Optimization Toolbox Symbolic Math Toolbox Statistics and Machine Learning Toolbox 可直接使用,根据赋值确定数据类型,数据类型可随时改变 必须以字母开头,含字母(大小写)、数字和下划线 区分大小写 变量
算术运算 更多运算:help ops 秦 加,减,乘,幂 右除,左除 口浮点数表示范围:10-308~10308 口浮点运算(加减乘除,开方)的相对误差(机器精度):eps 语句 变量=表达式 口命令或语句的运行:回车 ▣ 命令分隔符/语句结束符:逗号和分号(无需在屏幕上输出结果用分号) 口续行符:. (三个连续的点) http://math.ecnu.edu.cn/~jypan
http://math.ecnu.edu.cn/~jypan 4 算术运算 浮点数表示范围:10-308 ~ 10308 浮点运算 (加减乘除,开方) 的相对误差(机器精度): eps 语句 + - * ^ 加,减,乘,幂 / \ 右除,左除 变量 = 表达式 命令或语句的运行:回车 命令分隔符/语句结束符:逗号和分号(无需在屏幕上输出结果用分号) 续行符:... (三个连续的点) 更多运算:help ops
矩阵操作 秦 口Matlab的操作对象:矩阵 ▣ 矩阵的输入:中括号,如A=[123;456;7,8,9] (行与行之间用分号,同一行中的元素之间用空格或逗▣号)》 口矩阵的输入:由小矩阵生成大矩阵,如A=[A;10,11,12] 口矩阵的输入:等差数列一冒号,如A=[1:3;4:6;7:9] ·产生一个由等差序列组成的向量 a:b:c ·a是首项,b是公差,c确定最后一项 ·若b=1,则b和其前面的冒号可以省略 口矩阵运算:加减,相乘,幂 与高代一致 ▣ 矩阵除法:B/AA的逆右乘B,ABA的逆左乘B 口矩阵的转置: 共轭转置 普通转置,不取共轭,点与单引号之间不能有空格 http://math.ecnu.edu.cn/~jypan 5
http://math.ecnu.edu.cn/~jypan 5 矩阵操作 Matlab 的操作对象:矩阵 矩阵的输入:中括号,如 A=[1 2 3; 4 5 6; 7,8,9] (行与行之间用分号,同一行中的元素之间用空格或逗号) 矩阵的输入:由小矩阵生成大矩阵,如 A=[A; 10,11,12] 矩阵的输入:等差数列 ———— 冒号,如 A=[1:3; 4:6; 7:9] 矩阵运算:加减,相乘,幂 ———— 与高代一致 矩阵除法:B/A A 的逆右乘 B,A\B A 的逆左乘 B 矩阵的转置: A' 共轭转置 A.' 普通转置,不取共轭,点与单引号之间不能有空格 产生一个由等差序列组成的向量 a 是首项,b 是公差,c 确定最后一项 若 b=1,则 b 和其前面的冒号可以省略 a:b:c
矩阵操作:矩阵元素的引用 x(i),A(i,j) 单个元素 x(i:j) 向量x中的第ⅰ到第j个元素 A(i:j,m:n) 由第i至j行和第m至n列组成的子矩阵 x(i:end) 向量×中的第i个到最后一个元素 A(i:end,m:n) 第i行到最后一行与m至n列(子矩阵) A(i:j,m:end) 第m列到最后一列与i至j行(子矩阵) A(:,k),A(i,:) 矩阵的第k列,或第i行 A(:,m:n),A(i:j,:) 矩阵的第m到n列,或第i到j行 A(:,:) 整个矩阵 x(:) 取向量的所有元素,并按列向量方式输出 A(:) 将矩阵的所有元素按列排成一个列向量 A([i,,n][Ujnj2,jg]) 第,2,,行和第j,,j,列组成的子矩阵 A(i,:)=[],A(:,j)=[] 删除第i行,或第j列 http://math.ecnu.edu.cn/-jypan
http://math.ecnu.edu.cn/~jypan 6 矩阵操作:矩阵元素的引用 x(i), A(i,j) 单个元素 x(i:j) 向量 x 中的第 i 到第 j 个元素 A(i:j,m:n) 由第 i 至 j 行和第 m 至 n 列组成的子矩阵 x(i:end) 向量 x 中的第 i 个到最后一个元素 A(i:end,m:n) A(i:j,m:end) 第 i 行到最后一行与 m 至 n 列(子矩阵) 第 m 列到最后一列与 i 至 j 行(子矩阵) A(:,k), A(i,:) 矩阵的第 k 列,或第 i 行 A(:,m:n), A(i:j,:) 矩阵的第 m 到 n 列,或第 i 到 j 行 A(:,:) 整个矩阵 x(:) 取向量的所有元素,并按列向量方式输出 A(:) 将矩阵的所有元素按列排成一个列向量 A([i1, i2, ..., ip],[j1, j2, .., jq]) 第 i1, i2, ..., ip 行和第 j1, j2, .., jq列组成的子矩阵 A(i,:)=[], A(:,j)=[] 删除第 i 行,或第 j 列
矩阵操作 秦 口矩阵的翻转与旋转: fliplr(A) 左右翻转 flipud(A) 上下翻转 注意与矩阵转置的区别! rot90(A) 逆时针旋转90度 rot90(A,k) 逆时针旋转k×90度 口改变矩阵的形状:reshape(A,m,n) (将矩阵元素按列方向进行重新排列成一个m×n的新矩阵) 口查看矩阵的大小: size(A) 返回矩阵A的行数和列数 size(A,1) 返回矩阵A的行数 size(A,2) 返回矩阵A的列数 length(x) 若x是向量,返回x的长度 length(X) 若X是矩阵,返回行数和列数中大的一个 numel(A) 返回A的元素的个数 http://math.ecnu.edu.cn/~jypan
http://math.ecnu.edu.cn/~jypan 7 矩阵操作 矩阵的翻转与旋转: 改变矩阵的形状:reshape(A,m,n) (将矩阵元素按 列方向 进行重新排列成一个 m×n 的新矩阵) 查看矩阵的大小: fliplr(A) 左右翻转 flipud(A) 上下翻转 rot90(A) rot90(A,k) 逆时针旋转 90 度 逆时针旋转 k×90 度 注意与矩阵转置的区别! size(A) 返回矩阵 A 的行数和列数 size(A,1) 返回矩阵 A 的行数 size(A,2) 返回矩阵 A 的列数 length(x) length(X) 若 x 是向量,返回 x 的长度 若 X 是矩阵,返回行数和列数中大的一个 numel(A) 返回 A 的元素的个数
矩阵生成函数 更多矩阵操作:help elmat 秦 zeros(m,n) 生成一个m行n列的零矩阵 zeros(n) m=n时可简写为zeros(n) ones(m,n) 生成一个m行n列的元素全为1的矩阵 ones(n) m=n时可简写为ones(n) eye(m,n) 生成一个主对角线全为1的m行n列矩阵 eye(n) m=n时可简写为eye(n),即为n维单位矩阵 diag(X) 若X是矩阵,则diag凶为X的主对角线向量 diag(X,k) 若X是向量,diag()产生以X为主对角线的对角矩阵 tril(A) 提取一个矩阵的下三角部分 triu(A) 提取一个矩阵的上三角部分 rand(m,n) 生成0~1间均匀分布的随机矩阵 rand(n) m=n时简写为rand(n) randn(m,n) 生成均值为0,方差为1的标准正态分布随机矩阵 randn(n) m=n时简写为randn(n) randi(n) 生成1~n间的整数 其它特殊矩阵生成函数:magic、.hilb、pascal等 http://math.ecnu.edu.cn/-jypan 8
http://math.ecnu.edu.cn/~jypan 8 矩阵生成函数 zeros(m,n) zeros(n) 生成一个 m 行 n 列的零矩阵 m=n 时可简写为 zeros(n) ones(m,n) ones(n) 生成一个 m 行 n 列的元素全为 1 的矩阵 m=n 时可简写为 ones(n) eye(m,n) eye(n) 生成一个主对角线全为 1 的 m 行 n 列矩阵 m=n 时可简写为 eye(n),即为 n 维单位矩阵 diag(X) diag(X,k) 若 X 是矩阵,则 diag(X) 为 X 的主对角线向量 若 X 是向量,diag(X) 产生以 X 为主对角线的对角矩阵 tril(A) triu(A) 提取一个矩阵的下三角部分 提取一个矩阵的上三角部分 rand(m,n) rand(n) 生成 0~1 间均匀分布的随机矩阵 m=n 时简写为 rand(n) randn(m,n) randn(n) 生成均值为0,方差为1的标准正态分布随机矩阵 m=n 时简写为 randn(n) randi(n) 生成 1~n 间的整数 其它特殊矩阵生成函数:magic、hilb、pascal 等 更多矩阵操作:help elmat
数组运算 对应元素做运算:点乘、点除、点幂 点与算术运算符之间不能有空格! 参与运算的对象必须具有相同的形状! 矩阵与数的运算 ·加减:矩阵的每个元素都与数作加减运算 ·数乘:矩阵的每个元素都与数作乘法运算 ·矩阵除以一个数:每个元素都除以这个数 ·数与矩阵的点幂运算:采用数组运算 x=[123]; X.2=[1^2,22,32]=[1,4,9] 2.X=[21,2^2,23]=[2,4,8] http://math.ecnu.edu.cn/~jypan
http://math.ecnu.edu.cn/~jypan 9 数组运算 对应元素做运算:点乘、点除、点幂 .* ./ .\ .^ 点与算术运算符之间不能有空格! 参与运算的对象必须具有相同的形状! 矩阵与数的运算 加减:矩阵的每个元素都与数作加减运算 数乘:矩阵的每个元素都与数作乘法运算 矩阵除以一个数:每个元素都除以这个数 数与矩阵的点幂运算:采用数组运算 x=[1 2 3]; x.^2=[1^2,2^2,3^2]=[1,4,9] 2.^x=[2^1,2^2,2^3]=[2,4,8]
函数作用在矩阵上 秦 函数作用在矩阵的每个分量上! 设x是变量,f是一个函数 ·当x=a是标量时,fx)=fa)也是一个标量 ·当x=比1,x2,,Xn】是向量时,则 f)=【fx),fx2),…,x】是一个与x长度相同的向量 ●若A是矩阵,则fA)是一个与A同形状的矩阵 「f(a)f(az)… f(a) f(A)= f(az)f(az) f(azn) x=[0:pi/4:pi]; f(am)f(am2)... f(a) A=[1,2,3;4,5,6] y1=sin(x) y2=exp(A) y3=sqrt(A) http://math.ecnu.edu.cn/~jypan 10
http://math.ecnu.edu.cn/~jypan 10 函数作用在矩阵上 设 x 是变量, f 是一个函数 当 x = a 是标量时,f(x) = f(a) 也是一个标量 当 x = [x1, x2, … , xn ] 是向量时,则 f(x) = [ f(x1), f(x2), … , f(xn)] 是一个与 x 长度相同的向量 若 A 是矩阵,则 f (A) 是一个与 A 同形状的矩阵 n n m m mn fa fa fa fa fa fa f A fa fa fa 11 12 1 21 22 2 1 2 () () () () () () ( ) () () () = x=[0:pi/4:pi]; A=[1,2,3; 4,5,6]; y1=sin(x) y2=exp(A) y3=sqrt(A) 函数作用在矩阵的每个分量上!
常用数学函数 秦 sin(x)、cos(x)、tan(x)、cot(x)、 sec(x)、csc(x)、sinh(x)、cosh(x)、tanh(x) asin(x)、acos(x)、atan(x)、acot(x)、 asec(x)、acsc(x) 。。· exp(x) 号er自然指数(以e为底) pow2(x) 号2x以2为底的指数 log(x) 号lnc)自然对数(以e为底) 10g2(x) 号以2为底的对数 1og18(x)号以10为底的对数 sqrt(x) 号平方根 abs(x) 绝对值 gcd(x,y)号最大公约数 1cm(,y)号最小公倍数 http://math.ecnu.edu.cn/~jypan 11
http://math.ecnu.edu.cn/~jypan 11 常用数学函数 sin(x)、cos(x)、tan(x)、cot(x)、 sec(x)、csc(x)、sinh(x)、cosh(x)、tanh(x) ... asin(x)、acos(x)、atan(x)、acot(x)、 asec(x)、acsc(x) ... exp(x) % ex 自然指数 (以 e 为底) pow2(x) % 2x 以 2 为底的指数 log(x) % ln(x) 自然对数 (以 e 为底) log2(x) % 以 2 为底的对数 log10(x) % 以 10 为底的对数 sqrt(x) % 平方根 abs(x) % 绝对值 gcd(x,y) % 最大公约数 lcm(x,y) % 最小公倍数