How to use a loop to find a sum and average?

36 visualizaciones (últimos 30 días)
Mark Dillon
Mark Dillon el 11 de Jul. de 2015
Editada: Walter Roberson hace alrededor de 21 horas
I am learning how to use MATLAB and have been told there is a way to create a loop that will also output the sum and the average. What I have done so far is to create an array of a random sort of numbers and printed out each element as shown below:
% Variables
x = [1.8 3.6 5.4 7.2];
fprintf('x =');
disp(x);
% For Loop
for k = 1:length(x);
fprintf('Element %0.0f is: %0.1f \n', k, x(k));
end
What I need to figure out next is how to use the 'for' loop to also print out the sum and average.

Respuesta aceptada

Image Analyst
Image Analyst el 11 de Jul. de 2015
Try this:
% Variables
x = [1.8 3.6 5.4 7.2]
% For Loop
theSum = 0; % Initialize
for k = 1 : length(x);
fprintf('Element %d is: %0.1f \n', k, x(k));
% Accumulate the sum
theSum = theSum + x(k);
% Compute the running mean and print out.
fprintf('After element #%d, the sum = %.1f, and the mean = %.3f\n\n',...
k, theSum, theSum/k);
end

Más respuestas (2)

Azzi Abdelmalek
Azzi Abdelmalek el 11 de Jul. de 2015

Kahkashan
Kahkashan hace alrededor de 21 horas
Editada: Walter Roberson hace alrededor de 21 horas
umStudents = 10;
totalMarks = 0;
marks = zeros(1, numStudents); % Pre-allocate an array to store marks
% Loop to get marks for each student
for i = 1:numStudents
prompt = sprintf('Enter marks for student %d: ', i);
marks(i) = input(prompt); % Get input from the user
totalMarks = totalMarks + marks(i); % Add marks to the total
end
% Calculate the average
averageMarks = totalMarks / numStudents;
% Display the result
fprintf('The average marks of the %d students is: %.2f\n', numStudents, averageMarks);

Categorías

Más información sobre Loops and Conditional Statements en Help Center y File Exchange.

Etiquetas

Productos

Community Treasure Hunt

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

Start Hunting!

Translated by