title: Matlab学习小结
date: 2017-12-01 20:37:00
tags:
- Matlab
- Coursera
- MATLAB 程序设计入门
categories: 编程语言

在coursera上学习了 MATLAB 程序设计入门
这门课,主要目的是熟悉matlab基本功能和语法,里面的编程题很不错,具有挑战性,我最后一周做了两道题就不做了。(时间太紧了,以后再补充吧 嘿嘿)
一些有用的命令
1. 清空工作区变量
clear;
2. 清空命令窗口的记录
clc
3. 查看函数功能
help function_name
doc function_name
4. 创建m文件(后缀.m可以省略)
edit name
5. 关闭Matlab
close
6. 查询数据类型
class(typename)
python为 type(typename)
7. 其他与linux命令相关的
如:dir cd .. find等
Matlab入手
首先,理解.m文件的作用。它相当于Java的.java
文件、Python的.py
文件、C语言的.cpp
文件等。它是解释性语言,和python一样(YU Java不同),所以是一行一行运行的,不产生字节码文件
。所以.m
文件和.py
文件都是脚本文件,可以完成一些手工简单但琐粹的日常任务。
函数就是在.m文件中定义的。这么定义就可以了
.m文件
function amag = accelerate(F1,F2,m)
F = F1 + F2;
a = F / m;
amag = (a(1)^2 + a(2)^2 + a(3)^2)^0.5;
end
这里,function是函数关键字;amag为返回值,返回多个值这样表示:[x, y, z]或者[x y z];accelerate为函数名,这里注意函数名要与文件名一致(多个函数是,应该是与第一个函数名一致);F1,F2,m为形参,可以看出Matlab是弱类型语言(这里可以不用定义类型,所以很方便);end为结束标志,if、while等结构类型后面都加上end。注释用%。
运行.m文件
accelerate(F1,F2,m) % 就像函数调用那样就行了
YIxie快捷键
1. 多行注释
Ctrl + r
2. 取消多行注释
Ctrl + t

数据类型
数据类型和其他语言基本是大同小异,只要会help命令,就可以查看了,按需学习。想系统学,建议看上面提到的公开课,做几个编程题就差不啦,嘿嘿。
-
[]
矩阵定义
x = []; -
{}
集合定义
x = {}; -
struct()
结构体定义
x = struct(); -
‘’
字符数组定义
x = ‘aaa’; -
“”
字符串定义
x = “aaa”;
注意:''
和 ""
是不同的。
数据类型的详细区别后面再看着更新吧。
Matlab 和 Python的一些语法格式区别
-
Matlab 和 Python的函数体边界,后者比前者少了一个end,多了一个冒号;Matlab每个句子结束有分号,而Python不鼓励加分号
Matlab代码 function y = and(x1, x2) y = x1 + x2; end
Python代码 def and(x1, x2): y = x1 + x2 return y
-
循环和控制语句
Matlab后面都需要end,而Python需要在换行前写冒号,然后写控制体Matlab代码 x = 0; for i = 1:100 x = x + i; end
Python代码 x = 0 for i in range(1,101) x = x + i