转载 matlab矩阵数组常用操作

本文深入探讨了矩阵的长度、维数、元素计数及尺寸查询,阐述了矩阵块状复制、对角块生成、直积运算等概念,并详细介绍了矩阵元素的提取、替换、重排和复制排列方法。同时,文中还提供了向量创建的多种方式,包括直接输入、使用冒号生成向量、等差和等比数列生成等,为读者提供了全面的矩阵与向量操作指南。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、

length             返回矩阵最长维的的长度    ndims       返回维数          numel      返回矩阵元素个数
size               返回每一维的长度,[rows,cols]=size(A)

矩阵块操作

1、repmat() 数组块状复制

2、blkdiag()对角块生成函数

3、kron()直积

二、矩阵元素的提取与替换

(1)提取

A(i, j) :矩阵 A 中,位于第 i 横列、第 j 直行的元素
用冒号(:), 取出一整列或一整行 
用 end 这个保留字来代表某一维度的最大值 
A(:, end) - 矩阵 A 的最后一个直行 
a(n,:):提取矩阵中某一行的元素,

提取矩阵中某一列:a(:,n)

 提取矩阵中的多行/列元素a([n,m],:)     a(:,[n,m])

 提取矩阵中多行多列交叉点上的元素

(2)替换/删除:

 A(2, :) = [] – 删除A矩阵的第二列 
A(:, [2 4 5]) = [] - 删除 A 矩阵的第二、四、五直行
三、矩阵元素的重排和复制排列

1)  矩阵元素的重排

B=reshape(A,m,n):返回的是一个m*n矩阵B,矩阵B的元素就是矩阵A的元素,若矩阵A的元素不是m*n个则提示错误。

B=reshape(A,m,n,p):返回的是一个多维的数组B,数组B中的元素个数和矩阵A中的元素个数相等

B=reshape(A,…,[],…):可以默认其中的一个维数

B=reshape(A,siz) : 由向量siz指定数组B的维数,要求siz的各元素之积等于矩阵A的元素个数


2)  矩阵的复制排列  函数是repmat

B=repmat(A,n):返回B是一个n*n块大小的矩阵,每一块矩阵都是A

B=repmat(A,m,n):返回值是由m*n个块组成的大矩阵,每一个块都是矩阵A。

B=repmat(A,[m,n,p,…]):返回值B是一个多维数组形式的块,每一个块都是矩阵A


3)、矩阵的翻转和旋转
rot90 旋转矩阵90度,逆时针方向
fliplr 沿垂轴翻转矩阵
flipud 沿水平轴翻转矩阵
transpose 沿主对角线翻转矩阵

四、向量的创建

1)直接输入:

2)用“:”生成向量

  a=J:K 生成的行向量是a=[J,J+1,…,K]

  a=J:D:K 生成行向量a=[J,J+D,…,J+m*D],m=fix((K-J)/D)

3)函数linspace 用来生成数据按等差形式排列的行向量

  x=linspace(X1,X2):在X1和X2间生成100个线性分布的数据,相邻的两个数据的差保持不变。构成等差数列。

  x=linspace(X1,X2,n): 在X1和X2间生成n个线性分布的数据,相邻的两个数据的差保持不变。构成等差数列。

4)函数logspace用来生成等比形式排列的行向量

  X=logspace(x1,x2) 在x1和x2之间生成50个对数等分数据的行向量。构成等比数列,数列的第一项x(1)=10x1,x(50)=10x2

  X=logspace(x1,x2,n) 在x1和x2之间生成n个对数等分数据的行向量。构成等比数列,数列的第一项x(1)=10x1,x(n)=10x2

转载于:https://www.cnblogs.com/lianjiehere/p/3964656.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值