是要热爱美好的呀 2021-09-07 13:32 采纳率: 93.1%
浏览 81
已结题

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


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

  • 写回答

1条回答 默认 最新

  • joel_1993 2021-09-07 13:58
    关注

    你好,可以这样做

    % 假设你的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)
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 9月15日
  • 已采纳回答 9月7日
  • 创建了问题 9月7日