matlab入门——矩阵(运算、编辑、高维矩阵、对角矩阵)
matlab基础知识——矩阵(运算、高维矩阵、对角矩阵、矩阵编辑抽取)
原创不易,路过的各位大佬请点个赞
矩阵(运算、高维矩阵、对角矩阵、矩阵编辑抽取)
- matlab基础知识——矩阵(运算、高维矩阵、对角矩阵、矩阵编辑抽取)
- 1.矩阵定义
- 2、矩阵的生成
- 3、创建特殊矩阵
- 4、创建高维矩阵
- 4.1创建三维矩阵
- 4.2创建多维维矩阵
- 4.3创建多维特殊矩阵
- 5、创建对角矩阵\分块对角矩阵
- 6、矩阵元素的运算
- 7、矩阵 变维
- 8、矩阵 变向
- 9、矩阵的抽取、读取
1.矩阵定义
MATLAB以矩阵做为数据操作的基本单元,因此matlab又被称之为举证实验室或大型计算器。Matlab计算矩阵非常便捷、方便、高效。
在matlab创建矩阵时基本语法:
1. 输入矩阵时要以“[ ]”为其标识符号,矩阵的所有元素必须都在括号内。
2. 矩阵同行元素之间由空格(个数不限)或逗号分隔,行与行之间用分号或回车键分隔。
3. 矩阵大小不需要预先定义。
4. 矩阵元素可以是运算表达式。
5. 若“[]”中无元素,表示空矩阵。
6. 如果不想显示中间结果,可以用“;”结束。
a=[15 15 15;15 15 15;15 15 15]a =15 15 1515 15 1515 15 15
A=[];
A=[a,a*2,a*10]A =15 15 15 30 30 30 150 150 15015 15 15 30 30 30 150 150 15015 15 15 30 30 30 150 150 150
2、矩阵的生成
- 直接像上面写一个矩阵
A=[1,2,3;4,5,6;7,8,9]
- 读取工作区中的矩阵
A
A =1 2 34 5 67 8 9
- 读取事先保存的矩阵
%事先在txt文件中存储1,2,3;3,4,5;5,6,7
load A.txt
A=[1,2,3;3,4,5;5,6,7];
save A.mat
load A.mat
3、创建特殊矩阵
zeros(3,4)
ans =0 0 0 00 0 0 00 0 0 0>> eye(3)
ans =1 0 00 1 00 0 1>> ones(1,3)
ans =1 1 1>> magic(3)
ans =8 1 63 5 74 9 2>> rand(2,4)
ans =0.8147 0.1270 0.6324 0.27850.9058 0.9134 0.0975 0.5469
4、创建高维矩阵
4.1创建三维矩阵
矩阵的:号表示该维的所有元素;比如*B(:,:)表示矩阵B的所有行和列
矩阵的:号表示该维的所有元素;比如*B(:,1)表示矩阵B的第一列的所有元素
矩阵的:号表示该维的所有元素;比如*B(1,:)表示矩阵B的第一行的所有元素
>> B(:,:,1)=[1,2;1,2];
>> B(:,:,2)=[3,4;3,4];
>> B(:,:,3)=[5,6;7,8];
>> B
ans
B(:,:,1) =1 21 2
B(:,:,2) =3 43 4
B(:,:,3) =5 67 8
4.2创建多维维矩阵
%Li表示第i维的维数
L1=2;
L2=4;
L3=2;
L4=2;%生成L1 x L2 x L3 x L4的4维矩阵
for i4=1:L4for i3=1:L3for i2=1:L2for i1=1:L1CC(i1,i2,i3,i4)=i3*i4;endendend
endans
>> CC
CC(:,:,1,1) =1 1 1 11 1 1 1
CC(:,:,2,1) =2 2 2 22 2 2 2
CC(:,:,1,2) =2 2 2 22 2 2 2
CC(:,:,2,2) =4 4 4 44 4 4 4
4.3创建多维特殊矩阵
ones(2,3,4)rand(3,4,5,6)randn(4,5,6,1)A=[1,2,3;3,4,5;5,6,7];B(:,:,1)=A;B(:,:,2)=A*2;B(:,:,3)=A*3;
5、创建对角矩阵\分块对角矩阵
对角矩阵语法:diag( )
分块对角矩阵: blkdiag(A,B,C)
A=diag([1,2,3,4,5,6])
A =1 0 0 0 0 00 2 0 0 0 00 0 3 0 0 00 0 0 4 0 00 0 0 0 5 00 0 0 0 0 6B=diag(ones(1,5))
分块对角矩阵
>> A=[1,2,3;4,5,6;6,7,8];
>> B=[1,2;3,4];
>> C=[11,22;33,44];
>> blkdiag(A,B,C)ans =1 2 3 0 0 0 04 5 6 0 0 0 06 7 8 0 0 0 00 0 0 1 2 0 00 0 0 3 4 0 00 0 0 0 0 11 220 0 0 0 0 33 44
6、矩阵元素的运算
矩阵创建起来,第一个面临的任务就是修改编辑其元素
A=[1,2,3;4,5,6;7,8,9]
A =1 2 34 5 67 8 9>> A(1,:)=[]
A =4 5 67 8 9
>> A(2,:)=[]
A =4 5 6
A=[1,2,3;4,5,6;7,8,9]
>> A(2,2)=100
A =1 2 34 100 67 8 9A(2,3)=123456
A =1 2 34 100 1234567 8 9
同样高维矩阵也可以修改,修改方法一样,只要在()中标注好修改元素的位置
7、矩阵 变维
矩阵的变维可以用符号“:”法和reshape函数法。reshape函数的调用形式如下。reshape(X,m,n):将已知矩阵变维成m行n列的矩阵。
A=1:12;
B=reshape(A,2,6)
C=zeros(3,4); %用“:”法必须先设定修改后矩阵的形状
C(:)=A(:)B =1 3 5 7 9 112 4 6 8 10 12
C =1 4 7 102 5 8 113 6 9 12
8、矩阵 变向
9、矩阵的抽取、读取
对矩阵元素的抽取主要是指对角元素和上(下)三角阵的抽取。对角矩阵和三角矩阵的抽取命见下
原创不易,路过的各位大佬请点个赞
matlab入门——矩阵(运算、编辑、高维矩阵、对角矩阵)相关推荐
- MATLAB入门之rref计算简化矩阵行阶梯形式
rref 计算简化矩阵行阶梯形式 例如: 求解线性方程组的解 %3x+7y+2z=3 %6x+8y+10z=5 %5x+6y+14z=7 >> A=[3,7,2;6,8,10;5,6,14 ...
- python三维矩阵乘法_tensorflow 二维矩阵乘以三维矩阵,高维矩阵相乘
最近看论文时看到了一个让我费解的操作. 二维矩阵 * 三维矩阵 * 二维矩阵 得到了一个二维矩阵. 即: (n * c1) x (m * c1 * c2) x (n * c2) 得 n * m 实现主 ...
- MATLAB快速入门(二):矩阵
矩阵 目录 矩阵 1.冒号表达式 2.矩阵元素的引用 3.矩阵的运算 3.1算术运算 3.2逻辑运算 4.特殊矩阵 5.矩阵变换 5.1对角阵 5.2三角阵 5.3矩阵旋转 5.4稀疏矩阵 6.矩阵求 ...
- 往矩阵中增加数3matlab,MATLAB入门(3):从矩阵开始
从矩阵开始吧![注:因为第一篇里以声明过就不再重复声明了] 输入简单矩阵的最简单的方法是采用直接输入法.直接输入的元素用空格或逗号隔开,用";"表示一行的结束,并用中括号[ ] 将 ...
- matlab矩阵基本操作,Matlab入门----矩阵的基本操作
注意:其他编程语言一次只能处理一个数字,而 MATLAB 可以轻松快捷地处理整个矩阵! 1.矩阵的创建 输入元素的明确列表 从外部数据文件加载矩阵 使用内置函数生成矩阵 使用自己的函数创建矩阵,并将其 ...
- MATLAB程序设计与应用 2. 第2章 MATLAB数据及其运算 2.1 MATLAB数值数据 2.2 MATLAB矩阵的表示 2.3 变量及其操作
MATLAB程序设计与应用 文章目录 MATLAB程序设计与应用 2. 第2章 MATLAB数据及其运算 2.1 MATLAB数值数据 2.1.1 数值数据类型的分类 2.1.2 数据的输出格式 2. ...
- MATLAB入门教程(4):矩阵的生成
前言 代码粘贴后并不好看,故使用图片粘贴如下. 代码部分是我在MATLAB里面加的注释版本(使用版本为MATLAB R2022a) 矩阵的知识要学习可以自行查找高等代数或者线性代数的内容学习,我们理解 ...
- 主成分分析PCA算法:为什么去均值以后的高维矩阵乘以其协方差矩阵的特征向量矩阵就是“投影”?
这是从网上看到的PCA算法的步骤: 第一步,分别求每列的平均值,然后对于所有的样例,都减去对应的均值. 第二步,求特征协方差矩阵. 第三步,求协方差的特征值-显示全部 关注者 1,218 被浏览 78 ...
- 机器学习--主成分分析PCA算法:为什么去均值以后的高维矩阵乘以其协方差矩阵的特征向量矩阵就是“投影”?
原文链接:主成分分析PCA算法:为什么去均值以后的高维矩阵乘以其协方差矩阵的特征向量矩阵就是"投影"?_天下对手教会少林武僧-CSDN博客_pca投影矩阵 这是从网上看到的PCA算 ...
- matlab 当已知两个矩阵满足分别一定条件时_程序继续执行,MATLAB程序设计基础
2.1常量与变量 2.1.1 特殊常量 变量名 功 能 说 明 ANS(ans) 缺省变量名,以应答最近一次操作运算结果 i或j 虚数单位 Pi 圆周率 NaN Not-a-number,表示不定值 ...
最新文章
- Srping Boot日志输出(转)
- 史上最坑爹的代码!个个让人崩溃!
- AV Linux 2016系统今年发布:影音制作专用
- java动态菜单显示实现,java – 为Spring MVC / AOP应用程序实现动态菜单
- 同一页面中引入多个JS库产生的冲突解决方案(转)
- Python str和bytes的相互转换
- CSS快速学习10:高度自适应
- python getsize_Python getsizeof()和getsize()区分详解
- Android Studio如何去除界面默认标题栏
- 并发编程学习之写时复制CopyOnWriteArrayList
- 诱导系统服务器,交通诱导及信息发布系统
- win10强行自定义分辨率(笔记本win10强行自定义分辨率)
- iconfont(图标字体)
- 如何关注速卖通的一举一动
- 金格控件java版本_金格控件宝典(问题大全.docx
- 十分钟用Python画一片雪花
- Photoshop脚本 锁定图层组所有图层
- java版阿里云,百度ai,讯飞语音识别效果简单对比及demo
- Hetian lab Day 10:工欲善其事必先利其器
- 语音amr文件转换为mp3文件