根据数字创建多个矩阵/向量

用户名

我有一个简单的for循环,用于模拟数据,

for t=2:T;
        Y_star(t,1,b)=[Y_star(t-1,1,b) X_1_star(t-1,1,b) X_2_star(t-1,1,b) 1]*beta(:,i)+w(t-1)*e(t-1,i);
        X_1_star(t,1,b)=Theta(1,1)+Phi(1,:,1)*[X_1_star(t-1,1,b) ; X_2_star(t-1,1,b)]+w(t-1)*v(t-1,1,i);
        X_2_star(t,1,b)=Theta(2,1)+Phi(2,:,1)*[X_1_star(t-1,1,b) ; X_2_star(t-1,1,b)]+w(t-1)*v(t-1,2,i);
end;

我遇到的问题是,当我有两个X变量时,这很好,但是,我想编写代码,这样我可以增加每次更改的变量数,例如4。

在这种情况下,我需要X_1_star,X_2_star,X_3_star和X_4_star。

我可以处理Phi和Theta系数,以及w和v和e,但是我正在努力创建X的矩阵。

任何想法都将是很大的,我曾尝试将矩阵存储在单元格中,但是我很难使它起作用。

紧随通讯网,这是一个简单的示例

%%简单示例%--------------------------------------------- ----------------------------%

Phi = [0.9954    0.0195;
       0.0012    0.9567];  
Theta= [0.007;0.051];
beta = [0.06;-0.10;1.66;-0.88];
N = 1;      
e = rand(370,1);
v = randn(370,2);
t = 371;
T = 371;
yy = rand(370,1);
X_1 = rand(370,1);
X_2 = rand(370,1);
B=50;
Y_star=zeros(T,N,B);
X_1_star=zeros(T,N,B);
X_2_star=zeros(T,N,B);
for b=1:B;
    Y_star(1,:,b)=yy(1,:);
    X_1_star(1,:,b)=X_1(1,:);
    X_2_star(1,:,b)=X_2(1,:);
    w=randn(T-1,1);
    for t=2:T;
        for i=1:N;
            Y_star(t,i,b)=[Y_star(t-1,i,b) X_1_star(t-1,i,b) ...
                X_2_star(t-1,i,b) 1]*beta(:,i)+w(t-1)*e(t-1,i);
            X_1_star(t,i,b)=Theta(1,i)+Phi(1,:,i)*[X_1_star(t-1,i,b) ; ...
                X_2_star(t-1,i,b)]+w(t-1)*v(t-1,1,i);
            X_2_star(t,i,b)=Theta(2,i)+Phi(2,:,i)*[X_1_star(t-1,i,b) ; ...
                X_2_star(t-1,i,b)]+w(t-1)*v(t-1,2,i);
        end;
    end;
    disp(b);
end;

理想情况下,我这样做是为了做同样的事情,但又不依赖于编写X_1和X_2,因为我有时会将此数目增加很多。

我尝试按照通信网的建议进行重塑,但不确定在此示例中这将如何工作。

冰川幸福

我通常发现结构数组对于这种动态索引更有用(在这种情况下,您不知道X_1_star,X_2_star会有多少个...)

我没有尝试重现整个示例,但是如果您尝试使用X_4_star,它可能会像这样:

...
nX=4;
for i=1:N
    Y_star(t,i,b)=[Y_star(t-1,i,b) X_1_star(t-1,i,b) ...
                X_2_star(t-1,i,b) 1]*beta(:,i)+w(t-1)*e(t-1,i);
    for n=1:nX
        X(n).star(t,i,b)=...
    end
end

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

根据多个向量的多个条件创建数字样本

来自分类Dev

从多个列向量创建矩阵

来自分类Dev

根据向量在R中创建矩阵

来自分类Dev

根据向量的圆形移位创建对称矩阵

来自分类Dev

根据矩阵和向量创建数组

来自分类Dev

所谓的是:从多个向量创建numpy矩阵

来自分类Dev

R根据“行”向量和“列”向量的运算创建矩阵

来自分类Dev

根据向量中包含的多个条件创建向量

来自分类Dev

从多个向量制作矩阵

来自分类Dev

向量-向量乘法以创建矩阵

来自分类Dev

从矩阵创建向量

来自分类Dev

根据向量获取矩阵的子集

来自分类Dev

根据向量获取矩阵的子集

来自分类Dev

根据条件创建向量

来自分类Dev

根据功能创建矩阵

来自分类Dev

根据名称创建矩阵

来自分类Dev

从R中的向量创建矩阵

来自分类Dev

从向量创建列数矩阵

来自分类Dev

如何创建矩阵的向量(数组)?

来自分类Dev

Matlab-从矩阵创建向量

来自分类Dev

使用for循环从向量创建矩阵?

来自分类Dev

我可以根据旋转/平移向量创建转换矩阵吗?

来自分类Dev

根据向量的最小值和最大值创建重复列的矩阵

来自分类Dev

R /根据下三角元素的向量创建对称矩阵

来自分类Dev

在Python中根据对角向量创建密集矩阵的有效方法?

来自分类Dev

R-如何根据向量是否包含值创建 T/F 矩阵

来自分类Dev

根据向量名称识别并绑定多个向量

来自分类Dev

根据列向量对矩阵进行子集

来自分类Dev

将数字向量与矩阵行乘法