2

让我们假设我们有两个矩阵作为输入,X并且Y。我想对每一列的Y每一列进行回归X并计算几个参数,然后为结果创建一个表。这是我的起始代码:

function [Table]=create_table(Y,X)
    [n,p]=size(X); % size of both matrix is X
    for ii=1:p % iterate  over all variable 
        x=X(:,i);
        y=Y(:,ii);
        x = [ones(size(x)) x];% construct  X matrix 
        [b,~,~,~,~] = regress(y,x);

        %% let us suppose we would like to calculate two parameters
        unknown=b(1)*100-b(2);
        known=b(2)/b(1)+200
    end
end

结果我想要得到的是下表(让我们假设p = 3):

在此处输入图像描述

我知道tableMATLAB里面有一个命令,但是这里不知道怎么用?

4

1 回答 1

2

在你的 for 循环之前,你可以像这样初始化你的(用零填充开始):

T = table((1:p).', zeros(p, 1), zeros(p, 1), ...
          'VariableNames', {'Iteration', 'Unknown', 'Known'});

然后,您可以通过替换和的计算来填充循环中的表格行unknownknown

T.Unknown(ii) = b(1)*100-b(2);
T.Known(ii) = b(2)/b(1)+200;
于 2017-09-23T17:47:49.247 回答