1. 程式人生 > >matlab離線處理c++輸出到txt的資料

matlab離線處理c++輸出到txt的資料

背景

用c++語言採集到大量資料,如果要進行視覺化,進行分析或者展示,那麼比較方便的是用matlab來處理。

首先想到的是以txt為儲存資料載體,離線處理。即c++程式執行過程中把採集到的資料儲存到txt中,然後在matlab中讀取進行資料分析和繪圖。至於實時處理,將來有了實現方案再新寫一篇進行介紹。

c++怎麼把資料儲存到txt中?

需要包括標頭檔案:

#include<fstream>

函式外變數定義:

ofstream fout;

初始化函式:

char filenametemp[15];
cout<<"請輸入要儲存資料的檔名:"
; cin>>filenametemp; strcat(filenametemp,".txt"); char* filename = filenametemp; fout.open(filename); //不能有空格

資料輸出執行緒:
變數newdata在其他資料更新執行緒中置一。

while(newdata)
{
    newdata = 0;
    //輸出三維位置,三軸加速度,每個數之間用空格隔開,。
    fout.precision(10); //設定精度10位
    fout<<latitude<<" "<<longitude<<" "
<<Alt<<" "; fout<<a1<<" "<<a2<<" "<<a3<<endl; if(isexit) { fout<<flush; fout.close(); printf("檔案輸出完畢\r\n"); break; } while(!newdata); }

matlab怎麼讀取txt中的資料?

比如我在vs中輸入的檔名是“qianrenzhan.txt”,那麼相應地matlab程式應該是:

clear
clc
load qianrenzhan.txt
test = qianrenzhan;
xpos = test1(:,1);
ypos = test1(:,2);
zpos = test1(:,3);
xpos = latitude;
ypos = longitude;
figure
plot(ypos,'r');
title('經度隨時間變化');
ylabel('經度/°');
xlabel('時間/(s/20)');
figure
plot(xpos);
title('維度隨時間變化');
ylabel('維度/°');
xlabel('時間/(s/20)');
figure
scatter(ypos,xpos);
title('運動軌跡');
ylabel('維度/m');
xlabel('經度/m');

繪圖結果

經度隨時間變化:

經度隨時間變化

緯度隨時間變化:

緯度隨時間變化

運動軌跡:

經度隨時間變化

相關推薦

matlab離線處理c++輸出txt資料

背景 用c++語言採集到大量資料,如果要進行視覺化,進行分析或者展示,那麼比較方便的是用matlab來處理。 首先想到的是以txt為儲存資料載體,離線處理。即c++程式執行過程中把採集到的資料儲存到txt中,然後在matlab中讀取進行資料分析和繪圖。至於實

C++讀取txt資料出錯(亂碼、資料出錯、檔案打不開)

筆者最近用C++讀取txt檔案,遇到了讀取資料亂碼或資料錯誤、檔案打不開的問題,現將其中的坑寫下,供參考。1、讀資料亂碼或結果錯誤編碼方式有誤將導致讀資料亂碼或結果錯誤(筆者在出錯時結果為0)。亂碼是由於編碼方式導致的,可以用notepad++開啟將編碼格式轉為ANSI,如下

C++讀取txt檔案,並利用ROS將其作為資料輸出

#include "ros/ros.h" #include "std_msgs/String.h" #include <sstream> #include <iostream> #include <vector> #include <

Matlabc++對txt 文檔的讀寫格式

space 控制臺 描述 col 什麽 let 數據 ret open 學習g++能夠讀取什麽格式的txt文件。 讀基本指令: >sprintf(filename, "doc_%d.txt", d); >fi

c++中txt檔案的讀取以及在MFC中讀取txt座標資料並完成圖形繪製

主要介紹如何讀取txt檔案中的座標資料,並在MFC視窗中繪製出來,工程建立方法和繪圖方法與上一篇博文基本一致,這裡就不再詳贅述,可參考上一篇博文vs2010、MFC視窗中繪製點、線、面。 C++中讀取檔案的方法有兩種,一種是來自於C語言的“檔案指標”方法,另一種是C++中的“檔案流”思想。

從鍵盤輸入三個整數a、b、c,要求將輸出資料按從大到小排序後輸出

#include<stdio.h> int main() { int a,b,c,t; scanf("%d%d%d",&a,&b,&c); if(a>b) { t=a; a=b; b=t; } if(a>c) { t=a; a=c; c=t

C#Winform 實現資料的匯出為txt或者CSV或者excel

//filePath 為儲存到本地磁碟的位置 private void Export(string filePath) { using (FileStream fs=new FileStream(filePath,FileMode.Create,

C++讀取txt檔案資料

本次實驗主要目的是實現C++提取txt檔案的資料,txt檔案中的資料為double型。 txt檔案的資料為 1.123456789098 2.123456789098 3.123456789098 4.123456789098 5.123456789098 6.123456789098 7

c#讀取txt,xml,excel中的資料,繫結到lsitview ,dataview

c#讀取txt,xml,excel中的資料,繫結到lsitview ,dataview c讀取txtxmlexcel中的資料繫結到lsitview dataview c#讀取txt,xml,e

C++ Primer Plus--資料處理(三)

介紹C++變數的命名規則,以及資料型別 3.1 簡單變數 int a; a = 5; 上述語句告訴程式,它正在儲存整數,並使用名稱a來表示該整數的值。實際上,程式將找到一塊能夠儲存整數的記憶體,將該記憶體單元標記為a,並將5複製到該記憶體單元中,然後,可

C語言複習資料結構之簡單的二叉樹輸入和輸出操作

C語言複習之簡單的二叉樹的僅輸入輸出操作 1:結構體 typedef struct TreeNode{ _Data value; struct TreeNode * father; struct TreeNode * right; stru

C程式設計 | C語句及資料的輸入輸出

C程式結構 C語句的分類 控制語句 函式呼叫語句 表示式語句 空語句 複合語句 (1)控制語句:控制語句用於完成一定的控制功能,C共有9種控制語句 if()…else…(條件語句) for()…(迴圈語句) while()…(迴圈語句) do…whil

c++基礎:資料型別轉換及處理(二)檔案路徑擷取檔名

繼續昨天未寫完的...我是初學者,如果覺得太簡單,勿噴,如果有什麼錯誤之處,請指出,多謝~! 今天整理了寫的根據檔案路徑擷取檔名相關程式碼,主要包含替換路徑中的“/”為“'\”,然後根據“\”擷取最後的字串,即檔名 一、字串完全替換 以下方法可以替換掉

c++基礎:資料型別轉換及處理(一)string轉wstring及檔案拷貝

使用java太長時間,已經習慣了其資料型別轉換及處理的便捷。但是,現在使用c++,不得不去面對其資料型別轉換,以及相關的處理。瞬間感覺奔潰,一天中,很多時間都交給度娘了... 檔案拷貝 本來很方便,提供了CopyFile,但是看到入參,瞬間崩潰,普通字串不行

C++primer第五版 NDEBUG預處理變數,輸出vector內容,有條件地輸出指向過程有關的資訊。

 除錯程式碼時,有時會用到一種類似於標頭檔案保護的技術,這就要用到兩項預處理功能:assert和NDEBUG。 前處理器定義了幾個對於程式除錯很有用的名字: __FILE__ 存放檔名的字串字面值 __LINE__ 存放當前行號的整型字面值 __TIME__ 存放檔案編譯時

C# 讀取txt檔案資料,StreamReader.BaseStream.Seek()後ReadLine()有錯誤的問題

readerPOSPath.BaseStream.Seek(n, SeekOrigin.Begin); linepos = readerPOSPath.ReadLine();//讀一行 按照上面的方法。Seek到指定位置後,緊接著ReadLine(),得到的結果有Seek之前的資料,也就是

ACMNO.37 C語言-數字交換 輸入10個整數,將其中最小的數與第一個數對換,然後把最大的數與最後一個數對換。寫三個函式; ①輸入10個數;②進行處理;③輸出10個數。

題目描述 輸入10個整數,將其中最小的數與第一個數對換,然後把最大的數與最後一個數對換。 寫三個函式; ①輸入10個數;②進行處理;③輸出10個數。 輸入 10個整數 輸出 整理後的十個數,每個數後跟一個空格(注意最後一個數後也有空格) 樣例輸入 2 1

C語言 printf輸出字串資料

void main() { unsigned char *x = "ab,sdf,sad,23432,cc"; data = x; printf("data = %c\n", *data)

處理生成VOC的資料格式的test.txt train.txt trainval.txt val.txt 和SSD的imdb資料格式以及ssd的訓練

VOC的資料格式就是在VOC資料夾下:準備三個資料夾 1、 Annotations裡面放標註好的xml檔案使用的這個工具, 參考http://blog.csdn.net/jesse_mx/article/details/53606897。可以直接看部落格最後面,下載最新版,

c筆記(資料型別,輸入輸出,選擇迴圈,陣列)

資料的兩種形式:變數和常量。 其中常量分整型常量,實型常量(小數),字元常量(普通字元和轉義字元),字串常量(若干個字元),符號常量(用符號代替具體的數,用#define定義,類似常變數) 資料型別,基本型別有整形和浮點型。整形型別又有int,short int,long int,long long int