How to Rewrite This Section of Code as a For Loop

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
Yeah, since loops are a repetition of a given task. I do not know how any elements that I have in my set, & I need to write the section as a loop to get around the ban on the sum function.
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.

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.
That replaces
termA = sum(termA(:));
Note: it leaves out the ^0.5

Iniciar sesión para comentar.

Categorías

Más información sobre Loops and Conditional Statements en Centro de ayuda y File Exchange.

Preguntada:

el 14 de Mzo. de 2024

Comentada:

el 15 de Mzo. de 2024

Community Treasure Hunt

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

Start Hunting!

Translated by