How to Rewrite This Section of Code as a For Loop

2 visualizaciones (últimos 30 días)
Cody Crouse
Cody Crouse el 14 de Mzo. de 2024
Comentada: Steven Lord el 15 de Mzo. de 2024
Do you know how a for loop equivalent for this would look like? I can't seem visualize what it would look like without having to make significant changes to the loop that I would have created: How can I compute the error without using the sum? I am not sure how to write it in terms of a loop. I am also not sure if I should use a for loop (given that the number of iterations will be the same as for the while loop) or if I should use the while loop:
This is the sevction of Code I want to convert to a for the purposes of a programming assignment that I have for engineering numerical methods:
function E=find_E(X_Prev, X_New);
termA = (X_New - X_Prev)^2;
termA = sum(termA(:))^0.5;
termB = X_New.^2;
termB = sum(termB(:))^0.5;
E = termA/termB;

Respuestas (2)

Steven Lord
Steven Lord el 14 de Mzo. de 2024
Conceptually, isn't taking the sum of an array of data just the same as repeatedly adding (+) each element to a running total? [The two implementations may not result in exactly, down-to-the-last-bit, identical answers in practice, but in theory shouldn't they match?]
  3 comentarios
Cody Crouse
Cody Crouse el 15 de Mzo. de 2024
In addition, I am looking to rewrite this text of code as a loop:
function E = find_E(X_Prev, X_New)
termA = (X_New - X_Prev).^2;
termA = sum(termA(:))^0.5;
termB = X_New.^2;
termB = sum(termB(:))^0.5;
E = termA/te
Steven Lord
Steven Lord el 15 de Mzo. de 2024
Hint: take a look at the numel function.

Iniciar sesión para comentar.


Walter Roberson
Walter Roberson el 15 de Mzo. de 2024
termAsum = 0;
for term = termA(:).'
termAsum = termAsum + term;
end
  2 comentarios
Cody Crouse
Cody Crouse el 15 de Mzo. de 2024
Does this serve as a resplacement for my code section? I am asking because I already that E = find_E(X_Prev, X_New) several times in my code. In addition, my term statements are underneath it.
Walter Roberson
Walter Roberson el 15 de Mzo. de 2024
That replaces
termA = sum(termA(:));
Note: it leaves out the ^0.5

Iniciar sesión para comentar.

Categorías

Más información sobre Programming en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by