MATLAB从入门到精通

Posted 码农3025

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MATLAB从入门到精通相关的知识,希望对你有一定的参考价值。

各位看官老爷们大家好,当大家打开这篇博客的时候,相信大家就开始准备学习这款名为MATLAB的应用仿真软件了。

那么废话不多说,咱们直接进入正题。

首先,我们需要了解什么是MATLAB,还有就是MATLAB能做些什么。对于MATLAB的介绍,小编在此附上百度百科的链接MATLAB_百度百科

当我们了解了什么是MATLAB后,我们就可以正式用MATLAB进行编程了。看过软件介绍的看客们肯定知道,这款软件意为矩阵实验室,那我们就要学习矩阵在MATLAB中的编写与应用了。

对于矩阵的基本操作呢,主要有矩阵的构建、矩阵纬度与矩阵大小的改变、矩阵的索引、矩阵属性信息的获取等。

创建矩阵一般用[ ]来表示。

那么我们就在matlab的命令窗口简单构建一个行向量、一个列向量、一个二维矩阵。

a=[1 2 3 4 5]    %构建行向量
b=[1;2;3;4;5]    %构建列向量
num=[1 2 3;4 5 6;7 8 9]    %构建二维矩阵

      程序运行后结果如下:

a =

     1     2     3     4     5
b =

     1
     2
     3
     4
     5
num =

     1     2     3
     4     5     6
     7     8     9

除了一般的简单粗暴的直接构建矩阵以外,还有一些特殊矩阵的构建,这类矩阵我们可以用它的函数来快速构建。

例如构建二阶单位矩阵、零矩阵、一矩阵、对角矩阵等。

a=zeros(2)    %构建二阶零矩阵
b=ones(2)    %构建二阶一矩阵
x=[2 2 2 2]    %构建4×1的向量x,向量中所有元素的数值均为2
y=diag(x)    %构建方阵,其中主对角线元素值为向量x中的元素值,其他元素的值为0

运行结果如下:

a =

     0     0
     0     0

b =

     1     1
     1     1

x =

     2     2     2     2

y =

     2     0     0     0
     0     2     0     0
     0     0     2     0
     0     0     0     2

当我们构建完所需要的矩阵以后呢,往往还需要对矩阵进行一系列的操作和处理,其中比较常用的就是接下类说的矩阵下标引用。

索引表达式函数功能
A(:)将矩阵中的每列合并成一个长的列向量
A(i)将矩阵A重组为一维数组,返回数组中第i个元素
A(:,j)返回矩阵A中第j列列向量
A(i,:)返回矩阵A中第i行行向量
A(:,j:k)返回矩阵A中第j列到第k列列向量组成的子矩阵
A(i:k,:)返回矩阵A中第i行到第k行行向量组成的子矩阵
A(i:k,j:l)  返回矩阵A中第i行到第k行行向量和第j列到第l列列向量的交集组成的子矩阵

下面为大家简单演示一下函数功能:

num=[1 2 3 4;5 6 7 8;9 10 11 12;13 14 15 16]    %先构建一个4×4的方阵
A=num(:)    %将矩阵num合并成列向量数值赋给A
a=num(7)    %将矩阵num中第7个元素赋值给a
b=A(7)    %将列向量中第7个元素赋值给b
a==b    %判断a和b是否相等,若相等则说明提取矩阵中第i个元素时是按列开始提取的

%%注意:matlab中默认相等情况下返回1,不等情况下返回0

c=num(2,:)    %提取矩阵num中第二行的行向量返回给c
d=num(:,2)    %提取矩阵num中第二列的列向量返回给d
e=num(2:3,:)    %提取矩阵num中第二行到第三行的行向量返回给e
f=num(:,1:3)    %提取矩阵num中第一列到第三列的列向量返回给f
g=num(2:3,1:3)    %提取矩阵num中第二行到第三行的行向量和第一列到第三列的列向量返回给g

%%运行结果如下:

num =

     1     2     3     4
     5     6     7     8
     9    10    11    12
    13    14    15    16

A =

     1
     5
     9
    13
     2
     6
    10
    14
     3
     7
    11
    15
     4
     8
    12
    16

a =

    10

b =

    10

ans =

  logical

   1                %%%%此处即为判断

c =

     5     6     7     8

d =

     2
     6
    10
    14

e =

     5     6     7     8
     9    10    11    12

f =

     1     2     3
     5     6     7
     9    10    11
    13    14    15

g =

     5     6     7
     9    10    11

那如果遇到未知的,由其他地方导入的矩阵(例如Excel),我们要想用好索引,就得知道矩阵的额维数,以及矩阵在各维上的长度信息。那么下面的函数就可以帮我们获取矩阵的相关信息了。

num=[1 2 3 4;5 6 7 8;9 10 11 12;13 14 15 16]    %首先,还是先构建一个4×4的方阵
n=ndims(num)    %获取矩阵num维数
[m,n]=size(num)    %获取矩阵num在各维上的长度
a=length(num)    %获取矩阵num最长维的长度
b=numel(num)    %获取矩阵num元素个数

%%注意:size函数可以通过输入参数中增加维度参数获取指定维度的长度

c=size(num,1)    %获取矩阵num行的长度
d=size(num,2)    %获取矩阵num列的长度

%%运行结果如下:

num =

     1     2     3     4
     5     6     7     8
     9    10    11    12
    13    14    15    16


n =

     2


m =

     4


n =

     4


a =

     4


b =

    16


c =

     4


d =

     4

说到这里呢,矩阵当中比较常用的函数以及功能就差不多说完了,欢迎各位看官老爷们在评论区下批评指正。

以上是关于MATLAB从入门到精通的主要内容,如果未能解决你的问题,请参考以下文章

数学建模MATLAB从入门到精通:Logistic模型原理及应用案例(附MATLAB代码)

数学建模MATLAB从入门到精通:Logistic模型原理及应用案例(附MATLAB代码)

MATLAB从入门到精通:搭建一个 简单的Bp神经网络(附代码)

MATLAB从入门到精通:搭建一个 简单的Bp神经网络(附代码)

MATLAB从入门到精通-MATLAB结构矩阵的输出

MATLAB从入门到精通-MATLAB结构矩阵的输出