0 序

来源-matlab入门之旅-学习记录

1、matlab

  • 数据加载、加工、作图、修饰

2、数据分析

1、入门实战1-用电分析

1.1 用电量分析

此项目中,将绘制各经济部门的用电量图 - 居民用电、商业用电和工业用电。
在这里插入图片描述

1.1.1 实操

  1. 数据加载及处理
load electricity
usage
%缺失值处理
sage(2,3) = 2.74
%%分别取出居民、商业、工业数据
res = usage(:,1)
comm = usage(:,2)
ind = usage(:,3)
% 时间,x轴
yrs = 1991:2013
  1. 绘图及修饰(加图例和标题)
  • 创建一个包含所有三列数据的绘图。使用 yrs 作为 x 数据。
  • 将标题 “July Electricity Usage” 添加到现有绘图。
  • 用值 “res”、“comm” 和 “ind” 创建图例。
plot(yrs,res,"b--")
hold on
plot(yrs,comm,"k:")
plot(yrs,ind,"m-.")
hold off

title("July Electricity Usage")
legend("res","comm","ind")

在这里插入图片描述

1.1.2 据图分析

从图中可以很明显地看出,工业部门的用电量相当稳定,波动似乎不如居民部门和商业部门的大。

2 、入门实战2-音频频率分析

2.1 音频频率

音频信号通常由许多不同的频率组成。例如,在音乐中,音符“中央 C”的基率为 261.6 Hz,并且大多数音乐都包含多个同时演奏的音符(或频率)。

在此项目中,您将分析风琴演奏 C 和弦的频谱。

C 和弦由 C (261.6 Hz)、E (329.6 Hz) 和 G (392.0 Hz) 音符组成。此频率图中突出显示的点对应于每个音符。

在这里插入图片描述

2.1.1实操

C 和弦录音存储在一个名为 Cchord.mat 的文件中。此文件包含两个变量:

  • y:录音信号
  • fs:采样频率
  1. 数据加载
    创建一个名为 n 的变量,表示 y 中的元素数目。然后使用 n 创建等间距向量 t,该向量以 0 开头,以 n-1 结尾,元素之间的间距为 1。
load Cchord
y
fs
n = numel(y)
t = 0:n-1
  1. 数据加工、处理及作图
    t 现在有正确的点数,但它需要表示音频信号的采样时间。您可以使用采样频率 fs 将向量转换为时间(以秒为单位)。
t = t / fs
plot(t, y)

在这里插入图片描述
在绘图中, y 是周期性的,但它不是简单的正弦波。它由具有不同频率的多个正弦波组成。

傅里叶变换将返回信号的频谱信息。主频的位置将显示和弦中包含的音符。

可以使用 fft 函数来计算向量的离散傅里叶变换。
3. matllab离散傅里叶变换

  • fft 函数来计算向量的离散傅里叶变换并取绝对值
  • FFT 向量 yfft 计算频率向量 f
yfft = abs(fft(y))
f = 0:n-1
  1. 修饰
    向量 f 现在包含 n 个点。要将这些点转换为频率,您可以将整个向量乘以采样频率 (fs),然后除以点数 (n)。

f 将包含从 0 到 fs 的频率。主频位于 f 的开头位置。可以使用 xlim 函数放大所关注的区域。
xlim([xmin xmax])

f = f*fs/n
plot(f, yfft)
xlim([0,1000])

在这里插入图片描述

load Cchord
y
fs
n = numel(y)
t = 0:n-1
t = t / fs
plot(t, y)
yfft = abs(fft(y))
f = 0:n-1
f = f*fs/n
plot(f, yfft)
xlim([0,1000])

3 总结

3.1 音频、图像 频图分析

3.2 傅里叶变换

3.3 matlab知识点

  • 数据加载语句文件名可以不带后缀
  • xlim限制x轴范围
  • hold on / hold off 一张图里画多组线
  • title 标题
  • legend 图例
  • 线型设置
Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐