创建大型数据表以在MatLab中进行深度学习

时间:2018-11-07 15:18:15

标签: c# visual-studio matlab

当前,我正在使用分光仪在vs c#中开发一个程序,获取其原始数据并将其写入格式化的文件中,因此我可以在MatLab中使用它来训练NN。我对编程并不陌生,但是很少使用MatLab和C#。

我的问题是光谱仪为我提供了3648个保存在数组dataLED中的值(希望可以排序),否则此方法将无济于事。我遍历具有不同波长的多个LED,从而获得8x3648数据点,我也想对当前正在照亮的对象进行标记。

当前,我通过StreamWrite将其保存到文件中,格式如下:

Label,Wavelength,Var1,Var2,Var3,...Var3648
Label,Wavelength,Var1,Var2,...

但是我不知道如何使MatLab正确读取它。我使用了stackedplot,但是以某种方式弄乱了。

所以我认为它应该看起来像这样:

Label  Wavelength  Var1      Var2      ...   Var3648

Paper   520        0.001234  0.000987  ...   0.015354
Paper   560        ...

所以我调查了DataTable。

DataTable dt = new DataTable();
dt.Columns.Add("Label");
dt.Columns.Add("Wavelength");
for (int i = 0; i < 3649; i++)
{
    dt.Columns.Add("Var" + i);
}

这将添加头行。 现在如何添加原始数据? 目前,我遍历LED并将值保存在阵列中。然后我这样做

for (int j = 0; j < dataLED.Length; j++)
    {
    dt.Rows.Add(Constants.Label,Constants.LEDs[i],dataLED[j]);
    {

这是行不通的。我不知道如何在两个初始列之后添加原始数据。 实际上,我什至不知道哪种方法是性能最好的方法,既要编写方法又要在MatLab中读取表格。我必须收集很多光谱仪扫描数据,在添加8x3648表格进行绘图之前,MatLab已经提出抗议。

我的目标不仅是使它正常运行,而且还尽可能地获得高性能。 如果有人可以给我一些提示如何实现这一点,那将是一个很大的帮助。

0 个答案:

没有答案