matlab中如何循环输出二维数据至Excel里?

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

img


类似于这样子的表格
谢谢回答。

你好,可以这样做

% 假设你的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)