Presentation is loading. Please wait.

Presentation is loading. Please wait.

数学软件 Matlab —— 矩阵运算.

Similar presentations


Presentation on theme: "数学软件 Matlab —— 矩阵运算."— Presentation transcript:

1 数学软件 Matlab —— 矩阵运算

2 本讲主要内容 Kronecker 乘积 数组运算 函数的使用 特殊矩阵及其应用 变量的输入输出

3 本讲主要内容 Kronecker 乘积 数组运算 函数的使用 特殊矩阵及其应用 变量的输入输出

4 Kronecker 乘积 矩阵 Kronecker 乘积的定义
设 A 是 n×m 矩阵,B 是 p×q 矩阵,则 A 与 B 的 kronecker 乘积为: 是 np×mq 矩阵 任意两个矩阵都有 Kronecker 乘积 通常 Matlab 中计算两个矩阵的 Kronecker 乘积 C=kron(A,B);

5 本讲主要内容 Kronecker 乘积 数组运算 函数的使用 特殊矩阵及其应用 变量的输入输出

6 矩阵的数组运算 数组运算:对应元素进行运算 点与算术运算符之间不能有空格! 参与运算的对象必须具有相同的形状! 例:
数组运算包括:点乘、点除、点幂 相应的四个数组运算符为: .* ./ .\ .^ 点与算术运算符之间不能有空格! 参与运算的对象必须具有相同的形状! 例: A=[1,2,3; 4,5,6]; B=[3,2,1; 6,5,4]; C=A.*B D=A./B E=A.^B

7 本讲主要内容 Kronecker 乘积 数组运算 函数的使用 特殊矩阵及其应用 变量的输入输出

8 函数取值 函数作用在矩阵上的取值 f 作用在 x 的每个分量上! 设 x 是变量, f 是一个函数 例:
当 x = a 是标量时,f(x) = f(a) 也是一个标量 当 x = [x1, x2, … , xn ] 是向量时,则 f(x) = [ f(x1), f(x2), … , f(xn)] 是一个与 x 长度相同的向量 f 作用在 x 的每个分量上! 若 A 是矩阵,则 f (A) 是一个与 A 同形状的矩阵 例: x=[0:pi/4:pi]; A=[1,2,3; 4,5,6]; y1=sin(x) y2=exp(A) y3=sqrt(A)

9 矩阵的超越函数 矩阵函数 怎样计算 eA ? 将矩阵作为一个整体参与运算 Matlab 提供的矩阵函数:expm、sqrtm、logm
详情参见联机帮助(help expm / sqrtm / logm ) 更一般的矩阵函数: funm fun 可以是 exp, log,cos,sin,

10 Matlab中所有标点符号必须在英文状态下输入!
矩阵与数的运算 矩阵与数的运算 加减:矩阵的每个元素都与数作加减运算 数乘:矩阵的每个元素都与数作乘法运算 矩阵除以一个数:每个元素都除以这个数 数与矩阵的点幂运算:采用数组运算 例: 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] Matlab中所有标点符号必须在英文状态下输入!

11 常用数学函数 sin(x)、cos(x)、tan(x)、cot(x)、sec(x)、csc(x) ... % 默认情况,以弧度为角的单位
sind(x)、cosd(x)、tand(x)、cotd(x)、secd(x)、cscd(x) % 以度为角的单位 sinh(x)、cosh(x)、tanh(x) ... asin(x)、acos(x)、atan(x)、acot(x)、asec(x)、acsc(x) ... asind(x)、acosd(x)、atand(x)、acotd(x)、asecd(x)、acscd(x) ...%度 exp(x) % ex 自然指数 (以 e 为底) pow2(x) % 2x 以 2 为底的指数 log(x) % ln(x) 自然对数 (以 e 为底) log2(x) % 以 2 为底的对数 log10(x) % 以 10 为底的对数 sqrt(x) % 平方根 abs(x) % 绝对值

12 常用数学函数 conj(z) % 复数的共轭 real(z) % 复数的实部 imag(z) % 复数的虚部 angle(z) % 复数的辐角 sign(x) % 符号函数 round(x) % 取整函数 (四舍五入) fix(x)、floor(x)、ceil(x) % 另外三个取整函数 mod(x,y) % 计算 x 除以 y 的余数(结果与 y 同号) rem(x,y) % 计算 x 除以 y 的余数(结果与 x 同号) gcd(x,y) % 最大公约数 lcm(x,y) % 最小公倍数

13 常用数学函数 若参数 x 是矩阵,则作用在其各列上 更多数学函数,参见课程主页
linspace(a,b,n) % 生成 a 到 b,n 个数的等差数列 logspace(a,b,n) % 生成 10a 到 10b,n 个数的等比数列 max(x) % 求 向量 x 中的最大值 min(x) % 求最小值 mean(x) % 求平均值 sum(x) % 求和 sort(x) % 排序 det(A) % 矩阵行列式 inv(A) % 矩阵的逆 eig(A) % 矩阵的特征值 rank(A) % 矩阵的秩 若参数 x 是矩阵,则作用在其各列上 更多数学函数,参见课程主页

14 本讲主要内容 Kronecker 乘积 数组运算 函数的使用 特殊矩阵及其应用 变量的输入输出

15 特殊矩阵 特殊矩阵的生成 例: Matlab 提供了一些函数,用于生成一些常见的特殊矩阵 A=magic(3) B=ones(4)
a1=diag(A) a2=diag(A,1) a3=diag(A,-2) 注意 diag 的用法 a=[1,2,3,4] A1=diag(a) A2=diag(a,1) A3=diag(a,-2)

16 常见特殊矩阵生成函数 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) 其它特殊矩阵生成函数:magic、hilb、pascal 等

17 特殊矩阵 特殊矩阵的应用 留着练习,参见本节的习题1(P13)

18 本讲主要内容 Kronecker 乘积 数组运算 函数的使用 特殊矩阵及其应用 变量的输入输出

19 Matlab 的输出格式 输出格式 Matlab 以双精度执行所有的运算,运算结果可以在屏幕上输出,同时赋给指定变量;若无指定变量,则系统会自动将结果赋给变量 “ans” 在屏幕上输出运算结果时,可以通过 format 命令指定输出格式 format 只改变输出格式,不会改变变量的值!

20 各种 format 格式 解释 例 format 短格式(缺省格式),同 short 3.1416 format short
短格式(缺省格式),小数点后 4 位 format long 长格式,双精度 15位,单精度 7位 format short e 短格式e方式(科学计数格式) 3.1416e+000 format long e 长格式e方式 e+000 format short g 短格式g方式 format long g 长格式g方式 format rat 分数形式 355/113 format compact 压缩格式 format loose 自由格式 format +, format bank, format hex (详情查看联机帮助)

21 变量的存储 将变量保存到 mat 文件中 从 mat 文件中读取变量 例: save 将所有变量保存到文件 matlab.mat 中
save fname save fname.mat 将所有变量保存到文件 fname.mat 中 save fname 变量 将指定变量保存到文件 fname.mat 中 可同时保存多个变量,各变量之间用空格隔开 例: x=2:5; A=magic(3); a=2.4; save mydata A x; 从 mat 文件中读取变量 load fname 读取 fname.mat 中的所有变量 load fname 变量 从 fname.mat 中读取指定的变量

22 上机要求 上机要求 将完成每题所用的命令写入一个文件,取名为 m02.m 然后将该文件作为附件,通过 foxmail 以邮件形式发给
邮件主题为:机号-学号-姓名 其中机号为 两位数 三个字段之间用英文状态下的减号链接

23 上机作业 教材P13的 1、 2 、3题: 【要求与提示】 用注解语句在程序文件m02.m 中写明题号;

24 书面作业 教材P35-38有4段关于Matlab用法的英文材料,试将其中的 (Topic 2) 段(有关 Matlab 数组与矩阵)翻译为中文. 【具体要求】将译文的手写版写在作业本上,欢迎给出进行中文、英文对照的作业!


Download ppt "数学软件 Matlab —— 矩阵运算."

Similar presentations


Ads by Google