我如何创建一个 table 来保存来自 MATLAB 迭代的数据?
How can I create a table to hold data from an iteration in MATLAB?
让我们假设我们有两个矩阵作为输入,X
和 Y
。我想在 X
的每一列上回归 Y
的每一列并计算几个参数,然后为结果创建一个 table。这是我的起始代码:
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
我想要得到的结果是table(让我们假设p = 3
):
我知道MATLAB中有一个table
命令,但我不知道如何在这里使用它?
在你的 for 循环之前,你可以像这样初始化你的 table(用零开始):
T = table((1:p).', zeros(p, 1), zeros(p, 1), ...
'VariableNames', {'Iteration', 'Unknown', 'Known'});
然后你可以在循环中 fill in rows of your table 替换 unknown
和 known
的计算:
T.Unknown(ii) = b(1)*100-b(2);
T.Known(ii) = b(2)/b(1)+200;
让我们假设我们有两个矩阵作为输入,X
和 Y
。我想在 X
的每一列上回归 Y
的每一列并计算几个参数,然后为结果创建一个 table。这是我的起始代码:
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
我想要得到的结果是table(让我们假设p = 3
):
我知道MATLAB中有一个table
命令,但我不知道如何在这里使用它?
在你的 for 循环之前,你可以像这样初始化你的 table(用零开始):
T = table((1:p).', zeros(p, 1), zeros(p, 1), ...
'VariableNames', {'Iteration', 'Unknown', 'Known'});
然后你可以在循环中 fill in rows of your table 替换 unknown
和 known
的计算:
T.Unknown(ii) = b(1)*100-b(2);
T.Known(ii) = b(2)/b(1)+200;