2022年2022年矩阵基本函数运算与矩阵元素的提取 .pdf
《2022年2022年矩阵基本函数运算与矩阵元素的提取 .pdf》由会员分享,可在线阅读,更多相关《2022年2022年矩阵基本函数运算与矩阵元素的提取 .pdf(23页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、1 实验三第三节矩阵基本函数运算与矩阵元素的提取(第二章)一、 矩阵基本函数运算此运算是矩阵运算中最实用的部分,其基本命令如下:命令集 9 矩阵的大小、行列式、逆、特征值、秩、迹、范数size(A) 给出包含 A 的维数的一个行向量 .在这个返回向量中的第一个元素是行数,随后是列数. m,n =size(A) 给出 A 的维数、 m 行数和 n 列数,即两个标量 .length(x) 给出一个向量的长度,即x 分量个数 .sum(A) 若 A 是矩阵,给出一个行向量, 其每个分量表示 A 相应的列和;若 A 是向量,给出此向量的分量和.det(A) 求矩阵 A 的行列式 .eig(A) 求包含
2、矩阵 A 的特征值的向量 . X,D=eig(A) 求包含矩阵 A 的特征值对应的对角阵D 和以相应特征向量为列的矩阵 .inv(A)或 A (-1) 求矩阵 A 的逆矩阵 .rank(A) 求矩阵 A 的秩.trace(A) 求矩阵 A 的迹(对角线元素之和).norm(A,1) 矩阵 A 的 1范数或列和范数,定义如下.norm(A,2) 矩阵 A 的 2范数 .norm(A,inf) 矩阵 A 的范数 .norm(x,1) 向量 x 的 1范数或列和范数,定义如下.norm(x,2) 向量 x 的 2范数 .norm(x,inf) 向量 x 的范数 .名师资料总结 - - -精品资料欢迎
3、下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 23 页 - - - - - - - - - 2 范数定义如下:设12(,)nxx xx,()ijn mAa,则相应范数定义如下11niixx;221niixx;maxiixx11maxnijjiAa,1maxnijijAa,2maxAAiiiA,其中为的最大特征值二、 矩阵元素的提取在 MATLAB 中还有利用已存在的矩阵建立新矩阵的命令.以下假设矩阵A 是 mn 的矩阵, x 是个有 n 个元素的向量 . 1. 对角阵与三角阵的生成命令集 10diag(A
4、)生成一个由矩阵 A 主对角线元素组成的列向量.主对角线总是从矩阵左上角开始 .对于方阵来说它结束于矩阵的右下角. diag(x)生成一个 n维的方阵,它的主对角线元素值取自向量x,其余元素的值都为 0. diag(A , k)生成一个由矩阵 A 第 k 条对角线的元素组成的列向量. k= 0为主对角线; k 0 为上第 k 对角线 .diag(x , k)生成一个 (n+ a b s (k) )(n+ a b s (k) )维的矩阵,该矩阵的第 k条对角线元素取自向量x, 其余元素都为零 .关于参数 k 可参考上个命令 . triu(A)生成一个和 A 大小相同的上三角矩阵 .该矩阵的主对角
5、线及以上元素取自 A 中相应元素,其余元素都为零. triu(A , k)生成一个和 A 大小相同的上三角矩阵 .该矩阵的第 k 条对角线及以上元素取自 A 中相应元素,其余元素都为零. 命令 t r i u ( A , 0 )等同于命令 t r i u ( A ). 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 23 页 - - - - - - - - - 3 tril(A)生成一个和 A 大小相同的下三角矩阵 .该矩阵的主对角线及以下元素取自 A 中相应元素,其余元
6、素都为零. tril(A , k) 生成一个和 A 大小相同的下三角矩阵 .该矩阵的第k 条对角线及以下元素取自 A 中相应元素,负数k 表示主对角线下的对角线.其余元素都为零 .命令 t r i l ( A , 0 )等同于命令 t r i l ( A ). 2. 向量和子矩阵的生成在 MATLAB 中可以使用冒号 :来代表一系列数值.有时也使用它来定义一个子矩阵. 命令集 11 i : k创建从 i 开始、步长为 1、 到 k 结束的数字序列,即 i ,i+1, i+2, . . . , k .如果 ik,MATLAB 则返回一个空矩阵,也就是 .数字 i 和 k 不必是整数,该序列的最后
7、一个数是小于或等于k. i : j : k创建从 i 开始、 步长为 j、 到 k 结束的数字序列,即 i, i+j, i+ 2j, . . ., k .对于 j= 0,则返回一个空矩阵 .数字 i、j 和 k 不必是整数,该序列的最后一个数是小于或等于k. linspace(a , b)在区间 a, b上创建一个有 1 0 0 个元素的向量,这1 0 0个数把整个区间线性分隔 .其中 a 是第一个元素, b 是最后一个 . linspace(a, b, n)在区间 a, b上创建一个有 n 个元素的向量 .这个命令和冒号表示形式相近,但是它直接定义了数据的个数,其步长为(b-a)/(n-1)
8、 . 命令集 12 定义子阵A ( i , j )返回矩阵 A 中第 ij 元素的值 . A ( : , j )返回矩阵 A 中第 j 列列向量 . A ( i , : )返回矩阵 A 中第 i 行行向量 . A ( : , j : k )返回由矩阵 A 中的第 j 列,第 j+ 1 列,直到第 k 列列向量组成的子阵 . A ( i : k , : )返回由矩阵 A 中的第 i 行,第 i+ 1 行,直到第 k 行行向量组成的子阵 . 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第
9、 3 页,共 23 页 - - - - - - - - - 4 A ( i : k , j : l )返回由二维矩阵A 中的第 i 行到第 k 行行向量和第 j 列到第 l 列列向量组成的子阵 . A ( : )将矩阵 A 中的每列合并成一个长的列向量. A(j:k)返回一个行向量,其中的元素为A ( : )中的从第 j 个元素到第 k 个元素. A(j1 j2 . . . )返回一个行向量, 其中的元素为 A ( : )中的第 j1、 j2 元素. A(:,j1 j2 . . . )返回矩阵 A 的第 j1 列、第 j2 列等的列向量 . A(i1 i2. . . : , )返回矩阵 A 的
10、第 i1 行、第 i2 行等的行向量 . A(i1 i2. . . ,j1 j2. . . ) 返回矩阵第 i1 行、第 i2 行等和第 j1 列、第 j2 列等的元素 .二、 矩阵元素的增减在 MATLAB 中可以通过增加元素、 行和列将一个矩阵或者向量进行扩展 .由于 MATLAB 可以自动地改变矩阵的大小,所以使用已存在的矩阵的一部分来创建一个新矩阵是很容易的这在许多应用中都很有用 .从已存在的矩阵中建立一个矩阵就和定义一个新矩阵一样 .元素用空格或逗号分隔,行用分号或回车分隔. 例 1 假设下列矩阵已经定义为:1 25 611,13 143 412ABxyz(a) 有几种方式可以将向量
11、x 扩展成 14.假设想要的新向量是:xnew=(9 10 0 5) 下列的三种方法都可以给出想要的结果:xnew=x; xnew(3)=0 ;xnew(4)=5; xnew=x 0 5; t=0 5; xnew=x t; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 23 页 - - - - - - - - - 5 (b) 以下两种方法可以对矩阵A 扩展一个新行 ,如向量 z:Anew1=A ; z , Anew1=A ; 13 14 . 它们在屏幕上显示的结果如下:
12、Anew1= 12 24 13 14有时还可以对矩阵添加多个新行: Anew2=A;x;z;0 0 (c) 对矩阵 A 扩展一个新列 ,如 y,可以这样做: Anew3=A y 或者 Anew3=A 11;12 (d) 对矩阵 A 扩展一个矩阵的操作是相似的,输入命令: Anew4=A; B , Anew5=A B 对于 Anew4 来说,它的列数一定等于矩阵A 和 B 的列数;而对于 Anew5 来说,它的行数一定等于矩阵A 和 B 的行数 . (e) 改变矩阵的元素A(3,3)=15 矩阵 A 的(3,3)元素变为 15A(2,:)=1 0 矩阵 A 的第 2 行变为1 0 A(2,:)=
13、 矩阵 A 变为一个行向量(f) 为了生成规则的矩阵块可以下列的方式使用命令repmat. 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 23 页 - - - - - - - - - 6 例 2 repmat(1 0; 0 1,3,3) 返回一个由 1 0; 0 1组成的 6 阶矩阵repmat(1 0,1,5)得到:返回一个由 1 0组成的 10 维行向量如果要创建一个所有元素都是同一个值的矩阵,可以使用命repmat(42,2 2) 返回一个由 42 组成的 2 阶
14、矩阵第四节字符串(第二章)在 M AT L A B 中可能会遇到对字符和字符串的操作.字符串能够显示在屏幕上, 也可以用来构成一些命令,这些命令在其他的命令中用于求值或者被执行. 一个字符串是存储在一个行向量中的文本,这个行向量中的每一个元素代表一个字符.实际上,元素中存放的是字符的内部代码,也就是ASCII 码.当在屏幕上显示字符变量的值时,显示出来的是文本,而不是ASCII 数字 .由于字符串是以向量的形式来存储的,所以可以通过它的下标对字符串中的任何一个元素进行访问 . 字符矩阵也可以这样,但是它的每行字符数必须相同. 一、 输入格式MATLAB 中的字符串用单引号来定义:Name Of
15、 Variable =text 这里的 text 可以是字母、数字和特殊字符名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 23 页 - - - - - - - - - 7 (a) 简单的分配方法, 如 name =John Smith,在屏幕上就会有如下显示: name = John Smith (b) 分配一个字符 .如果 (a)中变量 name已存在,令 name (3)=a,则会给出: name = Joan Smith (c) 将上例中的字符串name的元素前后
16、互换位置,可以输入:for i=length(name):-1:1 enam(i)=name(length(name)+1-i); end enam 下面显示出字符串eman的值: eman = htimS naoJ (d) 在字符串中用两个单引号来表示一个单引号:whoscat=Joans cat 显示结果为: whoscat = Joans cat (e) 字符串的组成可以象数字矩阵一样:name1= Joan ; name2= John ;heart= is in love with; sentence=name1, ,heart, , name2显示的结果为: sentence=Joa
17、n is in love with John 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 23 页 - - - - - - - - - 8 (f) 冒号表达式的使用和在数字矩阵中的使用情况一样:name=Charles Johnson ;firstname= name(1:7) firstname = Charles 二、 字符串求值MATLAB命令可以以字符串的形式进行输入和存储.这些命令字符串通过eval 命令来求值 . 命令集 13字符串求值eval (str)
18、执行 st 中包含的 MATLAB 命令并返回结果 .eval(str1, str2)执行 str1中的 MATLAB 命令,如果没有错误就和执行eval(str1)一样; 如果在对 str1求值中第一个字符串是一个错误,则对字符串 str2 进行求值,给出一个错误信息或者其他内容.g = inline (str ,arg1, arg2) 从字符串 str 中建立一个叫内联的函数g,如存储在工作内存中的函数, 可以用 g (val1 ,val2 )来调用 .函数中参数的名字可以在字符串arg1,arg2, 中给出,如果没有给出, MATLAB 将从 str 中找出小写字母作为参数的名字. 例
19、3 b=1 2 3;k=2 2 2 ;x=1.2 1.5 1.2; str1= b.* sin(k.*x) ; y=eval(str1) y= 0.6755 0.2822 2.0264 g=inline(3*sin(x)+5*cos(y) , x , y );g(pi,2*pi) ans= 5 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 23 页 - - - - - - - - - 9 练习题1. 建立新矩阵已知(5)Amagic,求( ) ,(),() ,2),(
20、,2),(, 2)diag Adiag diag Adiag diag Adiag Adiag A( ) ,( ),(,1),(, 2),(, 2)triu AtrilAtriu Atriu AtrilA(3,2),(:,2) ,(4,:)AAA(2:3 ,3:4) ,(:) ,(:,:)AAA2. 计算下列各题,已知(4)Amagic,(1 2 3 4)xA的行和、列和,A的迹、秩,A的大小A的特征值、特征向量及1AA12,AAA12,xxx3 已知(4)Amagic,(4)Bones,(1 2 3 4) ,(5 6 7 8)xy,建立下列矩阵:在 A的左边增加一列y,A的右边增加一列y;在
21、 A的上面增加一行x,A的下面增加一行x;在 A的左边增加矩阵B变为矩阵 C,A的下面增加矩阵 B变为矩阵 D; 由矩阵 D的第 1、2、5、8 行组成矩阵 F;由矩阵 C的第 1、3、5、7 列组成矩阵 G ;由矩阵 D的第 1、2、5、8 行及 C第 1、3、5、7 列组成矩阵 H ;删除C的第二行,删除D的第三列;名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 23 页 - - - - - - - - - 10 第 3 章MATLAB程序设计Matlab 作为一种广
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年2022年矩阵基本函数运算与矩阵元素的提取 2022 矩阵 基本 函数 运算 元素 提取
限制150内