【问题标题】:MATLAB How can I input all the data using xlswrite for each loop?MATLAB 如何使用 xlswrite 为每个循环输入所有数据?
【发布时间】:2015-07-24 15:15:00
【问题描述】:

对于每个循环,我提取 4 个数据。 (例如mean1,mean2,var1,var2)

所以我想使用 xlswrite 将数据放入 excel 文件中。

喜欢:

xlswrite('Table.xlsx', mean(accuracy1), 1, 'A1')
xlswrite('Table.xlsx', mean(accuracy2), 1, 'A2')
xlswrite('Table.xlsx', var(accuracy1), 1, 'I1')
xlswrite('Table.xlsx', var(accuracy2), 1, 'I2')

如您所见,对于第一个循环,我想在 A1 和 A2 中输入均值。 以及 I1 和 I2 的差异。

但是对于第二个循环,我想在 B1 和 B2 中输入新的方法。 J1 和 J2 也有差异。

对于第三个循环,平均值在 C1 和 C2 中,方差在 K1 和 K2 中。

如何修改代码?

我是否必须为每个循环更改字母(A、B、C 和 I、J、K)?

【问题讨论】:

    标签: excel matlab loops


    【解决方案1】:

    您可以将结果添加到矩阵中,然后立即写入数据。因此,您可以处理像A1:C2 这样的范围,而不是单个单元格。我在这里使用了两次对xlswrite 的调用,以免混淆这两个“部分”。由于您指定的列 I 是第二个“部分”的开始,因此最多有 8 个可能的循环。

    M1 = zeros(2,8);                                    % preallocate
    M2 = zeros(2,8);                                    % preallocate
    
    for i = 1:8
        accuracy1 = rand(100,1);                        % generate random data 
        accuracy2 = rand(100,1);                        % generate random data
        M1(:,i) = [mean(accuracy1);mean(accuracy2)];    % add mean
        M2(:,i) = [var(accuracy1);var(accuracy2)];      % add variance
    end
    
    xlswrite('Table.xlsx', M1, 1, 'A1:H2')              % write first part
    xlswrite('Table.xlsx', M2, 1, 'I1:P2')              % write second part
    

    【讨论】:

      猜你喜欢
      • 2021-02-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-02-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多