第二章 matlab矩阵及其运算


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.矩阵的创建 • >> logspace(0,2,11)
%创建从100开始,到102结束,包含11个值的数组
ans = 1.0000 1.5849 2.5119 3.9811 6.3096 10.0000 15.8489 25.1189 39.8107 63.0957 100.0000
1.矩阵的创建
2.矩阵寻址或者下标
D= 1 2 3
>> D(2)
4 5 6
7 8 9
10 11 12
ans = 2 >> D(5) ans = 5
2.矩阵寻址或者下标
函数ind2sub 可以将一个单一索引值转换成 行列下标,则sub2ind可以将行列下标转换成单 一索引值。 >> sub2ind(size(D),2,4) ans = 11 >> [r , c] = ind2sub(size(D),10) r= 1 c= 4
2.矩阵寻址或者下标 利用下标修改矩阵元素,更是方便 例:a(2,3) = 15; a(2,1:3) = [5 10 15]; 这时a的第二行变成5 10 15, 其他行不变 也可利用end表示最后一个元素 a(2,1:end)表示矩阵的第二列
2.矩阵寻址或者下标
看几个简单的例子:
>> A = [1 2 3; 4 5 6; 7 8 9 ] A= 1 2 3 4 5 6 7 8 9 >> A ( 3 , 3 ) = 0 % set element in 3rd row, 3rd column to zero A= 1 2 3 4 5 6 7 8 0
矩阵下标
在Matlab中,我们可以通过下标来访 问矩阵元素。 矩阵下标相当重要,灵活,等同于c语 言的指针地位 例:b=a(1,2)+a(2,3) b=a(8)+a(4) 注意:matlab是按列存取的。
2.矩阵寻址或者下标 例如, >> x(3) % The third element of x ans = 0.6283 >> y(5) % The fifth element of y ans = 0.9511
3.1416
2.矩阵寻址或者下标 • 例子: • >> y(3:-1:1) %表示返回y的元素从3开始, 向下减1计数,到1结束。 • >> x(2:2:7) %表示返回x的元素从2开始, 以步长为2计数,到7结束。 • >> y([8 2 9 1]) % ????? • >> y([1 1 3 4 2 2 8 ]) % ?????
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
第二章 MATLAB矩阵及其运算
—MATLAB具有出色的矩阵运算能力, 能解决线性代数中的关于矩阵的一切运算。
目录
1. 简单矩阵的创建 2. 矩阵寻址或者下标
3. 几种典型矩阵
4. 矩阵运算
MATLAB矩阵简介
从结构上讲,矩阵(数组)是MATLAB数 据存储的基本单元 从运算角度讲,矩阵形式的数据有多种运
4.几种典型矩阵
下列命令用来创建 单位矩阵:
>> eye(4) ans = 1 0 0 1 0 0 0 0 0 0 1 0 0 0 0 1
下列命令用来创建随机矩阵:
>> rand(3) ans = 0.8147 0.9134 0.2785 0.9058 0.6324 0.5469 0.1270 0.0975 0.9575 >> rand(1,5) ans = 0.9649 0.1576 0.9706 0.9572 >> b=eye(3) b= 1 0 0 0 1 0 0 0 1 >> rand(size(b)) ans = 0.8003 0.9157 0.6557 0.1419 0.7922 0.0357 0.4218 0.9595 0.8491
2.矩阵寻址或者下标
数组寻址 描述 A(r , c) 用所希望的行r和所希望的列c定义的索引向量来寻 址A的子数组 A(r , :) 用所希望的行r和所有的列所定义的索引向量来寻址 A的子数组 A(: , c) 用所有的行和所希望的列c定义的索引向量来寻址A 的子数组 A( : ) 以列向量的方式一次寻址A的所有元素,依列进行。 如果A(:)出现在等号的左侧,意味着用等号右侧的 元素来填充数组A,而不改变A的形状。 A( k ) 用单一索引向量k寻址A的子数组,就像A是列向量 A(:)一样
2.矩阵寻址或者下标
>> A = [1 2 3; 4 5 6; 7 8 9 ] ;%restore original data >> B= A (3:-1:1 , 1:3) B= 7 4 1 8 5 2 9 6 3
该语句通过将数组A的行按逆序排列,得到数组B。
2.矩阵寻址或者下标
>> C = [A B( : , [1 3] )] C= 1 2 3 7 9
2.矩阵寻址或者下标
• 如果想要访问一块数据, >> x(1:5) ans = 0 0.3142 0.6283 0.9425
>> x(7:end) ans = 1.8850 2.1991 2.5133 2.8274 关键字end表示x数组的最后一元素
1.2566
括号中“1:5”表示从1开始,然后加1计数直到5。
4
7
5
8
6
9
4
1
6
3
该语句通过将数组B的第一和第三列附加或连接在数组 A的右侧,生成数组C。
2.矩阵寻址或者下标 矩阵行列删除
利用空矩阵可从矩阵中删除指定的行或列。 如,要删除第二行 b(2, :)=[ ] 要删除第二列 b(:,2) = [ ] 注意:将矩阵某元素附空值与赋零值完全不同 b(1,2) = [ ]出错! b(1,2) = 0 可以
1.矩阵的创建
一维矩阵创建方法 x=[2 2*pi sqrt(2) 2-3j] X=first:last 意 义
创建包含任意元素的行向量x
创建行向量x,从first开始,步长为1, 到last结束。如果不能到last,则到小于 last的最大正数结束。 x=first:increment: 创建行向量x,从first开始,步长为 last increment,到last结束。如果不能到 last,则到小于last的最大正数结束。 X=linspace(first,la 创建均匀间隔的行向量x,从first开始, st,n) 到last结束。总共有n个元素。 X=logpace(first,la 创建均匀间隔的行向量x,从10first开始, st,n) 到10last结束。总共有n个元素。
2.矩阵寻址或者下标
>> A ( 2 , 6 ) = 1 % set element in 2rd row, 6th column to one A= 1 2 3 0 0 0 4 5 6 0 0 1 7 8 0 0 0 0 >> A( : , 4) = 4 % set element in 4th column to four A= 1 2 3 4 0 0 4 5 6 4 0 1 7 8 0 4 0 0
2.矩阵寻址或者下标
find函数
k=find(X)可在阵列X中找出非零元素下标 [i, j]=find(X)可在矩阵X中找出非零元素的 行列下标。 [i, j, v]=find(X)可得到非零值的列向量v.
2.矩阵寻址或者下标
a=zeros(5,20); a(3,7)=0.5; a(4,15)= -0.4; [i,j,v]=find(a) i=3 4 j=7 15 v=0.5000 -0.4000
4.几种典型矩阵 典型矩阵
>> ones(3) ans = 1 1 1 1 1 1 1 1 1 >> zeros(2,5) ans = 0 0 0 0 0 0 说明:
0 0
0 0
对于ones和zeros函数, 只有一个输入参数时,即 ones(n)或zeros(n), Matlab就生成一个nxn的全 1或者全0数组;当有两个 输入参数时,即ones(r,c) 或zeros(r,c), Matlab就分 别生成一个r行c列的全1或 者全0数组。
1.矩阵的创建
这样,x和y就成了一一对应的有序数列。由于这种有序性 的存在,我们就很自然地想到用下标来表示x和y中的一 个单独元素。如,x1表示x的第一个元素,y1表示y的第 一个元素,以此类推…… MATLAB的实现:
• • • • • • >> x= [0 .1*pi .2*pi .3*pi .4*pi .5*pi .6*pi .7*pi .8*pi .9*pi pi] x= 0 0.3142 0.6283 0.9425 1.2566 1.5708 1.8850 2.1991 2.5133 2.8274 3.1416 >> y=sin(x) y= 0 0.3090 0.5878 0.8090 0.9511 1.0000 0.9511 0.8090 0.5878 0.3090 0.0000
合集下载

第2章__MATLAB矩阵及其运算

第2章__MATLAB矩阵及其运算

3.利用冒号表达式建立一个向量(增量赋值) .利用冒号表达式建立一个向量(增量赋值) 冒号表达式可以产生一个行向量,标准格式是: 冒号表达式可以产生一个行向量,标准格式是: x=e1:e2:e3 其中e1为初始值 为初始值, 为步长 为步长, 为终止值 为终止值。 其中 为初始值,e2为步长,e3为终止值。
2、矩阵变量的性质 、 矩阵变量的维数可以用size( )函数获得: 函数获得: 矩阵变量的维数可以用 函数获得 例: 矩阵标识符为[ , 矩阵标识符为 ],如 果是1*1矩阵,则可以 矩阵, 果是 矩阵 省略矩阵标识符; 省略矩阵标识符; 矩阵变量的各行之间 用分号隔开, 用分号隔开,列之间 用逗号或空格隔开;
计算表达式的值,并显示计算结果。 例2-1 计算表达式的值,并显示计算结果。 在MATLAB命令窗口输入命令: 命令窗口输入命令: 命令窗口输入命令 x=1+2i; y=3-sqrt(17); z=(cos(abs(x+y))-sin(78*pi/180))/(x+abs(y)) 其中pi和 都是 都是MATLAB预先定义的变量, 预先定义的变量, 其中 和i都是 预先定义的变量 分别代表代表圆周率π和虚数单位。 分别代表代表圆周率 和虚数单位。 和虚数单位 输出结果是: 输出结果是: z= -0.3488 + 0.3286i
2.1.1 变量与赋值语句
在matlab中,变量定义为矩阵是最基本的变量定 中 义之一,因此, 义之一,因此,matlab语言的运算是基于矩阵的 语言的运算是基于矩阵的 运算。 运算。
1.变量命名 .
变量名是以字母开头, 在MATLAB 中,变量名是以字母开头,后接字 母、数字或下划线的字符序列。在MATLAB中, 数字或下划线的字符序列。 中 变量名区分字母的大小写, 变量名区分字母的大小写,且自定义的变量名最 好不要和matlab中的专用变量及函数同名。 中的专用变量及函数同名。 好不要和 中的专用变量及函数同名 A=3; a=3; _q=4; a_1=5; B=[1 2;3 4]

第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]

Matlab矩阵及其运算

Matlab矩阵及其运算

2.2 Matlab矩阵及其操作
2.2.3 特殊矩阵 • 通用特殊矩阵
zeros:产生全0矩阵(零矩阵) ones:产生全1矩阵(幺矩阵) eye:产生单位矩阵 rand:产生0~1间均匀分布的随机矩阵 randn:产生均值为0,方差为1的标准正态分布随 机矩阵
2.2 Matlab矩阵及其操作
2.4 字符串、结构和单元数据
2.4.1 字符串 • 构建
使用‘单撇号’括起来的字符序列,例:str=‘Hello World!’
• 字符串操作
以ASCII码形式存储 获取字符ASCII值:double或abs函数 ASCII转化为字符输出:char函数 例: double('a') abs('a') char(63) (Ex2_12)
定义[ ]为空矩阵,x=[ ] x=[ ]与clear x的区别 将某些元素从矩阵中删除可设置为空矩阵
• 改变矩阵形状
reshape(A,m,n)函数 例:x=[23,45,56,67,78,34,98,65,43,76,12,46] y=reshape(x,3,4) y1=reshape(x,2,6)
• 转置与旋转
转置:单撇号(’),即A’ 旋转:rot90(A,k)函数 左右和上下翻转:fliplr(A)和flipud(A)
2.3 Matlab运算与矩阵分析
2.3.2 矩阵分析 • 矩阵的逆和伪逆:inv(A) 和pinv(A) • 方阵行列式:det(A) • 矩阵的秩与迹:rank(A)和trace(A) • 向量和矩阵范数:norm(V,1)、 norm(V)和 norm(V,inf) • 矩阵条件数: cond(V,1)、 cond(V)和 cond(V,inf) • 矩阵特征值与特征向量:[V,D]=eig(A) (Ex2_11)

MATLAB矩阵及运算

MATLAB矩阵及运算

点乘——元素对元素乘法 叉乘——矩阵对矩阵乘法
对比举例
矩阵的右除、左除
MATLAB的基本处理单元是复数矩阵(标量是一 个1*1的矩阵)。而在《线性代数》理论中没有除 法运算。所以定义了除法为乘法的逆运算。
注意:因为矩阵乘法不满足交换律,即一般 A*B≠B*A,所以除法要考虑“右除”、“左 除”。
2.1.2 变量
变量的命名规则: 1)变量名、函数名对字母的大、小写敏感。 2)变量名由字母、数字和下划线构成。第一个
字母必须是英文字母。 3)有字符个数限制(版本5.0 :最多31个字符)
2.1.2 变量
MATLAB系统默认变量
重点
(注意大小写!)
i或j:
虚单元 正确:5+7j 错误:5+j7
2.1表达式
表达式 (即语句):将变量、数值、函数 用操作符连接起来,就构成了表达式 。
例如:a=(10j+sqrt(10))/2; %注释 ☆行末的“;”用于抑制结果在屏幕上显示
例如: sin(a),sin(b) ,a+b ☆同在一行的表达式,必须用“,”分开
2.2 矩阵的产生与操作
矩阵的产生:
A./Baa31//b b1 3
a2/b2 a4/b4
B.\A
A.\Bbb31//aa13 bb42//aa42B./A
分析:
K/N=K*inv(N)
因为N不是方阵,没有逆 阵,所以报告错误。
K\N=inv(K)*N
因为K的逆阵尺寸2×2, N的尺寸2×3,所以结 果矩阵2×3。
矩阵元素的指数运算
这种战略取得了成功:使人们不在编程细节上化 精力,把注意力集中到科学计算的方法和建模合理性等 大问题上。

MATLAB基础教程 第2章 数组、矩阵及其运算

MATLAB基础教程 第2章 数组、矩阵及其运算

写出MATLAB表达式。 解:根据MATLAB的书写规则,以上MATLAB表达式为: (1)y=1/(a*log(1-x-1)+C1) (2)f=2*log(t)*exp(t)*sqrt(pi) (3)z=sin(abs(x)+abs(y))/sqrt(cos(abs(x+y))) (4)F=z/(z-exp(T*log(8)))
命令:X(3:-1:1)
命令:X(find(X>0.5)) 命令:X([1 2 3 4 4 3 2 1])
第二章 数组、矩阵及其运算
2.1 数组(矩阵)的创建和寻访
2. 二维数组的创建和寻访
例2-3 综合练习。将教材P.31~P.44的实例按顺序在MATLAB的 command窗口中练习一遍,观察并体会其输出结果。 (注意变量的大小写要和教材上的严格一致。)
A./B
B.\A
A的元素被B的对应元素相除
(与上相同)
第二章 数组、矩阵及其运算
2.3 数组、矩阵的其他运算
1. 乘方开方运算
数组的乘方运算与power函数 格式:c=a.^k或c=power(a,k) 例如: >> g=[1 2 3;4 5 6] >>g.^2 矩阵的乘方运算与mpower函数 格式:C=A^P或C=mpower(A,P) 注意:A必须为方阵
第二章 数组、矩阵及其运算
2.2 数组、矩阵的运算
3. 矩阵的加法、减法
运算规则是:若A和B矩阵的维数相同,则可以执行矩阵的加减运算, A和B矩阵的相应元素相加减。如果维数不相同,则MATLAB将给出
出错信息。
第二章 数组、矩阵及其运算
2.2 数组、矩阵的运算
3. 矩阵的乘法

第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矩阵及其运算


3.矩阵拼接 (1)水平方向拼接:c=[a b]或者 c=[a,b] 垂直方向拼接:c=[a;b]
(2)Cat 函数用于指定方向拼接: m=cat(1,a,b,c,...)垂直拼接; m=cat(2,a,b,c,...)水平拼接; m=cat(3,a,b,c,...)三维数组
(3)repmat 函数用于通过输入矩阵的备份拼接成新的大矩 阵 B=repmat(A,m,n):表示将 A 矩阵做一个最小单元,用 m 行 A 矩阵,n 列 A 矩阵拼成矩阵 B
(8)矩阵的超越函数(直接作用于方阵) sqrtm(a):计算矩阵的平方根。若 a 为对称正定矩阵,则能算 出它的平方根,若 a 矩阵含有负的特征根,则 sqrtm(a)可得到一个复矩阵; 矩阵对数函数 log m 的输入参数的条件与输出结果间的关系 和函数 sqrtm(a)一样; 矩阵指数函数 expm 的功能是求矩阵指数, expm 函数与log m 函数是互逆的;
通用矩阵函数 funm 对矩阵 a 的计算由 fun 定义的函数矩阵 的函数值。
(行,列)
则有 b = 0.0975
(3)多元素访问:(以矩阵 A 为例) A(m,n,q):表示取数组或矩阵 A 的第 m 个元素开始,每隔 n 步,一直到 q 的所有元素; A([m n g]):表示取数组或矩阵 A 中的第 m,n,g 个元素; A(:,c):表示取第 c 列所有元素; A(r,:):表示取第 r 行所有元素; A(i:i+m,:):表示取从第 i 行到 i+m 行的全部元素; A(: ,k:k+n):表示取从第 k 列到 k+n 列的全部元素; A(i:i+m,k:k+n):表示取从第 i 行到 i+m 行内,并在第 k 列到 k+n 列的全部元素。 例如:

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);

MATLAB基础教程第2章


第二章 数组、矩阵及其运算
2.1 数组的创建和寻访
例2-2 一维数组的生成与访问
命令:X=rand(1,5) 命令:X(3) 命令:X([1 2 5]) 命令:X(1:3) 命令:X(3:end) 命令:X(3:-1:1) 命令:X(find(X>0.5)) 命令:X([1 2 3 4 4 3 2 1])
第二章 数组、矩阵及其运算
2.2 矩阵的运算
例2-6 矩阵的乘法(接着上面的例子) A*B 3*A
注意:矩阵相乘时要求A的列数等于B的行数
第二章 数组、矩阵及其运算
2.2 矩阵的运算
A/B(矩阵右除)表示的是方程X*B=A的解 A\B(矩阵左除)表示的是方程A*X=B的解
例2-7 矩阵的除法( 见教材P.23)
第二章 数组、矩阵及其运算
2.3 数组的运算
1、数组的基本运算
例2-8 ( 见教材P.25)
第二章 数组、矩阵及其运算
2.3 数组的运算
数组运算和矩阵运算指令对照表
数组运算 指令 A.’ A=s A+s,A-s s.*A s./A,A.\s A.^n A+B,A-B A.*B A./B B.\A 含义 非共轭转置,相当于conj(A’) 把标量s赋给A中每个元素 标量s分别于A的元素之和(差) 标量s分别于A的元素之积 S分别被A的元素除 A的每个元素自乘n次 对应元素相加(减) 对应元素相加(乘) A的元素被B的对应元素相除 (与上相同) A^n A+B,A-B A*B A /B B\A 方阵A自乘n次 矩阵和(差) 同内维矩阵相乘 A右除B A左除B S*A 标量s分别于A的元素之积 A’ 指令 共轭转置 矩阵运算 含义
第二章 数组、矩阵及其运算

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
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档