您的位置:首页 > 编程语言 > MATLAB

MATLAB基础知识(二)

2020-07-18 04:35 323 查看

上一边文章我们一起了解了一些基本的函数,那么我们这篇文章继续来了解剩下几个常用的函数:

1.size函数:
size函数是用来返回矩阵的大小,返回一个行向量。
A=[1 2 3;4 5 6]
B=[1 2 3 4 5 6]
size(A);
size(B);

从图中可以看出size函数返回的是矩阵的大小,也就是矩阵的行数和列数,A是一个2行3列的矩阵,B是一个1行6列的矩阵。
我们也可以把返回的大小用常量表示出来
A=[1 2 3;4 5 6];
[r,c]=size(A)

如果我们只是想返回一个常量,行向量或者列向量
我们也可以这样写
r=size(A,1);
c=size(A,2)
1表示行向量,2表示列向量

2.repmat函数:
B = repmat(A,m,n):将矩阵A复制m×n块,即把A作为B的元素,B由m×n个A平铺而成
A = [1,2,3;4,5,6];
B = repmat(A,2,1)
B = repmat(A,3,2)

MATLAB如何进行矩阵的运算?

MATLAB在矩阵的运算过程中,+号和-号代表矩阵的加法和减法,号和/号代表矩阵之间的乘法和除法。
A = [1,2;3,4];
B = [1,0;1,1];
A * B

B的逆矩阵:inv(B)
Binv(B)
Ainv(B)

A/B

两个形状相同的矩阵对应元素之间的乘除法需要使用“.”和“./”
A=[1 2; 3 4];
B=[1 0; 1 1];
A.*B
A./B
矩阵也可以进行常数相乘或相除操作
*和.在常数与矩阵的相乘操作中起到的操作相同,除法操作相同


如果给矩阵乘方只能用.^
A=[ 1 2;3 4];
A.^2
如果写的是A^2,它的作用和AA是相同的,如上图

MATLAB中求特征值和特征向量

在Matlab中,计算矩阵A的特征值和特征向量的函数是eig(A)函数,有以下两种常用方法:
A=[1 2 3;4 5 6;7 8 9];
B=eig(A)
求矩阵A的全部特征值,构成向量B

[V,D]=eig(A)
求矩阵A的全部特征值,构成对角阵D,并求A的特征向量构成V的列向量。(V的每一列都是D中与之相同列的特征值的特征向量)

3.find函数:
用来返回向量或者矩阵中不为0的元素的位置索引。
X = [1 0 4 -3 0 0 0 8 6];
b = find(X)

如果想返回前几个向量,后面的常数就写成几,例如返回前2个不为0的元素的位置

但是上面针对的是一维向量,若X是一个二维(有行和列)矩阵,该怎样返回呢?

MATLAB在存储矩阵时是一列一列存储的
X(5)和X(9)将返回什么呢?

如果你需要输出的是按照行和列该怎样做呢?
X = [1 0 4 -3 0 0 0 8 6];
[r,c] = find(X)

[r,c] = find(X,1)
只找第一个非0元素

矩阵和常数的比较大小方法

在C语言中我们学到判断语句用if,那么在MATLAB里同样也用到的是if进行判断

注意:if结尾的语句不用分号,语句的最后一定要以end结尾!!!里面的语句一定一定要记住缩进这个问题

到这里MATLAB中常用的函数整理完毕,打好基础才能更好的发挥,本人也是刚开始学习MATLAB,如果文档中有错误,请告诉我奥。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: