MatLab的索引是从1开始的
清空
clc清空命令行clear all清空工作区所有变量变量命名区分大小写,长度<=63
%单行注释%%多行注释变量名字以字母开头,中间可以是字母、数字、下划线
数据类型
数字
字符和字符串
字符串用单引号``
length(str)矩阵
A=[1 2 3; 4 5 3; 3 2 7]:;表示换行,行内用空格或,
B=A':求转置
C=A(:):转成一维矩阵
D=inv(A):求逆矩阵
E=zeros(10,5,3):3维矩阵,每维都是10行5列,元素全是0元胞数组
A=cell(1,6):1行6列的元胞数组
A{2}=eye(3):把该单位矩阵赋给A中第2个元素
eye(n):生成n维单位矩阵
magic(n):生成n阶幻方(横竖斜任意方向数字和总相同)结构体
books=struct('name',{{'Machine Learning','Data Mining'}},'price',[30,40]):相当于键值对、字典
books.name
books.name(1):小括号取出的是cell
books.name{1}:中括号取出的是具体值
矩阵操作
A=[1 2 3 4 5 6 7 8]、】B=1:2:9:构造矩阵->起点:步长:终点B=[1 3 5 7 9]C=repmat(B,3,2):重复B,竖着重复3次,横着重复2次D=ones(2,4):2行4列的纯一矩阵矩阵四则运算
+ - *:字面意思A/B:等价于A * inv(B),和B的逆相乘A .* B:两矩阵对应项相乘,有.的都是对对应项操作,./同理下标
A(2,3)A(2,:)::表示取所有[m,n]=find(A>20):找A中大于20的元素,将其横纵坐标分别赋给m数组和n数组逻辑与流程控制
- for循环
for 循环变量=初值:步长:终值
...
end
步长为1的话可以省略
即for 循环变量=初值:终值
- while循环
while 布尔表达式
...
end
- if(else)语句
if 布尔表达式
...
end
if 布尔表达式
...
else
...
end
- 绘图
…