菜单

MATLAB编程教学(二)

2018-11-21 - IT小知识
MATLAB编程教学(二)

讲一下基础的数学运算和矩阵运算。

先在脚本的第一行写上

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 )

  1. n×n 与 n×n的矩阵是可以相乘的。
  2. n×m 与 m×n的矩阵是可以相乘的。
  3. 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的站点

  • 发表评论

    邮箱地址不会被公开。 必填项已用*标注