Please help with For Loop
1 次查看(过去 30 天)
显示 更早的评论
u1 = v(:,1);
a2 = v(:,1)\v(:,2);
u2 = v(:,2) - v(:,1)*a2;
a3 = v(:,[1 2])\v(:,3);
u3 = v(:,3) - v(:,[1 2])*a3;
a4 = v(:,[1 2 3])\v(:,4);
u4 = v(:,4) - v(:,[1 2 3])*a4;
% Structural residuals and covariance
b02 = [ 1 0 0 0;
-a2(1) 1 0 0;
-a3(1) -a3(2) 1 0;
-a4(1) -a4(2) -a4(3) 1 ];
u = [u1 u2 u3 u4 ];
Please advise how can I estimate a , u and b with for loop...in case I have many more variables then just four.
0 个评论
采纳的回答
Walter Roberson
2017-11-6
Index your variables instead of using fixed variable name. Use cell arrays.
a{K} = v(:,K-1)\v(:,K);
u{K} = v(:,K) - v(:,K-1)*a{K};
6 个评论
Walter Roberson
2017-11-6
Correction:
ncol = size(v,2);
u(:,1) = v(:,1);
a = zeros(ncol, ncol);
for K = 2 : size(v,2)
a(1:K-1,K) = v(:,1:K-1)\v(:,K);
u(:,K) = v(:,K) - v(:,1:K-1)*a(1:K-1,K);
end
b = diag(ones(1,ncol)) - tril(a.');
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Loops and Conditional Statements 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!