首页 > 其他分享 >Day03_0.1基础学习MATLAB学习小技巧总结(3)——矩阵的创建、引用和线性索引。

Day03_0.1基础学习MATLAB学习小技巧总结(3)——矩阵的创建、引用和线性索引。

时间:2024-08-22 14:55:39浏览次数:18  
标签:randi 函数 索引 Day03 元素 矩阵 0.1 MATLAB 对角

利用暑假的时间把碎片化的MATLAB知识重新系统的学习一遍,为了在这个过程中加深印象,也为了能够有所足迹,我会把自己的学习总结发在专栏中,以便学习交流。

素材来源“数学建模清风”

特此说明:本博客的内容只在于总结在使用matlab中的一些小技巧,并非教程,若想系统的学习MATLAB,也可以移步去链接中的视频,观看学习。也欢迎各位在留言区补充,纠错,讨论。

原素材和学习视频地址:MATLAB教程新手入门篇(上部分)(数学建模清风主讲,适合零基础同学观看)_哔哩哔哩_bilibili

矩阵相关的知识点#2

1 矩阵的创建

1.1 直接输入

例如a=[1 2 3;4 5 6]或者a=[1,2,3;4,5,6],这里的【空格】和,起到的都是一个作用。这里生成的就是2行3列的矩阵,以此类推。

1.2 函数创建法

1.2.1 zeros、ones、eye

这三个函数分别用来创建全为0的矩阵全为1的矩阵单位矩阵

以zeros函数为例:

1、zeros(n)可以生成一个n行n列全为零的矩阵

2、zeros(m,n)可以生成一个m行n列全为零的矩阵

ones和eye函数都是同样的用法 

1.2.2 rand、randi和randn

这三个函数分别用来创建均匀分布的随机数均匀分布的随机整数标准正态分布的随机数

rand:

以rand函数为例:

1、rand(n)可以生成一个n行n列随机数矩阵

2、rand(m,n)可以生成一个m行n列随机数矩阵

randi:

randi是用来创建均匀分布的随机整数,使用方法为:randi([nmin,nmax],m,n)创建一个m行n列的随机数矩阵,该随机数矩阵中的每个元素都是从区间[nmin,nmax]内随机抽取的整数。

另外,如果最小数nmin=1,则可省略,可变为randi([nmax,m,n])的形式。

若m=n,则可变为randi([nmin,nmax],n)

randn:

randn函数是用来创建标准正态分布的随机数,其使用方法和rand类似

标准正态分布:以0为均值,以1为标准差的正态分布,记为N(0,1)

 1.2.3 diag和blkdiag

diag函数:

用法一:用于创建对角矩阵或者获取矩阵的对角元素——(diagonal,对角)

diag(v,k),v-是向量,要用中括号[],k表示的是第几条对角线。例如:

用法二: 用于获取矩阵A的元素。

diag(A,k),A表示目标矩阵,k表示第几条对角线,例如:

blkdiag函数:

用来创建分块对角矩阵,分块对角矩阵是相对于常规的对角矩阵而言的,常规的对角矩阵沿对角线具有单个元素,而分块矩阵的对角线的元素是矩阵。其他与diag函数并无太大差别,例如:

2 矩阵的引用

与向量的引用相似,但是不同的是,矩阵是多维的,需要再索引一次。例如:

 end在矩阵中也是适用的

2.1 size函数

size函数的用法和向量中length和numel函数的用法相似,都是用来计算矩阵(向量)中元素的个数的,size函数有两种常用的用法。

用法一:直接返还所有的行和列信息,如果只有一个返回值,比如B=size(A),那么B就是一个向量,如果有两个返回值的话,例如[r,c]=size(A),那么就会输出r=4,c=5.

用法二:指定行列返还信息,1表示行,2表示列

size只能用于矩阵的行列元素,如果需要知道矩阵中某一个向量的具体元素,还是需要用到length和numel。

length和numel用于矩阵的话,length只会返还行和列中的较大值,numel会返还矩阵中元素的总数

2.2 索引矩阵中m行或n列的所有元素

A(:,n)  表示矩阵A的第n列的所有元素

A(m,:)  表示矩阵A的第m行的所有元素

3 矩阵的线性索引

前面的索引都是对矩阵的双下标进行索引,即同时进行行索引和列索引。而对单个下标进行索引的方法就是线性索引。

例如:

 

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

标签:randi,函数,索引,Day03,元素,矩阵,0.1,MATLAB,对角
From: https://blog.csdn.net/qq_47248729/article/details/141347705

相关文章