Matlab数据读取

img

画红色线的部分不会 请求指导 读取后 不知道如何将数据横坐标改为时间 已知 录音长度为21s

matalb代码如下:
Fs = 1000; % 采样频率(Hz)
T = 1/Fs; % 采样周期(秒)
L = 1500; % 信号长度
t = (0:L-1)*T; % 时间向量
% 上面这几步是将横坐标由采样点编号改为时间 (s)

A = 0.7; % 幅度
f0 = 50; % 正弦波频率(Hz)
y = Asin(2pif0t); % 生成正弦波信号

plot(t, y)
xlabel('时间 (s)')
ylabel('幅度')

结果图如下:

img

  • 你可以看下这个问题的回答https://ask.csdn.net/questions/7666920
  • 这篇博客你也可以参考下:MATLAB 基础知识 数据类型 元胞数组 访问元胞数组中的数据
  • 同时,你还可以查看手册:matlab 按元素求幂 .^ 中的内容
  • 除此之外, 这篇博客: 【MATLAB】高级绘图整理汇总中的 18 绘制-轮廓线图 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • %clabel-利用轮廓矩阵生成标签并在当前图形中显示
    %contour-利用矩阵所给的值生成二维轮廓线
    %contour3-利用矩阵所给的值生成三维轮廓线
    %contourf-显示二维轮廓图并用色彩填充个轮廓线的间隙
    %contourc-计算被其他轮廓函数占用的轮廓矩阵的低层函数
    [x,y,z]=peaks;
    n=15;% 等高线分级数
    figure;
    subplot(1,3,1);
    h=contour(x,y,z,n);%绘制20条等高线
    clabel(h);%当前图形中显示标签,标签前有'+'号且标签会根据轮廓线旋转,每条轮廓线仅有一个标签
    title('simple contour,n=20');
    subplot(1,3,2);
    z=peaks;
    [c,h]=contour(z,n);%绘制15条等高线
    clabel(c,h);%标签前无'+',每天轮廓线可能有多个标签
    title('调用clabel函数标注轮廓图')
    subplot(1,3,3);
    z=peaks;
    [c,h]=contourf(z,n);
    clabel(c,h,'FontSize',15,'Color','r','Rotation',0);%自定义标签
    colorbar;
    title('使用自定义标注并彩色填充轮廓线的间隙');
    

    在这里插入图片描述

  • 您还可以看一下 苏金明老师的MATLAB数据可视化编程课程中的 单个坐标轴的控制-设置坐标轴对应的值的范围小节, 巩固相关知识点