您的位置 首页 > 数码极客

如何找出矩阵某一列的最大值

本节源代码:

这一节,常用矩阵及向量操作命令将被介绍,更多高级命令请使用命令help查寻,内容如下:

cat连接数组

>> %cat 连接数组 A = [1 2; 3 4] B = [4 5; 6 7] ​ %cat(2, A, B)相当于[A, B];按行连接 cat(2,A,B) %cat(1, A, B)相当于[A; B].按列连接 cat(1,A,B) ​ A = ​ 1 2 3 4 ​ ​ B = ​ 4 5 6 7 ​ ​ ans = ​ 1 2 4 5 3 4 6 7 ​ ​ ans = ​ 1 2 3 4 4 5 6 7

find查找非零元素的索引或满足某条件值

>> A = [0 1 0 2 3] %向量情况 find(A) ​ A = ​ 0 1 0 2 3 ​ ​ ans = ​ 2 4 5 >> find(A,2) % 返回前2个非0结果 ​ ans = ​ 2 4 >> A = [1,0;0 3] % 矩阵情况,结果为逐列将A的元素进行排序[1 0 0 3],所以结果为 1 4 ​ A = ​ 1 0 0 3 ​ >> find(A) ​ ans = ​ 1 4 >> A = [0 1 2 3 4 5] find(A>2) % 查找满足某一条件情况 ​ A = ​ 0 1 2 3 4 5 ​ ​ ans = ​ 4 5 6

length计算元素数量

>> % length 计算元素数量 A = [1 2 3] length(A) B = [1 2 3;3 4 5] length(B) %length(a)表示矩阵a的最大的长度,即max(size(a)) 等于3,因为2和3中最大是3; ​ A = ​ 1 2 3 ​ ​ ans = ​ 3 ​ ​ B = ​ 1 2 3 3 4 5 ​ ​ ans = ​ 3

linspace创建规则间隔的向量

>> %linspace 创建向量 用法:linspace(a,b,N) 等同于 [a:(b-a)/N:b] linspace(1,10,5) [1:2.25:10] ​ ans = ​ 1.0000 3.2500 5.5000 7.7500 10.0000 ​ ​ ans = ​ 1.0000 3.2500 5.5000 7.7500 10.0000 ​

logspace创建对数间隔向量

%logspace 创建向量 %用法1.logspace(X1,X2),即在10^X1-10^X2范围内等距产生50个行向量; %2.logspace(X1,X2,N),即在10^X1-10^X2范围内等距产生N个行向量。 >> logspace(1,10) logspace(1,10,10) ​ ans = ​ 1.0e+10 * ​ Columns 1 through 5 ​ 0.0000 0.0000 0.0000 0.0000 0.0000 ​ Columns 6 through 10 ​ 0.0000 0.0000 0.0000 0.0000 0.0000 ​ Columns 11 through 15 ​ 0.0000 0.0000 0.0000 0.0000 0.0000 ​ Columns 16 through 20 ​ 0.0000 0.0000 0.0000 0.0000 0.0000 ​ Columns 21 through 25 ​ 0.0000 0.0000 0.0000 0.0000 0.0000 ​ Columns 26 through 30 ​ 0.0000 0.0001 0.0001 0.0001 0.0002 ​ Columns 31 through 35 ​ 0.0003 0.0005 0.0008 0.0012 0.0018 ​ Columns 36 through 40 ​ 0.0027 0.0041 0.0063 0.0095 0.0146 ​ Columns 41 through 45 ​ 0.0222 0.0339 0.0518 0.0791 0.1207 ​ Columns 46 through 50 ​ 0.1842 0.2812 0.4292 0.6551 1.0000 ​ ​ ans = ​ 1.0e+10 * ​ Columns 1 through 5 ​ 0.0000 0.0000 0.0000 0.0000 0.0000 ​ Columns 6 through 10 ​ 0.0001 0.0010 0.0100 0.1000 1.0000 ​

max返回最大的元素

>> %C = max(A) 返回一个数组各不同维中的最大元素。 %[Y,U]=max(A):返回行向量Y和U,Y向量记录A的每列的最大值,U向量记录每列最大值的行号。 %如果A是一个向量,max(A)返回A中的最大元素。 %如果A是一个矩阵,max(A)将A的每一列作为一个向量,返回一个行向量,向量的第i个元素是矩阵A的第i列上的最大值。 ​ A = [1 3 5; 3 9 0; 9 2 1] max(A) [Y,I] = max(A) ​ A = ​ 1 3 5 3 9 0 9 2 1 ​ ​ ans = ​ 9 9 5 ​ ​ Y = ​ 9 9 5 ​ ​ I = ​ 3 2 1

min返回最小的元素(与max操作一样)

prod返回列向量的乘积

>> %B = prod(A);将A矩阵不同维的元素的乘积返回到矩阵B。 %若A为向量,返回的是其所有元素的积; %若A为矩阵,返回的是按列向量的所有元素的积,然后组成一行向量。 A = [1 2 3] prod(A) A = [1 2 3; 4 5 6] prod(A) ​ A = ​ 1 2 3 ​ ​ ans = ​ 6 ​ ​ A = ​ 1 2 3 4 5 6 ​ ​ ans = ​ 4 10 18

reshape改变大小

%reshape 元素相同情况下,对A逐列扫描,对B逐列填充 >> A = [1 2 3; 2 3 4; 3 4 5; 6 7 8; 1 2 3 ] ​ A = ​ 1 2 3 2 3 4 3 4 5 6 7 8 1 2 3 ​ >> size(A) ​ ans = ​ 5 3 ​ >> reshape(A,3,5) ​ ans = ​ 1 6 3 2 5 2 1 4 3 8 3 2 7 4 3

size计算数组大小

>> %size 获取矩阵的行数和列数 注:length()=max(size()). A = [1 2 3] size(A) A = [1 2 3 ; 2 3 4] size(A) ​ A = ​ 1 2 3 ​ ​ ans = ​ 1 3 ​ ​ A = ​ 1 2 3 2 3 4 ​ ​ ans = ​ 2 3

sort对每列进行排序

%sort 默认情况下,对向量或矩阵(案列)进行升序排序 >> A = [1 2 3] sort(A) A = [1 2 3 ; 3 4 1] sort(A) ​ A = ​ 1 2 3 ​ ​ ans = ​ 1 2 3 ​ ​ A = ​ 1 2 3 3 4 1 ​ ​ ans = ​ 1 2 1 3 4 3 >> sort(A,2))% 对行向量排序 ​ ans = ​ 1 2 3 1 3 4

sum对每列进行求和

>> % sum 默认情况下,计算行向量的累加结果 A = [1 2 3] sum(A) % 默认按行向量 ​ A = ​ 1 2 3 ​ ​ ans = ​ 6 >> sum(A,2) % 按行向量 ​ ans = ​ 6 >> sum(A,1) % 按列向量 ​ ans = ​ 1 2 3

eye创建一个单位矩阵

>> %Y = eye(n):返回n*n单位矩阵; %Y = eye(m,n):返回m*n单位矩阵; eye(3) ​ ans = ​ 1 0 0 0 1 0 0 0 1 >> eye(3,4) ​ ans = ​ 1 0 0 0 0 1 0 0 0 0 1 0

ones创建一个数组

>> %ones的作用是产生全1矩阵,ones(N)是产生一个N*N的全1矩阵 ones(3) ​ ans = ​ 1 1 1 1 1 1 1 1 1 ​ >> ones(3,2) ​ ans = ​ 1 1 1 1 1 1

zeros创建一个零的数组

>> %zeros的作用是产生全0矩阵,zeors(N)是产生一个N*N的全0矩阵 zeros(3) ​ ans = ​ 0 0 0 0 0 0 0 0 0 >> zeros(2,4) ​ ans = ​ 0 0 0 0 0 0 0 0

real计算复数的实数部分

>> %real 计算复数实数部分 A = 1 - 2i real(A) ​ A = ​ 1.0000 - 2.0000i ​ ​ ans = ​ 1

imag计算复数虚数部分

>> %imag 计算复数虚数部分 A = 1 - 2i imag(A) ​ A = ​ 1.0000 - 2.0000i ​ ​ ans = ​ -2

abs计算绝对值或者对复数求模(复数实部与虚部的平方和的算术平方根:abs(X) =sqrt(real(X).^2 + imag(X).^2))

>> %abs 计算绝对值或者对复数求模 A = -3 abs(A) ​ A = ​ -3 ​ ​ ans = ​ 3 >> A = [1 -2] abs(A) ​ A = ​ 1 -2 ​ ​ ans = ​ 1 2 >> A = 1 - 2i abs(A) ​ A = ​ 1.0000 - 2.0000i ​ ​ ans = ​ 2.2361

rand生成均匀分布随机数

​ >> % rand 生成均匀分布随机数 % rand(n):生成0到1之间的n阶随机数方阵 % rand(m,n):生成0到1之间的m×n的随机数矩阵 rand(3) ​ ans = ​ 0.8147 0.9134 0.2785 0.9058 0.6324 0.5469 0.1270 0.0975 0.9575 >> rand(3,4) ​ ans = ​ 0.9649 0.9572 0.1419 0.7922 0.1576 0.4854 0.4218 0.9595 0.9706 0.8003 0.9157 0.6557 ​

randn生成标准正态分布随机数,用法与rand一致

责任编辑: 鲁达

1.内容基于多重复合算法人工智能语言模型创作,旨在以深度学习研究为目的传播信息知识,内容观点与本网站无关,反馈举报请
2.仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证;
3.本站属于非营利性站点无毒无广告,请读者放心使用!

“如何找出矩阵某一列的最大值,如何表示矩阵的某一列”边界阅读