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
- 绘图
…