吴恩达机器学习——编程语言Matlab基本操作

 

Choose which language to learn and why?

选择什么语言去学习?为什么?

首先推荐Octave,简单方便,并且开源免费。

Matlab也非常的优秀,但是它并不是每个人都买得起的(手动滑稽),如果你能够使用它,那么建议使用matlab。

Python、numpy、R语言,也有很多人选择,但开发较慢。

 

matlab学习

注释:

百分号后面的内容都是被注释的内容

吴恩达机器学习——编程语言Matlab基本操作

注释掉百分号后面(同一行)的内容,不参与运行

 

创建一个矩阵

吴恩达机器学习——编程语言Matlab基本操作

分号代表下一行的数据,A表示一个变量名,这是一个赋值表达式,将一个矩阵赋值给A

 

矩阵(行:列)索引某个位置的值:

实例:

吴恩达机器学习——编程语言Matlab基本操作

矩阵(行,:)

返回该行的所有数据

实例:

吴恩达机器学习——编程语言Matlab基本操作

矩阵(start:end)

按照列的顺序返回第start的值到第end的值

实例:

吴恩达机器学习——编程语言Matlab基本操作

矩阵(:,列)

返回指定列的所有内容

实例:

吴恩达机器学习——编程语言Matlab基本操作

 

Size()方法

吴恩达机器学习——编程语言Matlab基本操作

Size(一个矩阵) 返回的是矩阵的规模,即行×列

注意:你会看到每执行一行指令都会打印出一定的结果,如果你不想让它显示如

吴恩达机器学习——编程语言Matlab基本操作吴恩达机器学习——编程语言Matlab基本操作

可以在每行代码加一个;表示结束

 

矩阵([ num ……],2)= [2*num ……]

实例:

吴恩达机器学习——编程语言Matlab基本操作

 

矩阵([ num1 num2],num3)

返回行数为num1或者为num2,列数为num3的值:

实例:

 吴恩达机器学习——编程语言Matlab基本操作

 

同理进行进一步的扩展:

吴恩达机器学习——编程语言Matlab基本操作

即返回第一行和第二行的所有数据

 

吴恩达机器学习——编程语言Matlab基本操作

将第二列的数据都进行重新赋值

 

吴恩达机器学习——编程语言Matlab基本操作

在原来的基础上,又增加了一列数据,同理:

 

矩阵(:)

实例

吴恩达机器学习——编程语言Matlab基本操作

将矩阵中的所有值排列在一列

 

 

矩阵 = [矩阵A 矩阵B](行数相同) or 矩阵 = [矩阵A,矩阵B]

实例:

吴恩达机器学习——编程语言Matlab基本操作

 

矩阵 = [矩阵A ; 矩阵B](列数相同)

实例:

吴恩达机器学习——编程语言Matlab基本操作

 

 

Size(A,num)

吴恩达机器学习——编程语言Matlab基本操作  吴恩达机器学习——编程语言Matlab基本操作

观察上式可以大概推测的出来,size(A,num)表示矩阵中第num个数的值,排列顺序是从左到右,从上到下依次排列。

如果num大于它的值的个数呢?以下就是我测试的结果:

吴恩达机器学习——编程语言Matlab基本操作吴恩达机器学习——编程语言Matlab基本操作

即结果始终为1,如果num≤0,则会报错

 

有关向量的操作:

初始化一个向量:

变量名 = 向量

吴恩达机器学习——编程语言Matlab基本操作

Length(向量名):返回向量的最大维度

吴恩达机器学习——编程语言Matlab基本操作

吴恩达机器学习——编程语言Matlab基本操作吴恩达机器学习——编程语言Matlab基本操作

 

 

观察可得,length(矩阵)返回最大的维度(不考虑行和列)

 

Pwd

输入pwd,返回软件安装路径

 

Cd

Cd  ‘路径名’ :改变当前目录位置

 

Ls:

Ls 列出当前目录的所有文件

 

加载文件(例如:a.txt)

Load a.txt

也可以 load(‘a.txt’)效果如下:

吴恩达机器学习——编程语言Matlab基本操作

没有报错,就说明成功读取文件内容

 

Who命令:

展示当前所有变量

实例:

吴恩达机器学习——编程语言Matlab基本操作

 

Whos命令

展现出所有变量,及更多具体的参数:

实例:

吴恩达机器学习——编程语言Matlab基本操作

 

 

具体数据(吴恩达老师课程的featuresX和priceY的数据内容:)

 

squares

room

price

2104         

3

3999

1600 

3

3299

2400

3

3690

1416   

2

2320

3000

4

5399

1985    

4

2999

1534

3

3149

1427

3

1989

1380

3

2120

1494

3

2425

1940

4

2399

2000

3

3470

1890

3

3299

4478

5

6999

1268

3

2599

1437

3

4499

1239

3

1509

2132

4

1667

4215

4

5948

2162

4

4718

1664

2

3932

2238

3

2011

2567

4

4538

1200

3

2251

852

2

2617

1852

4

4084

1203

3

3523

 

Clear命令:

清楚变量

Clear 变量名

这是工作域的变量,共有三个变量:

吴恩达机器学习——编程语言Matlab基本操作

执行命令,清除ans变量后的运行结果:

吴恩达机器学习——编程语言Matlab基本操作

 

清除所有变量:

Clear

 

 

V = priceY(1:10)

变量 = 向量(start:end)将部分内容截取赋值给变量,start和end指向的内容都会被赋值

吴恩达机器学习——编程语言Matlab基本操作

 

写入文件:

Save  路径名(文件格式:mat)  变量(二进制方式存储)

将变量中的数据保存到路径指向的文件中:(存储为二进制格式)

实例:

吴恩达机器学习——编程语言Matlab基本操作

无报错则执行成功

无压缩格式:

Save 路径名(文件格式:txt) 变量 -编码格式(例如:UTF-8)