��վ�ܷ�������

SP学习笔记——Matlab使用篇

最近开始学习信号处理x

涉及到matlab的各种使用开坑记录学习

依旧采用python学习笔记的格式写法


基本语法

输入

有很多读入方法

读入文件

load("xxxx.mat") % 一般是,matlabdata格式x
imread("xxx.jpg") % 读入图像,返回改图像的矩阵
img=imread("xxx.jpg");
img(:;:;1)% -> R的矩阵格式
img(:;:;2)% -> G的矩阵格式
img(:;:;3)% -> B的矩阵格式
x=xlsread("xxx.xlsx")%读入excel
%还有很多种读入

用户读入

x=input("You must write something here") %可以读入整数,字符,矩阵等

输出

figure , imshow(img)% 打开一个窗口->figure 显示图像
%普通显示数据只需要
x %不加分号自动显示
xlswrite('data.xlsx',ans,'Sheet1','C2') % 输出到表格,(文件名,变量,哪张表,第几行)

数组

matlab里面好像主要用矩阵比较多

也能直接生成等比数列构成的数组

a= 1:2:10; # 1 3 5 7 9
a = 1:10;  # 1 2 3 4 5 6 7 8 9 10
a = 10:-1:1  # 10 9 8 7 6 5 4 3 2 1
# 以最后一次定义为准
a(10); # 1
a(end); # 1
a(1:5); # 10 9 8 7 6
a(end:-1:1); # 1 2 3 4 5 6 7 8 9 10

矩阵

矩阵是matlab作业里常用的东西 要熟练运用

首先是基本定义

a=[1 2 3;4 5 6]
% ;代表每一行的分割符
% 1 2 3
% 4 5 6
a=zeros(row,col) % 创建一个几行几列全是0的矩阵
a=ones(row,col) % 创建一个几行几列全是1的矩阵

运算

数组运算
+ , - , .*, ./, .\
对元素执行。
x = A./B用 A 的每个元素除以 B 的对应元素。

x = A.\B 用 B 的每个元素除以 A 的对应元素。

矩阵运算
*, /, \, ^ ,‘

和线性代数的运算规则相同

直接用x=A\B 算Ax=B 解方程

切片

a=matrix(row,col)
% 例子
a=matrix(1:2,3:4) % 第一到2行的3到4列
a=matrix(1:2:10,2:3:12) % 同理 若有3个参数中间为步长两边为区间

画图

plot,创建 Y 中数据对 X 中对应值的二维线图。 如果 X 和 Y 都是向量,则它们的长度必须相同;
stem,绘制离散序列数据;
subplot

t = 0:0.1:5-0.1;
f = sin(2*pi*t);
plot(t,f,"Color",'r',"LineStyle","-","LineWidth",2); hold on
plot(t,f,"Color",'b',"LineStyle","--","LineWidth",0.5); hold off 
----------p1    
stem(t,f);
----------p2
stem(t,f,"filled");
----------p3
stem(t,f,"LineStyle","--","Marker","*");
----------p4
subplot(2,2,[1 2]); plot(t,f,"Color",'r',"LineStyle","-","LineWidth",2);
subplot(2,2,3); stem(t,f,"filled")
subplot(2,2,4); stem(t,f,"LineStyle",'none',"Marker","*")
----------p5

​ p1

​ p2

​ p3

​ p4

​ p5

进阶学习