%% 指令
ctrl + r 添加注释
ctrl + t 取消注释
圆周率 pi
%% 元胞数组,一个不要求数据类型相同的数组
A = cell(1,6) %% Matlab下标从1开始
A{2} = eye(3) %% 3*3的单位矩阵
A{5} = magic(3) %% 生成3阶幻方,即横竖斜3个方向,和总是相等
B = A{5}
%% 结构体
books = struct('name',{{'Machine','Learning'}},'price',[30,40])
books.name(1) % 返回cell类
books.name{1} % 返回cell中的内容
%% 矩阵操作
%矩阵定义与构造
A = [1 2 3;4 5 6;10 22 34]
B = 1:2:9 %最小值:步长:最大值
C = repmat(B,3,2) %将一个矩阵重复,行重复3次,列2次
D = ones(4,4) %生成全1矩阵,还有zeros,其他没有
%矩阵四则运算
A = [1 2 3 4 ;5 6 7 8]
B = [1 2 1 2 ;4 4 4 4]
C = A + B
D = A - B
E = A * B'
F = A .* B % .*:对应项相乘
G = A / B % A * inv(B)
H = A ./ B
% 矩阵特殊操作
A=[1,2,19;4,5,88;7,8,9]
B=A' % 转置
C=A(:) % 排成一列
D = inv(A) % 逆矩阵
A * D
E = zeros(10,5,3) % 3维矩阵
E(:,:,1) = rand(10,5) %%0-1的随机数,randn:标准正态分布的伪随机数,randi:随机整数
% 矩阵下标,起始为1
A = magic(5)
B = A(2,3)
C = A(3,:) % :代表所有元素
%% 循环结构:
for 循环变量 = 初值:步长:终值(步长可省略,默认为1,即:初值:终值)
执行语句
end
%
while 条件表达式
执行语句
end
%
%% 分支结构
if x == 2
fprintf('Congrats! You guessed my number!\n');
elseif x < 42
fprintf('Too small. Try again\n');
else
fprintf('Not right, but a good guess.\n');
end
%
switch value % value 为需要进行判决的标量或字符串
case test1 % 如果 value 等于 test1,则执行 command1,并结束此结构
command1
case test2 % 如果 value 等于 test2,则执行 command2,并结束此结构
command2
case testk % 如果 value 等于 testk,则执行 commandk,并结束此结构
commandk
otherwise % 如果 value 不等于前面所有的值,则执行 commands,并结束此结构
commands
end
%% 二维平面绘图
x = 0:0.01:2*pi
y = sin(x)
figure % 建立一个幕布
plot(x,y) % 绘制二维平面图
title('y = sin(x)') % 给幕布命名
xlabel('x')
ylabel('sin(x)')
xlim([0 2*pi]) %调整显示范围
x = 0:0.01:20
y1 = 200*exp(-0.05*x).*sin(x)
y2 = 0.8*exp(-0.5*x).*sin(10*x)
yyaxis left
plot(x,y1)
yyaxis right
plot(x,y2)
%% 三维立体绘图
t = 0:pi/50:10*pi
plot3(sin(t),cos(t),t)
xlabel("sin(t)")
ylabel("cos(t)")
zlabel("t")
hold on % 激活hold on,以便在同一图形上绘制
hold off % 关闭hold on,后续的绘图将替换当前图形
grid on % 加网格线
x,y,z\] = peaks(30); mesh(x,y,z) % 绘制三维曲面网格图 ### %% 图形的保存与导出 % 在figure中上方'编辑'中,找到'复制图形' % '文件'中'另存为' % '编辑'中'复制选项',编辑复制的图片 % '编辑'中'图形属性',直接编辑figure中的图片 % '文件'中'导出设置',调整导出图片的大小