MATLAB 创建一个结果表,以从多个数组中的数据导出到 CSV



我想导出一些数据,以便我可以在 excel 中可视化它,但我在标题中遇到了麻烦。我宁愿在单元格(2,11:end(中使用数字,而不是整个数组。

Num.rand_rot = linspace(pi/36,pi/12,3);
Num.rand_rot = [Num.rand_rot Num.rand_rot Num.rand_rot];
Num.rand_rot = nchoosek(Num.rand_rot,3);
Num.rand_rot = unique(Num.rand_rot, 'rows', 'stable');
[Num.rand_rot2,~] = size(Num.rand_rot);
Num.objects = 25;
results=cell(Num.objects+2,Num.rand_rot2*3+10);
results(1,1:11)={'Object','Initial','','','Measured angles','','','E for measured angles','','','E for new little rotation angles';};
results(2,11:end)={reshape(Num.rand_rot.',1,[]);};

发现问题:

-一";"不需要

-但需要细胞转换

results(2,11:end)=num2cell(reshape(Num.rand_rot.',1,[]));

如果每列都有一个唯一的变量名称,也可以将其写入 csv:

T = cell2table(results(2:end,:),'VariableNames',results(1,:));
writetable(T,'myDataFile.csv');

或者我所做的只是将表保留为矩阵而不是单元格数组:

results           = zeros(Num.Mols+1, Num.rand_rot2*3+10);
results(1,11:end) = reshape(Num.rand_rot.', 1, []);
csvwrite(['results/results.csv'], results);

最新更新