台湾国立大学郭彦甫Matlab教程笔记(3)Array indexing

command line teminal
1. 分号 ; at the end of a command suppresses output to the terminal
2. 向上的箭头 display previous commands,this is a tip ,calling command history

分号不显示运算结果
台湾国立大学郭彦甫Matlab教程笔记(3)Array indexing_第1张图片

tips;
在这里插入图片描述

下面举例说明clc这个小技巧的使用
使用之前
台湾国立大学郭彦甫Matlab教程笔记(3)Array indexing_第2张图片

使用之后(键入clc),效果:command window清除
台湾国立大学郭彦甫Matlab教程笔记(3)Array indexing_第3张图片

array(vector and matrix)

  1. row vector

    中括号来输入,matlab中中括号基本上都是vector 或者 matrix
    输入 a=[1 2 3 4] 中间用space隔开
    台湾国立大学郭彦甫Matlab教程笔记(3)Array indexing_第4张图片

2.Column vector
b=[1;2;3;4] 里面分号是换行的意思
台湾国立大学郭彦甫Matlab教程笔记(3)Array indexing_第5张图片

矩阵matrix的乘法

台湾国立大学郭彦甫Matlab教程笔记(3)Array indexing_第6张图片
ab出来的是一个数,ba出来的是一个矩阵

ab是内积,ba是外积
台湾国立大学郭彦甫Matlab教程笔记(3)Array indexing_第7张图片
key in the following matrix in matlab
台湾国立大学郭彦甫Matlab教程笔记(3)Array indexing_第8张图片
过程:row and row 之间 打 分号 ,column 和column之间用space空格或者 逗号 ,
结果:
台湾国立大学郭彦甫Matlab教程笔记(3)Array indexing_第9张图片

array indexing 矩阵的索引
1.select a certain subset of elements inside a matrix
question:
what is the answer fram matlab after typing?
台湾国立大学郭彦甫Matlab教程笔记(3)Array indexing_第10张图片

sulution 1:
A(row,column),中间用逗点隔开,比如A(1,2)结果就是第一行第二列位置的数据21
台湾国立大学郭彦甫Matlab教程笔记(3)Array indexing_第11张图片
A([1 3],[1 3])的含义是什么呢?
根据A(row,column),中间用逗点隔开,表示的是横坐标是row,纵坐标是 column的这个数。类比思想
A([1 3],[1 3])中 逗号前面的[1 3]是横坐标,也就是第一行和第三行;逗号后面的是纵坐标[1 3],表示的是第一列和第三列
结果是什么呢?得到的是几个交点。第一行和第一列,第一行和第三列;第三行和第一列,第三行和第三列。
换句话说,就是row和column的排列组合。
台湾国立大学郭彦甫Matlab教程笔记(3)Array indexing_第12张图片

练习结果:

台湾国立大学郭彦甫Matlab教程笔记(3)Array indexing_第13张图片
还有下面这样
台湾国立大学郭彦甫Matlab教程笔记(3)Array indexing_第14张图片
A(4)表示的第四个元素,是上图21这个数,按照column数下来的

这个indexing是小括号里面的

solution2 :没有逗点的,只有一组数
台湾国立大学郭彦甫Matlab教程笔记(3)Array indexing_第15张图片

例如A(8),和上图相符
台湾国立大学郭彦甫Matlab教程笔记(3)Array indexing_第16张图片

例如A(【1 3 5】)是把中括号里面的三个位置的数给调出来
台湾国立大学郭彦甫Matlab教程笔记(3)Array indexing_第17张图片

那么,这个A([1 3;1 3])怎么理解呢?(注意和上面有逗号的区别)
单纯看A([1 3 ])我们知道得到的是第一个 和第三个元素,也就是 1和31
台湾国立大学郭彦甫Matlab教程笔记(3)Array indexing_第18张图片
还记得分号表示换行吗?
第一行的结果是上图所示的行向量,第二行同样也是A([1 3 ]),
我们知道得到的是第一个 和第三个元素,也就是 1和31
所以,最后的结果是两个行向量拼在一起,即2*2的矩阵
台湾国立大学郭彦甫Matlab教程笔记(3)Array indexing_第19张图片

为了更好的理解,再来看一个例子
在matlab中键入A([1 3;1 2]),自己思考一下得到的是什么?
我来说一下自己的理解:
同样,indexing小括号里面只有一个 中括号【】,中括号里面有分号,而分号表示换行。里面有几个分号呢?1个,说明什么?说明最后结果有两行。
第一行是什么呢?A([1 3])表示的是A矩阵中 第一个元素和第三个元素,分别是1 ,31。所以,第一行的结果是一个有两个元素的row vector .
第二行是什么呢?A([1 2]),表示的是A矩阵中第一个元素和第二个元素,分别是什么呢?看一下得知是 1 ,5.所以,第二行的结果也是有两个元素的 row vector
最后的答案是什么呢?两个row vector 拼起来,得到2*2的matirx [1 31; 1 5]
用matlab来运行一下
台湾国立大学郭彦甫Matlab教程笔记(3)Array indexing_第20张图片

【总结一下】
【1】 A([1 3],[1 3]) (这里有逗号) 的含义是什么呢?
回答:本质上是行与列交点组成的新的矩阵
A([M,N],[X,Y])表示的是一个2(因为有M N两个)乘 2(因为 X Y有两个)的矩阵。对应的是:
M行与X列的交点,M行和Y列的交点;N行和X列的交点,N行和Y列的交点。
【2】还有A([1 3;1 3]) (这里有分号) 怎么理解呢?
回答:表示的是几个行向量拼在一起

你可能感兴趣的:(matlab)