预分配 .NET 数组矩阵
Preallocating a Matrix of .NET Arrays
我正在使用 Matlab 设置实验的数据采集过程,函数 ain.DAQbufferGet
是从我们的硬件读取数据的函数。它包含一系列数据点,例如 [-200,-160,10,50,-20,40,170,160,-200... etc]
.
问题是 DAQbufferGet 的输出是 1x1 System.Int16[]
也可以使用
创建这样的输出
`NET.createArray('System.Int16', 50000)`
这里50000
只是一个例子
我想将 DAQbufferGet 的输出存储在一个矩阵中,而不必将其转换为不同的数据类型,并且能够稍后(在循环外)绘制它,如下所示:
data = int16(zeros(10, 50000));
for k = 1:10
data(k,:) = int16(zeros(1,50000));
end
for i = 1:10
data(i,:) = int16(ain.DAQbufferGet());
end
我很难用 1x1 System.Int16[]
数据类型做类似的事情
我该怎么做?
专门预分配一个 .NET 数组矩阵,稍后可以在上述 for 循环中写入。
似乎将 .NET 数组存储在单元格中意味着您可以稍后将其提取并索引
for k = 1:10
data{k} = NET.createArray('System.Int16', 50000);
end
for i = 1:10
data{i} = ain.DAQbufferGet();
end
data{i} returns 可以转换为另一种数据类型并绘制的 .NET 数组
我正在使用 Matlab 设置实验的数据采集过程,函数 ain.DAQbufferGet
是从我们的硬件读取数据的函数。它包含一系列数据点,例如 [-200,-160,10,50,-20,40,170,160,-200... etc]
.
问题是 DAQbufferGet 的输出是 1x1 System.Int16[]
也可以使用
创建这样的输出`NET.createArray('System.Int16', 50000)`
这里50000
只是一个例子
我想将 DAQbufferGet 的输出存储在一个矩阵中,而不必将其转换为不同的数据类型,并且能够稍后(在循环外)绘制它,如下所示:
data = int16(zeros(10, 50000));
for k = 1:10
data(k,:) = int16(zeros(1,50000));
end
for i = 1:10
data(i,:) = int16(ain.DAQbufferGet());
end
我很难用 1x1 System.Int16[]
数据类型做类似的事情
我该怎么做?
专门预分配一个 .NET 数组矩阵,稍后可以在上述 for 循环中写入。
似乎将 .NET 数组存储在单元格中意味着您可以稍后将其提取并索引
for k = 1:10
data{k} = NET.createArray('System.Int16', 50000);
end
for i = 1:10
data{i} = ain.DAQbufferGet();
end
data{i} returns 可以转换为另一种数据类型并绘制的 .NET 数组