MATLAB入门第二天

本文详细介绍了如何在MATLAB中使用各种函数创建向量(如linspace和logspace)、处理向量元素、修改和删除元素,以及创建和操作矩阵,包括随机数生成、对角矩阵和分块对角矩阵。此外,还涵盖了线性索引和矩阵尺寸的计算方法。

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

向量的创建

a=[1 3 5] or a=[1,3,5]

冒号法最常用:A:step:B

1:2:5

返回空向量的情况:

5:2:1  A>B且step>0;

10:-10:50  A<B且step<0;

1:0:2  step=0;

利用matlab函数创建

linspace创建等差数列

linspace(a,b)

向量中第一个元素为a,最后一个为b,总数为100

linspace(a,b,n)

向量中第一个元素为a,最后一个为b,总数为n

logspace创建等比数列

logspace(a,b)

第一个数是10^a,最后一个数是10^b,加上n就是n个数

logspace(log10(2),log10(1024),10)

向量元素提取

向量元素个数计算

用函数length或numel

提取时下标从1开始,如a=[1 3 5];a(1)=1;

多个元素的提取:a(ind)

ind中放入要提取的元素的下标

其他合理写法:a([1 2 3 4 5]),a(1:1:5)

end为最后一个元素

向量元素修改和删除

a(1)=4 第一个元素改为4

a([1 3])=[50 60] 第一个元素改为50,第二个元素改为60

a([1:3])=[50 60] 报错,元素个数不匹配

a([1 3 ])=100 指定位置的元素全变成100

a([end-1:end])=[] 删除倒数两个元素

补充:向量是特殊的矩阵,

如a=[1 2 3 4 5 6 7 8 9 ]

a([1,3])=1 3

a(1,3)不会报错,意思是第一行,第三列,即3

a(11)=1也不会报错,系统会把数组加到第11个,运行后为a=[1 2 3 4 5 6 7 8 9 0 1]

第10个元素未赋值,所以值为0

矩阵的创建

a=[]

同行用空格或逗号,换行用分号或回车键(matlab可以识别回车)

函数创建法

zeros:创建全为0的矩阵

a=zeros(3)  创建3行3列全0矩阵

a=zeros(m,n)  创建m行n列全0矩阵

ones:创建全为1的矩阵

eye:创建单位矩阵

主对角线元素为1,其他位置为0

rand、randi、randn创建均匀分布的随机数、随机整数、标准正态分布的随机数

rand(m,n)  m行n列的0-1随机数矩阵

randi([imin,imax],m,n)  从向量[imin,imax]中随机生成m*n矩阵

如果imin=1,可以把向量直接写成imax

randn 0为均值,1为标准差

diag和blkdiag

diag创建对角矩阵

diag([1,2,3])

diag(v,k)  将v元素放到第k条对角线上

若输入若输入的第一个参数为矩阵,则获取矩阵的对角线

diag(a,k)  获取a矩阵第k条对角线的元素

blkdiag创建分块对角矩阵

分块对角矩阵的对角线的元素是矩阵

矩阵元素提取

原始索引

a(1,2)  第一行,第二列的元素
a(2,end)第二行,最后一列的元素
a(2,[1 3])第二行,第一个、第三个元素
a(3,1:5)第三行,1到5列的元素
a([1 3],[1 3 5])第1、3行,第1、3、5个元素
a(1:2:end,1:2:end)第奇数行,第奇数个元素
a(1,:)第1行,所有列的元素

矩阵大小计算:size函数

size(A)返回值为一个行向量,如A为3*4的矩阵,则size返回[3 4]。

size(A,dim)返回A在dim维度的值,如size(A,1)=3,

length(A)返回值为A在所有维度中的最大值,numel返回所有元素的总和

线性索引

单下标的索引方法称为线性索引,矩阵在计算机中存储方式如下

例如

A(:)命令可以将A中的所有元素按照线性索引的顺序重构为一个列向量

两者的转换

 sub2ind和ind2sub函数

ind=sub2ind(sz,row,col)    sz为待转换矩阵

[row,col]=ind2sub(sz,ind)   ind为线性索引位置

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值