0基础入门matlab
目录
一、命令
二、变量命名
三、数据类型
数字
字符和字符串
矩阵
rand、randi和randn的区别?
元胞数组和结构体
MAGIC
结构体
四、矩阵构造、四则运算、矩阵下标
五、MATLAB逻辑与流程控制
六、MATLAB绘图
二维平面绘图
三维平面绘图
导出图片
内容源于b站 爱研究的小阿楠
一、命令
clc清空命令行窗口所有信息
clear all清空工作区的所有变量
注释:%/%%两个百分号有横线
二、变量命名
matlab命名规则
变量名区分大小写
长度不超过63位
字母开头,可以由字母、数字和下划线组成,但不能使用标点
变量名应简洁明了,通过变量名可以直观看出变量所表示的物理意义
三、数据类型
- 数字
- 字符和字符串
- 矩阵
- 元胞数组
- 结构体
数字
+ - * /
字符和字符串
函数名 | 作用 | 例子 |
abs() | ascii码 | abs(a)=65 |
char() | 字符串 | Char(97)='a' |
num2str | num2str(65)=65 | |
length | 计算字符串长度 |
矩阵
A = [1 2 3;4 5 2;3 2 7]
B=A'
C=A(:)%竖着拉
D=inv(A)%求逆矩阵
E=zeros(10,5,3)%3维10行5列全0矩阵
E(:,:,1)=rand(10,5)
E(:,:,2)=randi(5,10,5)
E(:,:,3)=randn(10,5)
rand、randi和randn的区别?
1.rand生成均匀分布的伪随机数。分布在0-1之间
主要语法:rand(m,n)生成m行n列的均匀分布的伪随机数
2.randn生成标准正态的伪随机数
3.randi生成均匀分布的伪随机数
元胞数组和结构体
A = cell(1,6)%1行6列
A{2}=eye(3)%3x3对角线为1的矩阵 matlab索引从1开始
A{5}=magic(5)%
MAGIC
magic字面意思是魔方,魔术的意思。在matlab中用来生成n阶幻方。比如三阶幻方就是1-9三个数字,组成一个3*3的矩阵,使得该矩阵无论横、竖还是斜三个方向上的和总是相同的。
结构体
books=struct('name',{{'Machine learning','Dada Mining'}},'price',[30,40])
books.name
books.name(1)
books.name{1}
四、矩阵构造、四则运算、矩阵下标
话不多说,上代码
%% 矩阵的定义与构造
A = [1 2 3 4 5 6 7 8]
B = 1:2:9
C = repmat(B,3,3)
D = ones(2,4)
%% 矩阵的四则运算
A = [1 2 3 4;5 6 7 8]
B = [1 1 2 2;2 2 1 1]
C = A + B
D = A - B
E = A*B'
F = A.*B
G = A/B%G*B=A G*B*pinv(B)=A*pinv(B) G=A*pinv(B),相当于a*b'
H = A./B
%% 矩阵的下标
A = magic(5)
B = A(2,3)
C = A(3,:)
D = A(:,4)
[m,n] = find(A>10)%找大于20的序号值/矩阵
五、MATLAB逻辑与流程控制
六、MATLAB绘图
二维平面绘图
%%二维平面绘图
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);
figure
[AH,H1,H2] = plotyy(x,y1,x,y2,'plot')
%得到两个y轴的句柄AH(1)、AH(2)
%get(AH(1),'Ylabel')%取出ylabel的句柄
%set(句柄,...)设置句柄的值
set(get(AH(1),'ylabel'),'string','Slow Decay')
set(get(AH(2),'ylabel'),'string','Fast Decay')
xlabel('Time(\musec)')
title('Multiple Decay Rates')%标题
set(H1,'LineStyle','--')
set(H2,'LineStyle','-.')
三维平面绘图
%%三维立体绘图
t = 0:pi/50:10*pi;
plot3(sin(t),cos(t),t)
xlabel('sin(t)')
ylabel('cos(t)')
zlabel('t')
hold on%在同一个幕布中建立多条线
grid on%加网格线
axis square%变成正方形
导出图片
编辑 导出图形
文件 另存为jpg
文件 导出设置 可以改大小