第二章 matlab矩阵及其运算

合集下载

第2章MATLAB矩阵及其运算

第2章MATLAB矩阵及其运算

·30·
第 2 章 MATLAB 矩阵及其运算
的求解方法时,因不完善的设计导致的内存溢出。在此,主要针对第二种情况进行分析并 给出相应的解决方案。
1.变量名区分大小写 变量名的定义必须符合以下条件: 必须以字母开头。 由字母、数字、下划线组成。 最长为 31 个字符。 一些用户不可以清除的变量,如 ans、eps、pi、Inf、NaN 等。 【例 2-1】 变量定义举例如下:
A a king
在 MATLAB 中的变量不需要事先定义,在遇见新的变量名时,MATLAB 会自动建立 并且为其分配存储空间。如果遇见已经出现的变量,会重新为其分配空间。
a = complex(2,9) b = real(a) c = imag(a)
MATLAB 运行结果如下:
a= 2.0000 + 9.0000i
b= 2
c= 9
3.除了可以把数值直接赋给变量,还可以将表达式、矩阵赋给变量
对于矩阵的讲解,会在后面详细讲解。 【例 2-4】 变量的赋值举例如下:
a=[1 4 7] B=abs(6+13i) C=[]
(4)不同数据结构的内存。 在 MATLAB 中,8 位、16 位、32 位、64 位的有符号整型或无符号整型分别占用 1、2、4、8 字节空间,单精度、双精度浮点数分别占用 4、8 字节空间。 在 MATLAB 中,复数的存储比较特殊。复数的实部和虚部在内存中是分开存放的, 当在程序中修改复数的实部或虚部时,会在修改数据的同时复制复数的实部和虚部。 在 MATLAB 中,当数组的元素绝大部分为 0 时,MATLAB 一般默认采用稀疏矩 阵进行存储以节省空间。
a=[1,2,3,4,5,6,7,8,9,10]

第2章--MATLAB矩阵及其运算PPT课件

第2章--MATLAB矩阵及其运算PPT课件
MAT文件的生成和装入由save和load命 令来完成。常用格式为:
save 文件名 [变量名表] [-append] [-ascii] load 文件名 [变量名表] [-ascii]
.
10
文件名可以带路径,但不需带扩展名.mat, 命令隐含一定对.mat文件进行操作。
变量名表中的变量个数不限,只要内存或 文件中存在即可,变量名之间以空格分隔。 当变量名表省略时,保存或装入全部变量。
第2章 MATLAB矩阵及其运算
2.1 变量和数据操作 2.2 MATLAB矩阵 2.3 MATLAB运算 2.4 矩阵分析 2.5 矩阵的超越函数 2.6 字符串 2.7 结构数据和单元数据 2.8 稀疏矩阵
.
1
2.1 变量和数据操作
2.1.1 变量与赋值 1.变量命名 在MATLAB 7 中,变量名是以字母开头, 后接字母、数字或下划线的字符序列,最 多63个字符。在MATLAB中,变量名区分 字母的大小写。
1.直接输入法 最简单的建立矩阵的方法是从键盘直接
输入矩阵的元素。
具体方法如下:将矩阵的元素用方括号 括起来,按矩阵行的顺序输入各元素,同 一行的各元素之间用空格或逗号分隔,不 同行的元素之间用分号分隔。
.
21
2.利用M文件建立矩阵 对于比较大且比较复杂的矩阵,可以为
.
2
• Abc=5 a_9=4; 3an=4;
%合法变量名 %合法变量名 %非法变量名
• MATLAB提供的标准函数名以及命令名必须
用小写字母。
Help plot
%非法
help plot
%合法
.
3
2.赋值语句 (1) 变量=表达式 (2) 表达式
其中表达式是用运算符将有关运算量连 接起来的式子,其结果是一个矩阵。

第2章 MATLAB矩阵及其运算

第2章  MATLAB矩阵及其运算

其中,文件名可以带路径,但不需带扩展
名.mat,命令隐含一定对.mat文件进行操作。 变量名表中的变量个数不限,只要内存或文
件中存在即可,变量名之间以空格分隔。当 变量名表省略时,保存或装入全部变量。ascii选项使文件以ASCII格式处理,省略该 选项时文件将以二进制格式处理。save命令 中的项控制将变量追加到MAT文 件中。
z=
-0.3488 + 0.3286i
2.1.2 预定义变量
在MATLAB工作空间中,还驻留几个由系统本身定 义的变量。例如,用pi表示圆周率π的近似值,用i, j表示虚数单位。 预定义变量有特定的含义,在使用时,应尽量避免 对这些变量重新赋值。
预定义变量
含义
ans
计算结果的缺省变量名
预定义变量
含义
2.2.2 矩阵的拆分
1.矩阵元素 通过下标引用矩阵的元素,例如
A(3,2)=200 采用矩阵元素的序号来引用矩阵元素。矩阵元素的序号就 是相应元素在内存中的排列顺序。在MATLAB中,矩阵 元素按列存储,先第一列,再第二列,依次类推。例如
A=[1,2,3;4,5,6];
A(3)
ans =
2 显然,序号(Index)与下标(Subscript )是一一对应的,以 m×n矩阵A为例,矩阵元素A(i,j)的序号为(j-1)*m+i。其 相互转换关系也可利用sub2ind和ind2sub函数求得。
2.用于专门学科的特殊矩阵 (1) 魔方矩阵 魔方矩阵有一个有趣的性质,其每行、每列 及两条对角线上的元素和都相等。对于n阶魔 方阵,其元素由1,2,3,…,n2共n2个整数组成。 MATLAB提供了求魔方矩阵的函数magic(n), 其功能是生成一个n阶魔方阵。

第二章 matlab矩阵及其运算g

第二章 matlab矩阵及其运算g
7
clear命令用于删除 clear命令用于删除MATLAB工作空间 命令用于删除MATLAB工作空间 中的变量。who和whos这两个命令用于显 中的变量。who和whos这两个命令用于显 示在MATLAB工作空间中已经驻留的变量 示在MATLAB工作空间中已经驻留的变量 名清单。who命令只显示出驻留变量的名 名清单。who命令只显示出驻留变量的名 whos在给出变量名的同时 在给出变量名的同时, 称,whos在给出变量名的同时,还给出它 们的大小、所占字节数及数据类型等信息。 们的大小、所占字节数及数据类型等信息。
18
2.2.3 矩阵的修改
(1) 直接修改
可用↑键找到所要修改的矩阵, 可用↑键找到所要修改的矩阵,用←移动到需 要修改的矩阵元素上即可修改
(2) 指令修改
A(I,j)=a 例 a=[1 2 0;3 0 5;7 8 9] a=1 2 0 305 789 a(3,3)=0 a=1 2 0 305 789
17
2. 矩阵拆分
(1) 利用冒号表达式获得子矩阵 A(:,j)表示取 矩阵的第j列全部元素; 表示取A ① A(:,j)表示取A矩阵的第j列全部元素;A(i,:) 表示A矩阵第i行的全部元素;A(i,j)表示取 表示取A 表示A矩阵第i行的全部元素;A(i,j)表示取A矩阵 列的元素。 第i行、第j列的元素。 A(i:i+m,:)表示取 矩阵第i i+m行的全部元 表示取A ② A(i:i+m,:)表示取A矩阵第i~i+m行的全部元 A(:,k:k+m)表示取 矩阵第k k+m列的全部 表示取A 素;A(:,k:k+m)表示取A矩阵第k~k+m列的全部 元素,A(i:i+m,k:k+m)表示取 矩阵第i i+m行内 表示取A 行内, 元素,A(i:i+m,k:k+m)表示取A矩阵第i~i+m行内, 并在第k k+m列中的所有元素 列中的所有元素。 并在第k~k+m列中的所有元素。 此外,还可利用一般向量和end运算符来表示矩阵 此外,还可利用一般向量和end运算符来表示矩阵 下标,从而获得子矩阵。end表示某一维的末尾元 下标,从而获得子矩阵。end表示某一维的末尾元 素下标。 素下标。

第2章 matlab矩阵及其运算

第2章 matlab矩阵及其运算

第2章 MATLAB 矩阵及其运算
2.1.2 MATLAB常用数学函数
MATLAB提供了许多数学函数,函
数的自变量规定为矩阵变量,运算法
则是将函数逐项作用于矩阵的元素上, 因而运算的结果是一个与自变量同维
数的矩阵。
11/128 MALAB 7.X程序设计
第2章 MATLAB 矩阵及其运算
1. 三角函数 • sin 正弦函数 • asin 反正弦函数 • cos 余弦函数 • tan 正切函数 • cot 余切函数 • sec 正割函数 • csc 余割函数
在MATLAB命令口输入命令:
x=1+2i; y=3-sqrt(17); z=(cos(abs(x+y))-sin(78*pi/180))/(x+abs(y))
其中pi和i都是MATLAB预先定义的变量,分别
代表代表圆周率π和虚数单位。 输出结果是:
z =
-0.3488 + 0.3286i
10/128 MALAB 7.X程序设计
18/128 MALAB 7.X程序设计
第2章 MATLAB 矩阵及其运算
rem与mod的区别
rem(x,y)=x-y.*fix(x./y)
mod(x,y)=x-y.*floor(x./y)
eg: >>x=5;y=3; >>y1=rem(x,y),y2=mod(x,y) >> x=-5;y=3; >>y1=rem(x,y),y2=mod(x,y)
%绝对值 %取复数虚部 %取复数实部 %复数共轭
16/128 MALAB 7.X程序设计
第2章 MATLAB 矩阵及其运算
4. 取整函数 fix(x) 朝零方向取整 floor(x) 朝负无穷大方向取整 ceil(x) 朝正无穷大方向取整 round(x)四舍五入 mod(x,y) rem(x,y)取x/y的余数要求x,y 必须为相同大小的实矩阵或为标量。 eg: x=5.3 x=-5.3 -5.3 -5 0 5 5.3

MATLAB第二章

MATLAB第二章

2 特殊数据判断函数
常用的特殊数据判断函数:
• isinf(A) 返回一个与A同型的数组,该数组元素的 值根据A的相应位置元素的值为无穷大inf时设置为1, 否则为0。 • isnan(A) 返回一个与A同型的数组,该数组元素的 值根据A的相应位置元素的值为NaN 时设置为1,否 则为0。 • isfinite(A) 返回一个与A同型的数组,该数组元素 的值根据A的相应位置元素的值为有限值时设置为1, 否则为0。
关系运算规则
关系运算符的运算法则为: • 1 当两个比较量是标量时,直接比较两数的大 小。若关系成立,关系表达式结果为1,否则 为0。 • 2 当参与比较的量是两个同型的矩阵时,比较 是对两矩阵相同位置的元素按标量关系运算规 则逐个进行,并给出元素比较结果。最终的关 系运算的结果是一个与原矩阵同型的矩阵,它 的元素由0或1组成。
当a=[pi NaN Inf -Inf]时,分析下列 语句的执行结果
• isinf (a) • isnan (a) • isfinite (a)
例 当A=[-6,NaN,Inf,5;-Inf,-pi, eps,0] 时,分析下列语句的执行结果。 • • • • • • • all(A) all(all(A)) any(A) any(any(A)) isnan(A) isinf(A) isfinite(A)

建立任意的3×3的矩阵,并求 出能被3整除的元素。
9 -1;-3 -9 0];
A=[1 0 3 ;2
%生成3×3的矩阵A P=rem(A,3)==0
%判断A的元素是否可以被3整除 A(P) %求出被3整除的元素 如果求上述矩阵中能被5整除的元素呢? P=rem(A,5)==0
例 求三阶魔方矩阵中绝对值大于7的元素。 a=magic(3);

第2章 MATLAB矩阵及其运算

第2章  MATLAB矩阵及其运算
预定义变量 ans pi eps 含义 运算结果的默认变量名 圆周率 计算机最小数
flops
Inf、inf NaN、nan i、j nargin nargout realmin
浮点运算数
无穷大 非数 sqrt(-1) 函数输入变量个数 函数输出变量个数 最小可用正实数
realmax
最大可用正实数

注意这些操作: >> a= 1 >> abc= 1+2+3+4+5 >> a=2;b=3;c=5; >> A=2,B=4,C=6 >>area = r^2 ?
2.赋值语句 (1) 变量=表达式 (2) 表达式 %将表达式的值赋给MATLAB的预定义变量ans 其中表达式是用运算符将有关运算量连接起来的式子,其 >> z1 = exp(x) >> y= -3; >> z1 = exp(y) >> f= 2+ 4i; >> z3 = exp(f)
实战4:函数 log10
功能 常用对数,即以10为底数的对数。 格式 Y = log10(X) %计算X中的每一个元素的常用对数, % 若X中出现复数,则可能得到意想不到的结果。
补充: * 变量名不能为中文; * 系统变量名不要和自定义重名。
万一自定义变量名和系统变量名 一样结果会怎样?怎么办?

获取当前变量 命令行直接键入变量名。


变量的显示精度
控制显示精度函数: format 控制精度计算的函数: digits(n):设置缺省的精度; vpa(S,n):将S表示为n位有效位数的形式。 >> s= 1/3+1/3 >> digits(2) >> s ? >> vpa(s) >> vpa(s,10) >> s= 1+1/3+1/3 ?

第2章 MATLAB赋值、矩阵及其运算

第2章  MATLAB赋值、矩阵及其运算

精选ppt课件
11
3.通过语句等生成矩阵
(1)利用冒号表达式建立一个向量 冒号表达式可以产生一个行向量,一般
格式是: from:step:to 其中from为初始值,step为步长,to为终止 值。
注:(1)step省略时则默认为1。
(2)step>0且from>to时为空矩阵。
(3)step<0且from<to时为空矩阵。
ans = 4
精选ppt课件
20
如 >> B(:,3) ans =
9 10 11 12
>> B(2,:) ans =
2 6 10 14
精选ppt课件
21
(2) 利用空矩阵删除矩阵的元素 在MATLAB中,定义[]为空矩阵。给变
量X赋空矩阵的语句为X=[]。注意,X=[]与 clear X不同,clear是将X从工作空间中删除 X ,而空矩阵则存在于工作空间中,只是 维数为0。
精选ppt课件
23
如 >> h=ones(2,3) h=
111 111 >> g=eye(3) g= 100 010 001
精选ppt课件
24
例2-3 分别建立3×3、3×2和与矩阵A同样大小的零 矩阵。 (1) 建立一个3×3零矩阵。
zeros(3) (2) 建立一个3×2零矩阵。
zeros(3,2) (3) 设A为2×3矩阵,则可以用zeros(size(A))建立 一个与矩阵A同样大小零矩阵。 A=[1 2 3;4 5 6]; %产生一个2×3阶矩阵A zeros(size(A)) %产生一个与矩阵A同样大小的 零矩阵
精选ppt课件
26

MATLAB入门教程之矩阵及其运算

MATLAB入门教程之矩阵及其运算
元素都是用双精度数来表示和存储的。数据输 出时用户可以用format命令设置或改变数据输 出格式。format命令的格式为:
format 格式符 其中格式符决定数据的输出格式
8
第8页,共54页。
2.2 MATLAB矩阵 2.2.1 矩阵的建立
1.直接输入法 最简单的建立矩阵的方法是从键盘直接输入
矩阵的元素。具体方法如下:将矩阵的元素用 方括号括起来,按矩阵行的顺序输入各元素, 同一行的各元素之间用空格或逗号分隔,不同 行的元素之间用分号分隔。 A=[1 0.2 3;29 5 8;1 5 8; 0 2 8];
12
第12页,共54页。
2.2.2 矩阵的拆分 1.矩阵元素 通过下标引用矩阵的元素,例如 A(3,2)=200 采用矩阵元素的序号来引用矩阵元素。矩阵元素的序 号就是相应元素在内存中的排列顺序。在MATLAB 中,矩阵元素按列存储,先第一列,再第二列,依次 类推。例如 A=[1,2,3;4,5,6]; A(3) ans = 2
的大小。若关系成立,关系表达式结果为1, 否则为0。
(2) 当参与比较的量是两个维数相同的矩阵 时,比较是对两矩阵相同位置的元素按标量关 系运算规则逐个进行,并给出元素比较结果。 最终的关系运算的结果是一个维数与原矩阵相 同的矩阵,它的元素由0或1组成。
29
第29页,共54页。
(3) 当参与比较的一个是标量,而另一个是矩 阵时,则把标量与矩阵的每一个元素按标量关 系运算规则逐个比较,并给出元素比较结果。 最终的关系运算的结果是一个维数与原矩阵相 同的矩阵,它的元素由0或1组成。
26
第26页,共54页。
(4) 矩阵的乘方 一个矩阵的乘方运算可以表示成A^x,要求
A为方阵,x为标量。 2.点运算

Matlab程序设计第2章矩阵及其运算

Matlab程序设计第2章矩阵及其运算

2.2.2 创建二维数组 方法2:用函数生成特殊矩阵
函数 zeros (全零阵) 格式 B = zeros(n) B = zeros(m,n) 函数 ones (全1阵) 格式 B = ones(n) B = ones(m,n) 函数 eye(单位矩阵) 格式 B = eye(n) B = eye(m,n) %生成n×n全零阵 %生成m×n全零阵
2.2.4二维数组的寻访与赋值
判断数组维数和大小 1) 判断数组维数的指令:ndims 2) 判断数组大小的指令:size 例如:上例中数组A的维数和大小分别为
>> An=ndims(A), As=size(A) An = 2 As = 3 3
表示数组A大小的行数组的长度 (As的长度) 等于数组A的 维数 (An),length(As)=An 数组A的长度指最长维的长度:length(A)=max(As)。
注意: 1) 子数组寻访取决于 x ( index )中的下标index。 2) 下标 index 可以是单个数值或数组,但是 index 的元素取 值必须在 [ 1 , end ] 的范围内。end 为数组最大下标。 3) 子数组赋值时,注意被赋值的子数组长度与送入的数组长 度一致。
2.2.4二维数组的寻访与赋值
%生成n×n全1阵 %生成m×n全1阵 %生成n×n单位阵 %生成m×n单位阵
2.2.2 创建二维数组 方法2:用函数生成特殊矩阵
函数 randn 格式 y = randn(n) y = randn(m,n) %生成n×n正态分布随机矩阵 %生成m×n正态分布随机矩阵
产生均值为0.6,方差为0.1的4阶矩阵 >> mu=0.6; sigma=0.1; >> x=mu+sqrt(sigma)*randn(4) x= 0.8311 0.7799 0.1335 1.0565 0.7827 0.5192 0.5260 0.4890 0.6127 0.4806 0.6375 0.7971 0.8141 0.5064 0.6996 0.8527

MATLAB_2 MATLAB矩阵及其运算

MATLAB_2  MATLAB矩阵及其运算
2011-5-29 计算机辅助设计与仿真
2.2 MATLAB 矩阵
2.2.2 矩阵的拆分
1、矩阵元素 、 MATLAB 允许用户对一个矩阵的单个元素进行赋值和操 作,例如 A(3,2)=200 。— — 通过下标引用矩阵的元素 也可采用矩阵元素的序号来引用矩阵元素。 也可采用矩阵元素的序号来引用矩阵元素。矩阵元素的 序号就是相应元素在内存中的排列顺序。 序号就是相应元素在内存中的排列顺序。在 MATLAB 中, 矩阵元素按列存储,先第一列,再第二列,依次类推。 矩阵元素按列存储,先第一列,再第二列,依次类推。例如 A=[1,2,3;4,5,6]; A(3) ans = 2
2011-5-29
计算机辅助设计与仿真
2.2 MATLAB 矩阵
2.2.3 特殊矩阵
常用的产生通用特殊矩阵的函数有: 常用的产生通用特殊矩阵的函数有: zeros:产生全 0 矩阵 零矩阵 。 矩阵(零矩阵 零矩阵)。 : ones:产生全 1 矩阵 幺矩阵 。 矩阵(幺矩阵 幺矩阵)。 : eye:产生单位矩阵。 :产生单位矩阵。 rand:产生 0~1 间均匀分布的随机矩阵。 : ~ 间均匀分布的随机矩阵。 randn:产生均值为 0 ,方差为 1 的标准正态分布随机 : 矩阵。 矩阵。
2011-5-29 计算机辅助设计与仿真
2.1 变量和数据操作
2.1.5 数据的输出格式
MATLAB 用十进制数表示一个常数,具体可采用日常 用十进制数表示一个常数, 记数法和科学记数法两种表示方法。 记数法和科学记数法两种表示方法。 在一般情况下,MATLAB 内部每一个数据元素都是用 在一般情况下, 双精度数来表示和存储的。 双精度数来表示和存储的。数据输出时用户可以用 format 命令设置或改变数据输出格式。 命令的格式为: 命令设置或改变数据输出格式。format 命令的格式为: format 格式符 其中格式符决定数据的输出格式

第2章 MATLAB矩阵及其运算

第2章  MATLAB矩阵及其运算

2013-11-6
郑州轻工业学院
13
例2-2 利用M文件建立MYMAT矩阵。 (1) 启动有关编辑程序或MATLAB文本编辑 器,并输入待建矩阵: (2) 把输入的内容以纯文本方式存盘(设文 件名为mymatrix.m)。 (3) 在MATLAB命令窗口中输入mymatrix, 即运行该M文件,就会自动建立一个名为 MYMAT的矩阵,可供以后使用。
2013-11-6
郑州轻工业学院
16
2.矩阵拆分 (1) 利用冒号表达式获得子矩阵 ① A(:,j)表示取A矩阵的第j列全部元素;A(i,:)表示A矩 阵第i行的全部元素;A(i,j)表示取A矩阵第i行、第j列的元 素。 ② A(i:i+m,:)表示取A矩阵第i~i+m行的全部元素; A(:,k:k+m)表示取A矩阵第k~k+m列的全部元素, A(i:i+m,k:k+m)表示取A矩阵第i~i+m行内,并在第k~ k+m列中的所有元素。 此外,还可利用一般向量和end运算符来表示矩阵下标, 从而获得子矩阵。end表示某一维的末尾元素下标。
2013-11-6 郑州轻工业学院 24
(3) 希尔伯特矩阵 在MATLAB中,生成希尔伯特矩阵的函数 是hilb(n)。 使用一般方法求逆会因为原始数据的微小 扰动而产生不可靠的计算结果。MATLAB 中,有一个专门求希尔伯特矩阵的逆的函 数invhilb(n),其功能是求n阶的希尔伯特矩 阵的逆矩阵。
2.3 MA有:+(加)、 -(减)、*(乘)、/(右除)、\(左除)、^(乘方)。 注意,运算是在矩阵意义下进行的,单个 数据的算术运算只是一种特例。
2013-11-6
郑州轻工业学院
29

第2章 MATLAB矩阵及其运算

第2章 MATLAB矩阵及其运算
数值计算与MATLAB语言 –Chen Z.H, P9
物理科学与工程技术学院
3.除了可以把数值直接赋给变量,还可以将表达式, 矩阵赋给变量 【例2-4】变量的赋值举例如下: a=[1 4 7] B=abs(6+13i) C=[]
MATLAB的运行结果如下: a= 1 4 7 B= 14.3178 C= [] 注:当表达式的结果赋给变量时,而没有定义变量。系统默认 为ans。
物理科学与工程技术学院
7.MATLAB内存变量的管理
(1)在创建和修改数组时利用连续内存保存相关 的变量 在MATLAB中,通常利用内存中存在的连续虚拟 块为数组赋值时的内存分配,但是数组的类型和维 数作为数组的头信息保存在其它的地方(即两者没 有存放在同一连续的内存区域)。
数值计算与MATLAB语言 –Chen Z.H, P29
MATLAB的运行结果如下:
数值计算与MATLAB语言 –Chen Z.H, P27
物理科学与工程技术学院
3 2.5 2 1.5 1
1
1.5
2
2.5
3
3.5
4
2 1.5 1 0.5 0
1
1.5
2
2.5
3
3.5
4
图2.5 subplot运行结果
数值计算与MATLAB语言 –Chen Z.H, P28
物理科学与工程技术学院
下面对向量a进行长度的求解。 n=length(a)
MATLAB的运行结果如下: n= 10
利用MATLAB中的who命令显示MATLAB中 的变量名。 who a
MATLAB的运行结果如下: Your variables are: a
数值计算与MATLAB语言 –Chen Z.H, P14

第2章2MATLAB矩阵及其运算

第2章2MATLAB矩阵及其运算

例:
>> a=[1 2 3;4 5 6; 7 8 9]
a=
123
456
789
>> a(:,2) ans =
2
>> a(2,:) ans =
456
5
8
>> a([1 2],:) ans =
123 456
>> a([1 end],:) ans =
123 789
>> a([1 3],:) ans =
123 789
【例2.13.1-2】关系运算运用之一:求近似极限,修补图形缺口。 >> t=-2*pi:pi/10:2*pi; y=sin(t)./t; tt=t+(t==0)*eps; yy=sin(tt)./tt; subplot(1,2,1),plot(t,y),axis([-7,7,-0.5,1.2]), xlabel('t'),ylabel('y'),title('残缺图形') subplot(1,2,2),plot(tt,yy),axis([-7,7,-0.5,1.2]) xlabel('t'),ylabel('yy'),title('正确图形') Warning: Divide by zero. (Type "warning off MATLAB:divideByZero" to suppress this warning.)
1122
2.矩阵拆分 (1) 利用冒号表达式获得子矩阵 ① A(:,j)表示取A矩阵的第j列全部元素;A(i,:)
表示A矩阵第i行的全部元素;A(i,j)表示取A矩阵 第i行、第j列的元素。

第2-3章 MATLAB矩阵及其运算

第2-3章  MATLAB矩阵及其运算

2.log 功能:自然对数。 格式: Y=log(X) 说明: Y=log(X)可得到X的自然对数(以 e=2.7183为底)
3.log10 功能:常用对数。 格式: Y=log10(X) 说明: 类似于log函数,Y=log10(X)可得到X的 常用对数(以10为底),这里不再赘述。
4.log2 功能:以2为底的对数和将浮点数分解成 指数和尾数部分。
一些有用变量长久地保留下来,扩展名是.mat。 MAT文件的生成和装入由save和load命令来完成。 常用格式为: save 文件名 [变量名表] [-append][-ascii]
load 文件名 [变量名表] [-ascii]
其中,文件名可以带路径,但不需带扩展名 .mat , 命令隐含一定对 .mat 文件进行操作。变量名表中
2.3.3 矩阵的拆分
1.矩阵元素的引用方式
通过下标引用矩阵的元素,例如 A(3,2)=200 采用矩阵元素的序号来引用矩阵元素。矩阵元素的序
号就是相应元素在内存中的排列顺序。在MATLAB中,
注意:矩阵元素按列存储,先第一列,再第二列,依
次类推。
例如 A=[1,2,3;4,5,6];
A(3) ans = 2 显然,序号(Index)与下标(Subscript )是一一对应的,
三角阵三角阵又进一步分为上三角阵和下三角阵所谓上三角阵即矩阵的对角线以下的元素全为0的一种矩阵而下三角阵则是对角线以上的元素全为0的一种矩阵
第2章 MATLAB矩阵及其运算
MATLAB变量和数据操作 MATLAB矩阵及其操作 MATLAB运算与矩阵分析 字符串、结构数据和单元数据 MATLAB稀疏矩阵及其操作
预定义变量有特定的含义,在使用时,应尽量避

第二章 matlab矩阵及其运算

第二章 matlab矩阵及其运算

1.矩阵的创建
(2)从外部数据文件读取
load score.dat (3) 利用matlab内部函数产生矩阵 例如:b=eye(3); 单位阵 c= ones(2,5); 全一阵 d=zeros(3,2); 全零阵 e=rand(2,3); 如:score2.m 则在命令行直接键入score2就可产生score2矩阵 随机阵 (4)用户编写m文件产生矩阵
k=find(a) k= 33 74
2.矩阵寻址或者下标
[i,j,v]=find(a>0) i=3 j=7 v=1
If X is a logical expression, then v is a logical array. Output v contains the nonzero elements of the logical array obtained by evaluating the expression X.
1.矩阵的创建
>> x=(0:0.1:1)*pi x= 0 0.3142 0.6283 0.9425 1.2566 1.5708 1.8850 2.1991 2.5133 2.8274 3.1416 >> x=linspace(0,pi,11) % linspace(first_value,last_value,number_of_value)) x= 0 0.3142 0.6283 0.9425 1.2566 1.5708 1.8850 2.1991 2.5133 2.8274 3.1416
文件形式输入
可以用来读入试验数据 大量的数据输入
load数据
文本文件:全部是数据,不含有文字 mat文件:matlab自有的数据格式
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第二章matlab矩阵及其运算
一,实验目的
1,掌握matlab数据对象的特点以及数据的运算规则。

2,掌握matlab中建立矩阵的方法以及矩阵处理的方法。

3,掌握matlab分析的方法。

二,实验内容
1.w=sqrt(2)*(1+0.34245*10^(-6))
w =
1.4142
2.a=3.5;
b=5;
>> c=-9.8;
>> x=(2*pi*a+(b+c)/(pi+a*b*c)-exp(2))/(tan(b+c)+a)
x =
0.9829
3.a=3.32;b=-7.9;
y=2*pi*a^2*((1-pi/4)*b-(0.8333-pi/4)*a)
y =
-128.4271
4.t=[2,1-3i;5,-0.65];
>> z=(1/2)*exp(2*t)*log(t+sqrt(1+t^2))
z =
1.0e+004 *
0.0057 - 0.0007i 0.0049 - 0.0027i
1.9884 - 0.3696i 1.7706 - 1.0539i
2.1-1 a=[-1,5,-4;0,7,8;3,61,7];
>> b=[8,3,-1;2,5,3;-3,2,0];
>> x=a^2-b+eye,y=a+6*b
x =
-18 -216 18
23 533 110
22 868 526
y =
47 23 -10
12 37 26
-15 73 7
1-2 a=[-1,5,-4;0,7,8;3,61,7];
b=[8,3,-1;2,5,3;-3,2,0];
>> x=a*b,y=a.*b,z=b*a
x =
14 14 16
-10 51 21
125 328 180
y =
-8 15 4
0 35 24
-9 122 0
z =
-11 0 -15
7 228 53
3 -1 28
1-3 a=[-1,5,-4;0,7,8;3,61,7];
b=[8,3,-1;2,5,3;-3,2,0];
>> x=a/b,y=b\a
x =
1.2234 -0.9255
2.9787
-0.9468 2.3511 -0.9574
4.6170 3.8723 13.8936
y =
-0.5106 -8.6170 -1.1277
0.7340 17.5745 1.8085
-0.8830 -21.2128 0.4043
1-4 a=[-1,5,-4;0,7,8;3,61,7];
b=[8,3,-1;2,5,3;-3,2,0];
>> x=[a,b],y= [a([1,3],:);b^2]
x =
-1 5 -4 8 3 -1
0 7 8 2 5 3
3 61 7 -3 2 0
y =
-1 5 -4
3 61 7
73 37 1
17 37 13
-20 1 9
3.(1)a=[23,10,-0.778,0;41,-45,65,5;32,5,0,32;6,-9.54,54,3.14]; >> x=find(a>=10&a<=25);
>> a(x)
ans =
23
10
(2)a=[23,10,-0.778,0;41,-45,65,5;32,5,0,32;6,-9.54,54,3.14]; >> b=a(1:3,:)
b =
23.0000 10.0000 -0.7780 0
41.0000 -45.0000 65.0000 5.0000
32.0000 5.0000 0 32.0000
a=[23,10,-0.778,0;41,-45,65,5;32,5,0,32;6,-9.54,54,3.14]; >> c=a(:,1:2)
c =
23.0000 10.0000
41.0000 -45.0000
32.0000 5.0000
6.0000 -9.5400
a=[23,10,-0.778,0;41,-45,65,5;32,5,0,32;6,-9.54,54,3.14]; >> d=a(2:4,2:4)
d =
-45.0000 65.0000 5.0000
5.0000 0 32.0000
-9.5400 54.0000 3.1400
a=[23,10,-0.778,0;41,-45,65,5;32,5,0,32;6,-9.54,54,3.14]; >> c=a(:,1:2),b=a(1:3,:),e=b*c
c =
23.0000 10.0000
41.0000 -45.0000
32.0000 5.0000
6.0000 -9.5400
b =
23.0000 10.0000 -0.7780 0
41.0000 -45.0000 65.0000 5.0000
32.0000 5.0000 0 32.0000
e =
1.0e+003 *
0.9141 -0.2239
1.2080
2.7123
1.1330 -0.2103
4. H=hilb(5),Hh=det(H)
H =
1.0000 0.5000 0.3333 0.2500 0.2000
0.5000 0.3333 0.2500 0.2000 0.1667
0.3333 0.2500 0.2000 0.1667 0.1429
0.2500 0.2000 0.1667 0.1429 0.1250
0.2000 0.1667 0.1429 0.1250 0.1111 Hh =
3.7493e-012
P=pascal(5),Hp=det(P)
P =
1 1 1 1 1
1 2 3 4 5
1 3 6 10 15
1 4 10 20 35
1 5 15 35 70
Hp =
1
H=hilb(5),Th=cond(H)
H =
1.0000 0.5000 0.3333 0.2500 0.2000
0.5000 0.3333 0.2500 0.2000 0.1667
0.3333 0.2500 0.2000 0.1667 0.1429
0.2500 0.2000 0.1667 0.1429 0.1250
0.2000 0.1667 0.1429 0.1250 0.1111
Th =
4.7661e+005
P=pascal(5),Tp=cond(P)
P =
1 1 1 1 1
1 2 3 4 5
1 3 6 10 15
1 4 10 20 35
1 5 15 35 70
Tp =
8.5175e+003
矩阵H的条件数比矩阵P的条件数更接近于1,因此,矩阵H的性能要好于矩阵P
a=[-29,6,18;20,5,12;-8,8,5];
>> [V,D]=eig(a)
V =
0.7130 0.2803 0.2733
-0.6084 -0.7867 0.8725
0.3487 0.5501 0.4050
D =
-25.3169 0 0
0 -10.5182 0
0 0 16.8351
线性代数中已经证明,行列式|A-xI|是一个关于x的n阶多项式,因而方程|A-xI|=0是一个n 次方程,有n个根(含重根),就是矩阵a的n个特征值,每一个特征值对应无穷多个特征向量。

相关文档
最新文档