matlab中如何循环输出二维数据至Excel里?
问题描述:
对于一组二维数据,有x,y坐标轴,z(i,j)为代码中循环计算的变量。如何在Excel中输出值,使得x,y分别为坐标轴,z(i,j)与相应的x,y对应呢?
if t==(n*t0)
for i=1:M
for j=1:N
x=dx/2+(i-1)*dx+x_ori;
y=dy/2+(j-1)*dy+y_ori;
str1 = ['t(z)=',num2str(t),'s.xls'];
writetable(table(z(i,j)),str1);
end
end
end
类似于这样子的表格
谢谢回答。
答
你好,可以这样做
% 假设你的z是m行n列的
m = 11; n = 6;
z = zeros(m,n);
z(:) = 1:numel(z); % 我这里随便给z赋值
zz = mat2cell(z,size(z,1),ones(size(z,2),1));
col1 = arrayfun(@(i)['y',num2str(i)],(1:m)','uniform',0);
colnames = arrayfun(@(i)['x',num2str(i)],(1:n),'uniform',0);
T = table(zz{:},'variablenames',colnames,'rownames',col1);
writetable(T, 'myexcel.xls','writerownames',1)