讲一下基础的数学运算和矩阵运算。
先在脚本的第一行写上
clc;clear;
清空命令窗口和工作区。
数学运算
就是加、减、乘、除、开方、平方之类的。
来试一试。
在编辑器脚本里输入
1 + 2
点击运行
下方出现了答案。
同样可以试一试:
1 – 2
2 * 3
9 / 3
3 ^ 2
sqrt(9)
你就会发现他们是干什么用的了。
还有其他的一些运算比如mean(),如果有什么想做的运算但是不知道符号可以找度娘。
矩阵运算
一维矩阵:
a = [1 2 3 4 5 6 7 8 9];
或者
a = [1,2,3,4,5,6,7,8,9];
逗号和空格都是可以的,他们作为分隔符号。
末尾的分号直的是这一行不需要输出,我们这里不做计算,只是定义矩阵(数组)。
在右边工作区可以看见你刚刚定义的矩阵.
二维矩阵:
a = [1 2 3;4 5 6;7 8 9];
或者
a = [1,2,3;4,5,6;7,8,9];
这里我们定义了一个3×3的矩阵,可以双击右侧工作区里的变量名进行查看,是一个二维的数组。
matlab中,矩阵用中括号包起来。内部,逗号或者空格用来分隔一行的每一个元素,分号用来分隔列的每一个元素(或者叫‘换行’)。
矩阵数学运算:
我们再定义一个
b = [1,2,3;4,5,6;7,8,9];
然后
c = a + b;
运行后在右边双击“c”查看c里面的元素。可以自己试试相减。(c写在前面的意思是把a+b算出来的值给c,叫做赋值,这里写等号前面的就是需要赋值的对象)
关于矩阵的乘法,没那么简单。线性代数这门课里会学,部分人没有这个课。
矩阵的乘法可以自行百度。我这里讲结果。(以下 n ≠ m )
- n×n 与 n×n的矩阵是可以相乘的。
- n×m 与 m×n的矩阵是可以相乘的。
- n×m 与 n×m的矩阵是不可以相乘的。
例如
c = a * b;
此外,关于矩阵乘法,还有一种。上面讲的是叉乘,还有一种点乘。
写法是
c = a .* b;
可以自己试试,探索一下他们的规律。
叉乘是正常的矩阵乘法,点乘是矩阵对应元素相乘。(要注意,点乘需要两个矩阵行列数完全一样, n×m 与 n×m的矩阵)
至于除法,这里不讲。大家只要知道有点除就可以了。
写法是
c = a ./ b;
也是对应元素相除。
除法没有叉除这一说。
矩阵变换
来试一试
clc;clear;
a = [1,1,1;1,1,1];
b = [2,2,2;2,2,2];
c = [a,b];
双击打开c看看,是什么样的。
这就是矩阵的合并,如上面所说,逗号是行分隔符号,所以相当于把a整个看成c的第一行的第一个元素,然后在第一行的第二个位置放了b。
以上的矩阵的合并,接下来讲一下矩阵的裁剪。
如下代码:
clc;clear;
a = [1,1,1;1,1,1];
b = [2,2,2;2,2,2];
c = [a,b];
d = c(1,1);
打开d看看长什么样。这里指的是把c的第一行的第一个元素取出来。
然后
clc;clear;
a = [1,1,1;1,1,1];
b = [2,2,2;2,2,2];
c = [a,b];
d = c(1,:);
打开d看看长什么样。这里指的是把c的第一行的每一个元素取出来。
matlab中,冒号可以表示从哪到哪的意思。
如 1:3 指的是1,2,3的全部。
单单一个冒号是指全部,从1开始到最后一个。
打赏作者
《MATLAB编程教学(二)》有1个想法
Pingback 引用通告: MATLAB教学汇总 | Hannes的站点