Matlab随笔之矩阵入门知识

news/2024/7/3 2:04:07

直接输入法创建矩阵

矩阵的所有元素必须放在方括号“[ ]”内;

矩阵列元素之间必须用逗号“,”或空格隔开,每行必须用“;”隔开

矩阵元素可以是任何不含未定义变量的表达式。可以是实数,或者是复数。

例a=[1,2;3,4] 或 a=[2 1+3j;sqrt(4) 5]

创建基本矩阵的函数

空阵 [ ] — matlab允许输入空阵,当一项操作无结果时,返回空阵

ones(N,M) —全部元素都为1的矩阵

zeros(N,M) —全部元素都为0的矩阵

rand(N,M)— 在[0,1]均匀分布的随机矩阵

randn(N,M)— 在[0,1]正态分布的随机矩阵

eye(N)— 单位矩阵

 

n 在MATLAB系统中,仅有一行或一列的矩阵称为向量。

利用冒号“:”生成向量

a=m:n

a=m:step:n

利用函数linspace()生成向量

linspace(m,n)

linsapce(m,n,k)

注:linspace是Matlab中的均分计算指令,用于产生m,n之间的k点行线性的矢量。其中m、n、k分别为起始值、终止值、元素个数。若默认k,默认点数为100

n 在MATLAB中,矩阵下标的行、列号都是从1开始的。A(i,j)表示矩阵A的第i行第j列的元素。

>> b=A(1,1)+A(2,2)+A(3,3)

运行结果:b=15.000

 

n 向量x和y中的任何一个可以是冒号”:”,表示所有的行和列。

例,对上述矩阵A(:,[1,3])

ans=1 3

4 6

7 9

另外,MATLAB还可以将若干个小矩阵,通过方阵号连接算子,生成较大的矩阵。

MATLAB通过方括号连接算子可以直接将多个子矩阵合并起来构成较大的矩阵。

例:a=ones(1,3);

b=zeros(1,4);

c=[a,b]

结果:c=[1 1 1 0 0 0 0]

矩阵的基本信息

1、size:矩阵的大小

2、length:向量长度

3、ndims:数组维数

4、disp:显示数组或文字

5、isempty:检测是否空矩阵

6、isequal:检测矩阵是否相等

矩阵变换

1、fliplr:用于矩阵元素的左右对称翻转;

2、flipub:用于矩阵元素的上下对称翻转;

3、rot90:用于矩阵的逆时针90度旋转。

 

矩阵幂次及指数

假设有方阵A和正整数p,则A^p表示方阵A自乘p次;

假设有方阵A和正整数p,则A^(-p)表示方阵inv(A)自乘p次。

 

矩阵的除法

矩阵除分为矩阵右除和矩阵左除。

l 矩阵右除的运算符号为“/”,设A,B为两个矩阵,则“A/B”是指方程X*B=A的解矩阵X。矩阵A和B的列数必须是相等。

l 矩阵左除的运算符号为“\”,设A,B为两个矩阵,则“B\A”是指方程B*X=A的解矩阵X。矩阵A和B的行数必须是相等。

 

矩阵特征

l 矩阵的求逆: inv(A)

l 矩阵的特征值: eig(A)

l 方阵的行列式: det(A)

l 求特征多项式: poly(A)

 

MATLAB的基本关系运算符

>(大于) <(小于) ==(等于)

<=(小于等于) ~=(不等于)

关系运算的规则

参与关系运算的矩阵必须是同维矩阵或其中之一为标量。

当参与运算的矩阵是两同维矩阵A和B时,关系运算的结果时将矩阵A和B下标相同的对应元素逐一进行关系比较。

当参与运算的矩阵之一是标量,关系运算的结果是将矩阵的每一个元素与该标量逐一进行关系比较。

关系运算比算术运算具有更高的优先级

例:>>a=[1,2;2,3]

>>b=[2,2;2,2]

>>a>=b

ans=0 1

1 1

 

矩阵的逻辑运算

MATLAB的基本逻运算符为:

&(与) |(或) ~(非)

n 在逻辑运算中,”真“用代码”1”表示,”假”用代码”0”表示。逻辑运算的规则是:

参与逻辑运算的矩阵必须是同维矩阵或其中之一为标量

当参与逻辑运算是两同维矩阵A和B时,逻辑运算的结果是将矩阵A和B下标相同的对应元素逐一进行逻辑运算。

当参与逻辑运算之一是标量时,逻辑运算的结果是将矩阵的每一个元素与该标量进行逻辑运算。

n 例: >>a=[2,0;0,3];

>>b=[1,0;0,0];

>>a&b

ans=

1 0

0 0

 

多项式及其运算

l 多项式求根

函数roots()用于对多项式求根,调用格式为:

p=roots(A)

例如:>>b=[1 3 2]

>>roots(b)

ans=

-2

-1

l 由指定根求多项式

函数ploy用于由给定定根求多项式系数向量,调用格式为:

A=poly(p)

例:>>p=[2,1]

>>poly(p)

ans=

1 -3 2

l 多项式相乘

函数conv()用于求两个多项式的乘积多项式,其调用格式为:

R=conv(A,B)

例:>>A=[1 3 2];

>>B=[1 2 1];

>>R=conv(A,B)

R=

1 5 9 7 2

l 多项式相除

函数deconv()用于进行两个多项式的相除运算,其调用格式为

[B,t]=deconv(R,A)

例:>>R=[1 5 9 7 2];

>>A=[1 3 2]

>>[B,t]=deconv(R,A)

B=

1 2 1

t=

0 0 0 0 0

 

n 当MATLAB启动后,系统自动在内存中开辟一块存储区域用于用户在MATLAB命令窗口中定义的变量、运算结果和有关数据。此内存空间称为MATLAB的工作空间(workspace)。

清除变量命令clear

clear a b

转载于:https://www.cnblogs.com/vanker/p/4254761.html


http://lihuaxi.xjx100.cn/news/273153.html

相关文章

telnet 如何退出

ctrl]&#xff0c;然后再输入q就可以退出了。转载于:https://www.cnblogs.com/rethink/archive/2009/10/29/1591898.html

清华团队将Transformer用到3D点云分割上后,效果好极了

萧箫 发自 凹非寺 量子位 报道 | 公众号 QbitAI当Transformer遇上3D点云&#xff0c;效果会怎么样&#xff1f;一个是当下最热门的模型&#xff08;NLP、图像领域表现都不错&#xff09;&#xff0c;另一个是自动驾驶领域、机器人抓取等领域的关键技术。来自清华计算机系的团队…

程序员必备网站之一:No Design

点击上方“方志朋”&#xff0c;选择“设为星标”回复”666“获取新整理的面试文章大家好&#xff0c;我是小 G。昨天在逛 Hacker News 的时候&#xff0c;我偶然发现个宝藏网站&#xff1a;No Design。地址&#xff1a;https://nodesign.dev网站上收集了许多十分便利的 UI 设计…

文件解析库doctotext源码分析

doctotext中没有make install选项&#xff0c;make后生成可执行文件在buile目录下面有.so动态库和头文件&#xff0c;需要的可以从这里面拷贝build/doctotext就是可执行程序。doctotext内置了两种检测文件类型方法&#xff1a;1、以后缀为依据检测文件类型2、以内容为依据检测文…

学习OpenCV,新手常会问我的十个问题 | 视觉入门

点击上方“小白学视觉”&#xff0c;选择加"星标"或“置顶”重磅干货&#xff0c;第一时间送达初次学习OpenCV新手经常问我的十个问题&#xff0c;有你问我过下面的问题之一吗&#xff1f;Q1按照视频做的&#xff0c;我怎么显示了不了图像或者视频解答&#xff1a;最…

AI芯片行业发展的来龙去脉

作者 | 清华大学微电子学研究所尹首一来源 | 《微纳电子与智能制造》期刊引言人 工 智 能( aritificial intelligence &#xff0c;AI )是 一 门融合了数学 、计算机科学 、统计学 、脑神经学和社会科学 的前沿综合性技术。它的目标是希望计算机可以像 人一样思考 &#xff0c;…

Python爬虫入门教程:超级简单的Python爬虫教程

这是一篇详细介绍 [Python]爬虫入门的教程&#xff0c;从实战出发&#xff0c;适合初学者。读者只需在阅读过程紧跟文章思路&#xff0c;理清相应的实现代码&#xff0c;30 分钟即可学会编写简单的 Python 爬虫。 这篇 Python 爬虫教程主要讲解以下 5 部分内容&#xff1a; 了…

134个预训练模型、精度高达85.1%,百度视觉算法最强基石PaddleClas全新升级

机器之心发布机器之心编辑部百度 PaddlePaddle 团队开发的 PaddleClas 是一个适用于业界和学界的图像分类任务工具集&#xff0c;可以帮助用户训练更好的计算机视觉模型并应用于真实场景中。近期 PaddleClas 迎来了全面升级&#xff0c;其中提供了更高精度的知识蒸馏模型、更丰…