IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> C++知识库 -> 两组不同频率的数据在相同时间比较:代码 -> 正文阅读

[C++知识库]两组不同频率的数据在相同时间比较:代码

Linux 环境下,C++语言,两组不同频率的数据 在相同时间(最近的时间)进行数据的比较

Linux下简单工程创建连接:

https://blog.csdn.net/hltt3838/article/details/105329079

#include <iostream>
#include <iostream>
#include <iomanip>
#include <fstream>
#include <math.h>
#include <string>
#include <string.h>




using namespace std;


int ReadOneLine(FILE *fp, char buff[], int sz)
;
int ExtractSameEpochDataAddDiff_msckf()
;

int main()

{

    cout<<"hello world!"<<endl;
    cout<<"PVQ difference"<<endl;
    
    ExtractSameEpochDataAddDiff_msckf()
;
        
    return 0;

}




int ReadOneLine(FILE *fp, char buff[], int sz)
{
    if (feof(fp)) return 0;
    memset(buff, 0, sz);
    fgets(buff, sz, fp);
    return 1;
}

#define PVAR_FORMAT "%lf %lf %lf %lf\n"
 
#define PVAW_FORMAT "%9.3f %12.4f %12.4f %12.4f\n"
int ExtractSameEpochDataAddDiff_msckf()
{
   
    char srcFileName1[256];
    char srcFileName2[256];
    char diffFileName[256];
    

    double AngleOffset[3] = { 0, 0, 0 };
    strcpy(srcFileName1, "/home/hltt3838/PVQ_diff/output/PVA_out.txt");
    strcpy(srcFileName2, "/home/hltt3838/PVQ_diff/output/Real_data.txt");
    strcpy(diffFileName, "/home/hltt3838/PVQ_diff/output/diff_200Hz.txt");

    // ----------------------------------------------------------------------------------------
    char buff1[2048] = { 0 };
    char buff2[2048] = { 0 };

    double t1,t2 = 0;
    int rec = 1;
    FILE *srcFp1, *srcFp2, *fp_diff;
    srcFp1 = fopen(srcFileName1, "r");
    srcFp2 = fopen(srcFileName2, "r");
    fp_diff = fopen(diffFileName, "w");

    if (NULL == srcFp1)
    {
        return 0;
        cout<<"PVA_out  error"<<endl;
    }

    if (NULL == srcFp2)
    {
        return 0;
        cout<<"Real_data  error"<<endl;
    }

    if (NULL == fp_diff)
    {
        return 0;
        cout<<"diff_200Hz  error"<<endl;
    }

    double timeGap = 0.006;//0.015;//100Hz


    double BLH[3], BLH_ref[3];
    double deltaXYZ[3] ;
  
    int num[2];
    while (rec == 1)
    {
        if (ReadOneLine(srcFp1, buff1, 2048) == 0)
        {
            fclose(srcFp1);
            fclose(srcFp2);
            fclose(fp_diff);
            return 0;
        }


      num[0] = sscanf(buff1, "%lf", &t1);

        
        if (num[0] < 1) break;
        
        sscanf(buff1, PVAR_FORMAT, &t1, BLH, BLH + 1, BLH + 2);
 
        

        while (true)
        {
            if (t2 >= t1)
            {
                break;
            }

            if (ReadOneLine(srcFp2, buff2, 2048) == 0)
            {
                fclose(srcFp1);
                fclose(srcFp2);
                fclose(fp_diff);
                return 0;
            }

             //num[0] = sscanf(buff2, "%lf", &t2);
             sscanf(buff2, PVAR_FORMAT, &t2, BLH_ref, BLH_ref + 1, BLH_ref + 2);

 
            if (fabs(t1 - t2) > timeGap)
           {
               break;
           }

        // 进行线性内插
        //slope = (t1 - t2_0) / (t2 - t2_0);

        //for (int i = 0; i < 3; i++)
        //{
        //    XYZ_m[i] = XYZ_ref0[i] + slope * (XYZ_ref[i] - XYZ_ref0[i]);
        //    //Vel_m[i] = Vel_ref0[i] + slope * (Vel_ref[i] - Vel_ref0[i]);
        //    //Att_m[i] = Att_ref0[i] + slope * (Att_ref[i] - Att_ref0[i]);
        //}

         cout<<"current time = "<< t2 <<endl;

        for (int i = 0; i < 3; i++)
            deltaXYZ[i] = BLH[i] - BLH_ref[i];
        
        cout<<"deltaXYZ = "<<deltaXYZ[0]<<endl;

       // if (fabs(t1) < 1.0) continue;

        
        fprintf(fp_diff, PVAW_FORMAT, t1, deltaXYZ[0], deltaXYZ[1], deltaXYZ[2]);
      }
  }

    printf("\n");

    //fcloseall();
    fclose(srcFp1);
    fclose(srcFp2);
    fclose(fp_diff);

    return 0;
}

  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2021-07-13 17:16:52  更:2021-07-13 17:18:50 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年4日历 -2024/4/28 7:51:49-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码