Simplifying 4 for loops into one

1 Ansicht (letzte 30 Tage)
Mihail Anghelici
Mihail Anghelici am 22 Feb. 2021
Kommentiert: Mihail Anghelici am 22 Feb. 2021
Hello, I have the following piece of code where "cgs, mgs, house,qr" are functions. I am trying to write the following script in a nested for loop since the whole lot is repetitive enough. My problem arises when I am trying to call a different function on different iterations (cgs, mgs,etc) ,and storing each list name in a 2d array list. Anyone know how I could make this script in one for loop ?
listCGS = nan([5 1]);
for i=1:5
m=2^i;
v = ([1:m]/m)';
A = vander(v);
[Q,R] = cgs(A)
normCGS = norm(Q'*Q-eye(size(Q'*Q)));
listCGS(i) = normCGS;
end
listMGS = nan([5 1]);
for i=1:5
m=2^i;
v = ([1:m]/m)';
A = vander(v);
[Q,R] = mgs(A);
normMGS = norm(Q'*Q-eye(size(Q'*Q)));
listMGS(i) = normMGS;
end
listHouse = nan([5 1]);
for i=1:5
m=2^i;
v = ([1:m]/m)';
A = vander(v);
[Q,R] = house(A);
normHouse = norm(Q'*Q-eye(size(Q'*Q)));
listHouse(i) = normHouse;
end
listMat = nan([5 1]);
for i=1:5
m=2^i;
v = ([1:m]/m)';
A = vander(v);
[Q,R] = qr(A);
normMat = norm(Q'*Q-eye(size(Q'*Q)));
listMat(i) = normMat;
end
Thank you very much.

Akzeptierte Antwort

Cris LaPierre
Cris LaPierre am 22 Feb. 2021
Why not just put it all in one loop?
listCGS = nan([5 1]);
listMGS = nan([5 1]);
listHouse = nan([5 1]);
listMat = nan([5 1]);
for i=1:5
m=2^i;
v = ([1:m]/m)';
A = vander(v);
[Q,R] = cgs(A)
normCGS = norm(Q'*Q-eye(size(Q'*Q)));
listCGS(i) = normCGS;
[Q,R] = mgs(A);
normMGS = norm(Q'*Q-eye(size(Q'*Q)));
listMGS(i) = normMGS;
[Q,R] = house(A);
normHouse = norm(Q'*Q-eye(size(Q'*Q)));
listHouse(i) = normHouse;
[Q,R] = qr(A);
normMat = norm(Q'*Q-eye(size(Q'*Q)));
listMat(i) = normMat;
end
  1 Kommentar
Mihail Anghelici
Mihail Anghelici am 22 Feb. 2021
There is still quite a bit of repetition, but this is good enough. Thank you !

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Loops and Conditional Statements finden Sie in Help Center und File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by