Loop Updating Vectors for Number of Iterations

1 回表示 (過去 30 日間)
Denzel Philip Belleza
Denzel Philip Belleza 2020 年 10 月 7 日
Hello,
I am trying to create a loop that will update a vector for a given number of iterations but keep getting errors. The x0 vector is solved and I would like to set as the first iteration. I would appreciate any help :)
What I am Trying to Implement:
x0 = A\b
x1 = A\x0
x2 = A\x1
...
xn = A\x(n-1)
My Code:
clear, clc;
% Given Information
A = [3 2 3; 5 5 6; 9 8 9];
b = [1; 2; 3];
x0 = A\b; % Calculate x0 vector
% My Attempt at Loop
b_ = zeros(size(b)); % Initialize?
x_ = zeros(size(x0)); % Initialize?
for k = 1:200
x(k(1)) = x_ + x0 % First Iteration
b(k) = b_ + x(k) % Update b vector
x(k+1) = A\b(k) % Updated x vector
end
  2 件のコメント
Walter Roberson
Walter Roberson 2020 年 10 月 7 日
Is it correct that your b is always the previous x (except for the first time) ? Your use of those updates with 0 is confusing the issue if they are not needed.
Denzel Philip Belleza
Denzel Philip Belleza 2020 年 10 月 7 日
Hi Walter,
Yes, I am trying to have b always updated to the previous x.

サインインしてコメントする。

回答 (1 件)

Asad (Mehrzad) Khoddam
Asad (Mehrzad) Khoddam 2020 年 10 月 7 日
Simply use
A = [3 2 3; 5 5 6; 9 8 9];
b = [1; 2; 3];
x=b;
for k=1:200
x=A\x;
end

カテゴリ

Help Center および File ExchangeLoops and Conditional Statements についてさらに検索

タグ

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by