我使用了一个名为data
的428×1单元阵列function something(val1, val2){
return val1+val2;
}
setInterval(function(){
something(23,32);
}, 50);
这些结构都具有相同的结构
data = {[1×1 struct]
[1×1 struct]
....
[1x1 struct]}
所有428个单元格的结构字段相同,并且每个结构中的字段值都会发生变化。
我如何创建一个将所有结构放在一起的表,以便显示每个字段的所有字段值? Pehaps使用嵌套for循环?
我最终想要将这些数据导出为excel。
答案 0 :(得分:1)
怎么样
T = cell(length(data) , 4);
for k = 1 : length(data)
T(k , :) = {data{k}.additional_model_information , ...
data{k}.ceiling_fan_size_diameters_in_inches, ...
data{k}.airflow_efficiency_cfm_watt_low, ...
data{k}.airflow_efficiency_cfm_watt_high};
end
然后您可以使用xlswrite
导出到Excel。
答案 1 :(得分:1)
让我们说你已经获得了你的nx1单元格结构数组data
。此方法并不假设您的数据中包含4个字段,或者知道它们的名称。如果您包含一些try
/ catch
逻辑,您甚至可以将它与具有不同字段名的结构一起使用。
您可以使用fieldnames
fnames = fieldnames(data{1});
然后设置一些正确大小的输出单元格out
out = cell(numel(fnames), numel(data));
然后使用嵌套循环 1。循环遍历data
和 2。中的项目。
for n = 1:numel(data)
for field = 1:numel(fnames)
temp = data{n};
out{field, n} = temp.(fnames{field});
end
end
最后,将字段名称附加为第一列
out = [fnames, out];
将单元格数组写入Excel文件
% File location, cell array, sheet, cell
xlswrite('C:\...\test.xlsx', out, 1, 'A1');