如何创建一个表来保存MATLAB中迭代的数据?
假设我们有两个矩阵作为输入,如何创建一个表来保存MATLAB中迭代的数据?,matlab,iteration,matlab-table,Matlab,Iteration,Matlab Table,假设我们有两个矩阵作为输入,X和Y。我想在X的每一列上回归Y的每一列,并计算几个参数,然后为结果创建一个表格。这是我的起始代码: 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
和Y
。我想在X
的每一列上回归Y
的每一列,并计算几个参数,然后为结果创建一个表格。这是我的起始代码:
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
):
我知道MATLAB中有一个
table
命令,但我不知道如何在这里使用它?在for循环之前,您可以初始化您的(以零开始),如下所示:
然后,您可以将unknown
和known
的计算替换为以下内容,从而在循环中运行:
T.Unknown(ii) = b(1)*100-b(2);
T.Known(ii) = b(2)/b(1)+200;
骑完自行车后我该填桌子吗?@datodatuashvili:我不知道你的意思。我想我已经明确了上面几行在代码中的位置?我会尝试,如果我没有在下面写什么,我会发帖。这段代码意味着什么?使用最优_估计(第44行)分配或在表中创建变量时出错,行数必须与行的高度匹配table@datodatuashvili:确保在访问表中的变量时,键入的名称与表中显示的名称完全相同(大小写很重要)。
T.Unknown(ii) = b(1)*100-b(2);
T.Known(ii) = b(2)/b(1)+200;