首页 > 其他分享 >MATLAB学习笔记6:矩阵的操作1

MATLAB学习笔记6:矩阵的操作1

时间:2024-03-21 19:29:26浏览次数:153  
标签:11 ans 矩阵 笔记 cat 拼接 MATLAB 列数

说了三篇各种矩阵的创建,终于进行到下一部分了,太不容易了,今天我们来说说矩阵的操作,说白了就是对矩阵进行一些我们平时计算需要在纸上操作的步骤,用软件肯定要方便得多

1.矩阵的拼接

这个还是很好理解嘛,比如两个3*3的矩阵就可以横着或者竖着拼接到一起,而4*5与4*6的矩阵就只能横着拼了,我们分别称为“水平”和“垂直”拼接
形式也很简单
水平方向C=[A B]或者[A,B]
垂直方向C=[A;B]

和数组创建是一样的记忆方法,“;”就是换行嘛,现在举两个例子并复习一下之前的内容
clear all
c=magic(3)
d=eye(3)
E=[c,d]
F=[c;d]
运行结果如下
c=
8 1 6

3 5 7

4 9 2

d=

1 0 0

0 1 0

0 0 1

E=
8 1 6 1 0 0

3 5 7 0 1 0

4 9 2 0 0 1
F=
8 1 6

3 5 7

4 9 2
1 0 0

0 1 0

0 0 1

MATLAB中,不仅可以用拼接符号,还有很多实用的拼接函数供我们使用,十分方便
这里放上图片

cat(2, A, B)相当于[A, B]

cat(1, A, B)相当于[A; B]|
cat(3,A,B) 左括号后的3表示构造出的矩阵维数;在新的矩阵中第1、2维就是A和B这两个矩阵的行数和列数,第3维是A和B这两个矩阵的矩阵个数,即为2

>> A = [1 2; 3 4];

>> B = [5 6; 7 8];

A =

    1     2

    3     4

B =

    5     6

    7     8

cat(1, A, B) 按列连接(列数相同)

ans =

    1     2

    3     4

    5     6

7     8

 cat(2, A, B) 按行连接(行数相同)

ans =

    1     2     5     6

    3     4     7     8

 cat(3, A, B) 合成效果如下图

ans(:,:,1) =

    1     2

    3     4

ans(:,:,2) =

    5     6

    7     8
blkdiag函数可以将输入的矩阵沿对角线方向构建成一个对角矩阵或方块矩阵,并返回构建好的矩阵C

示例1:构造对角矩阵

A = [1 2; 3 4]; B = [5 6; 7 8]; C = [9 10; 11 12]; D = blkdiag(A,B,C)
D=

1     2     0     0     0     0

 3     4     0     0     0     0

 0     0     5     6     0     0

 0     0     7     8     0     0

 0     0     0     0     9    10

 0     0     0     0    11    12
示例2:构造方块矩阵

A = [1 2; 3 4]; B = [5 6]; C = [9; 11]; D = blkdiag(A,B,C)

结果为:

D =

解释

 1     2     0     0

 3     4     0     0

 0     0     5     6

 0     0     9     0

 0     0     0    11

2.行列的删除
想要删除矩阵的某一行或者某一列,MATLAB中操作也很简单,将那一行或者那一列赋予一个“[]”

删除一行列:


b([行数],:) = [];
 // b为矩阵名
b(:,[列数]) = [];
 // b为矩阵名


删除多行列:
 

 b(起始行数:终止行数,:) = [];
 // b为矩阵名
 b(:,起始列数:终止列数) = [];
 // b为矩阵名

 

标签:11,ans,矩阵,笔记,cat,拼接,MATLAB,列数
From: https://blog.csdn.net/2301_80354171/article/details/136905315

相关文章

  • 自用笔记
    1.对DRSN的RSBU块做尝试1.1新的RSBU软阈值块作为Resnet的变体DRSN通过软阈值的方式消除噪声。其中经过残差的两次卷积后,将结果取绝对值,之后经过全局平均池化,之后再经过两次全连接层,该结果进行Sigmoid,最后将GAP的结果取平均后与两次取得平均值分别相乘,得到软阈值的结果。最后......
  • 【Linux】内核学习笔记(八)——网络栈简介 转载
    转载:https://void-star.icu/archives/601网络栈从定义上还比较抽象。不过从功能上看,它是为了让主机之间交换数据而生的。要实现网络栈,最原始的一个方式就是:将想发送的报文封装成帧,然后发出去就完事了。接收主机会按约定好的方式解析。不过这种存在一个问题,如果要加密怎么办?要支......
  • nginx入门-31-学习笔记
    nginx入门-31-学习笔记环境环境:虚拟机ip:10.0.1.0网关:10.0.1.2子网掩码:255.255.255.0测试机器ip:10.0.1.101概念1.安装nginx软件安装:yum安装yuminstallepel-releaseyuminstallnginx-ysystemctlstartnginx编译安装(生产环境)yum-yinstallpcr......
  • MATLAB 2023a助力自然语言处理,开启智能对话新时代
    在深度学习领域,MATLAB2023版深度学习工具箱以其完整的工具链和高效的运行环境,为研究人员和开发者提供了前所未有的便利。这一工具箱不仅集成了建模、训练和部署的全部功能,更以其简洁易用的语法和强大的算法库,为深度学习任务的快速实现铺平了道路。相较于Python等编程语言,M......
  • VUE-小黑笔记本
    一、效果二、功能介绍1.输入框输入任务,按下回车键,添加任务至任务栏最后2.鼠标移动到某项任务,后面出现叉号,即可删除任务3.记事本最下方左边统计当前任务总数4.记事本最下方右边clear实现清空任务同时最底部一栏隐藏三、代码(含样式)<!DOCTYPEhtml><htmllang="en"><he......
  • 深入理解并行编程-读书笔记 rcu
     在当前的Linux内核中发挥着重要的作用。RCU主要针对的数据对象是链表,目的是提高遍历读取数据的效率,为了达到目的使用RCU机制读取数据的时候不对链表进行耗时的加锁操作。这样在同一时间可以有多个线程同时读取该链表,并且允许一个线程对链表进行修改(修改的时候,需要加锁)。RCU适用......
  • 课程设计——基于matlab语言的PCA人脸识别系统的设计与实现,采用GUI界面进行效果演示
    本论文源码是基于Matlab实现的PCA算法来进行人脸图片的识别与比对,通过GUI界面进行效果展示,适合基于matlab、人脸识别等人工智能领域的课程设计和毕设,整个算法结构简单、易于理解,如需完整源码,可以联系博主获取。一、引言人脸识别技术作为计算机视觉领域的一个重要分支,因其......
  • c++算法学习笔记 (15) 质数
    1.试除法判断某个数是否为质数#include<iostream>usingnamespacestd;constintN=50005;boolis_prime1(intn){//暴力写法:O(n)if(n<2)returnfalse;for(inti=2;i<n;i++){if(n%i==0)returnfalse;......
  • VUE3学习笔记
    参考链接https://blog.csdn.net/m0_66100833/article/details/134294781生命周期setup():这是一个新的入口点,在beforeCreate和created之前调用onBeforeMount/onMounted:组件挂载前/后的生命周期钩子。onBeforeUpdate/onUpdated:组件更新前/后的生命周期钩子。onBeforeUnmount/onU......
  • Unity学习笔记 6.2D换帧动画
    下载源码UnityPackage目录1.导入图片1.1.图片的叠放顺序2.图片切片3.用动画控制器让马......