% 注释
%%
代码段
%%
字符与字符串
s = 'a'
abs(s)
char(97)
num2str(65)
str = 'I Love Matlab'
length(str)
矩阵
A = [1 2 3;4 5 2;3 2 7;]
B = A' %转置
C = A(:)
D = inv(A) %求逆矩阵
E = zeros(10,5,3) %10行5列 3维
E(:,:,1) = rand(10,5)
E(:,:,2) = randi(5,10,5)
E(:,:,3) = randn(10,5)
rand、radi和randn的区别
1、rand生成均匀分布的伪随机数。分布在(0~1)之间
rand(m,n)生成m行n列的均匀分布的伪随机数
2、randn生成标准正太分布的伪随机数(均值为0,方差为1)
3、randi 生成均匀分布的随机整数
主要语法:randi(iMax) 生成(0,iMax)的随机整数
randi(iMax,m,n) 生成m*n型随机矩阵
r=randi([iMin,iMax],m,n)
元胞数组
相当于C语言里的结构体
% 元胞数组
A = cell(1,6)
A{2} = eye(3) %3*3单位矩阵 matlab索引是从1开始的
A{5} = magic(5) %生成n阶幻方
结构体
相当于python里的字典
%结构体
books = struct('name',{{'Machine Learning','Data Mining'}},'price',[30,40])
books.name %属性
books.name(1) % 输出 'Machine Learning' cell类型
books.name{1} % 输出 Machine Learning 字符串类型
矩阵构造和四则运算
%矩阵的定义域构造
A = [1 2 3 4 5]
B = 1:2:9 %1~9,步长为2
C = repmat(B,3,1) %B 重复三行一列
D = ones(2,4)
%矩阵的四则运算
C = A+B
D = A-B
E = A*B'
F = A .* B %对应项相乘
G = A / B % G * B * inv(B) = A * inv(B) G = A * inv(B),相当于a乘b
H = A ./ B %对应项相除
矩阵的下标
A = magic(5)
B = A(2,3)
C = A(3,:)
D = A(:,4)
[m,n] = find(A>20) %找大于20的序号值/矩阵