逐行计算几个文件c ++

时间:2018-03-01 01:49:14

标签: c++ modeling

我有4个文本文件,行数和列数相同。我使用5阶RK方案对一组时间相关变量进行建模,这些文件的每一行输入代表来自唯一数据集的一些参数。这些参数是解决模型中方程所必需的。我想循环遍历四个输入文件的每一行输入,获取这些参数的值,执行RK方法,并将因变量值及时存储为输出文件中的单行输出。

我使用的单个文件:

#include <iostream>
#include <fstream>
#include <iomanip>
#include <valarray>
#include <vector>
#include<string>
#include<sstream>

using namespace std;

typedef valarray<double> val;



//void read_X(ifstream &infile, val(&x)); void read_I(val(&I));

struct Inf {

int i, j;

double Iij;

double ton, toff; };

istream& operator >> (istream &is, Inf &s) {

string line;

getline(is, line);

istringstream ss(line);

ss >> s.i >> s.j >> s.Iij >> s.ton >> s.toff ;

return is; 
}

vector<Inf> Xdata;

val Iij(20);


int main() { 

Iij = 0;


ifstream infile("Data.txt");


Inf I;

if(infile.is_open()){
while (infile >> I) Xdata.push_back(I);
} 

else cerr << "The file cannot be opened" << endl;


for(Inf s : Xdata) cout << s.ton << " " << s.Iij << endl;


infile.close();

return 0; 
}

我的data.txt文件包含类似的内容;

  

1 1 0.1204 0.0 1.170

     

1 2 0.142 1.0 1.170

     

1 3 0.523 5.0 5.170

     

1 4 0.200 2.0 4.170

     

2 1 0.400 3.0 4.170

     

2 2 0.120 0.0 1.170

     

2 3 0.120 0.0 1.170

我有办法为多个文件执行此操作吗?我想到了一个结构矢量,但我不确定它会有多实用。我将非常感谢能得到的所有帮助。

PS:我已经为单个案例提供了RK方法的工作代码,我只需要遍历几个数据集。

谢谢!

0 个答案:

没有答案