数据转换 | Matlab基于GASF格拉姆角和场一维数据转二维图像方法

效果分析

在这里插入图片描述

基本介绍

基于GASF(Gramian Angular Summation Field)的方法,将一维数据转换为二维图像的步骤描述
标准化数据:
首先,对一维时序数据进行标准化处理,确保数据具有相似的数值范围。这可以通过减去均值并除以标准差来实现。
计算相位角度:
将标准化后的时序数据映射到一个单位圆上。可以使用以下公式计算相位角度:
θ = arcsin(Xi / sqrt(X1² + X2² + … + Xn²))
其中,Xi 是标准化后的时序数据中的第 i 个样本,n 是数据的长度。
构建Gramian矩阵:
使用相位角度计算Gramian矩阵。Gramian矩阵的元素可以通过以下公式计算:
Gij = cos(θi + θj)
其中,Gij 是Gramian矩阵的第 i 行第 j 列的元素,θi 和 θj 是第 i 个和第 j 个样本的相位角度。
将Gramian矩阵转换为图像:
将计算得到的Gramian矩阵作为二维图像的灰度值。可以将矩阵的每个元素按照一定的取值范围映射到灰度值的范围,例如将矩阵元素归一化到 [0, 255] 的范围,然后将其作为图像的像素值。
通过上述步骤,您可以将一维时序数据转换为二维图像。这种转换可以保留时序数据之间的关系,并且可以利用图像处理和机器学习方法对数据进行进一步的分析和预测。

程序设计

    %% 数据处理
    % 将归一化后的数据映射到[-1, 1]范围
    scaledData = ((normalizedData - max(normalizedData)) + (normalizedData - min(normalizedData))) / (max(normalizedData) + min(normalizedData));

    % 求极坐标下的角度
    polarAngle = acos(scaledData);

    % 生成格拉姆角场矩阵
    GASF = scaledData' * scaledData - sqrt(1 - scaledData.^2)' * sqrt(1 - scaledData.^2);
    GADF = sqrt(1 - scaledData.^2)' * scaledData + scaledData' * sqrt(1 - scaledData.^2);

参考资料

[1] https://blog.csdn.net/kjm13182345320/article/details/129215161
[2] https://blog.csdn.net/kjm13182345320/article/details/128105718

获取方式

点击文章底部联系博主

最近更新

  1. TCP协议是安全的吗?

    2024-04-04 05:48:07       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-04-04 05:48:07       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-04-04 05:48:07       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-04-04 05:48:07       20 阅读

热门阅读

  1. Ubuntu终端多窗口分屏Terminator优化

    2024-04-04 05:48:07       12 阅读
  2. Centos7、ubuntu22.04.3安装php7.4,mysql8.0

    2024-04-04 05:48:07       26 阅读
  3. 中文bert预训练

    2024-04-04 05:48:07       13 阅读
  4. 【C++】编程规范之表达式原则

    2024-04-04 05:48:07       17 阅读
  5. 算法练习----力扣每日一题------6

    2024-04-04 05:48:07       14 阅读
  6. Android 全局配置Gradle依赖及插件仓库

    2024-04-04 05:48:07       18 阅读