How can I create a nested loop ?

Please, I'm trying to solve this problem: Create two “for loops”, one for i running from 1 to 5 by 1 and the other nested inside the first for j running from 1 to 8 by 1. Inside the nested loop, calculate the sum of the current I and j values and output the sum to the user followed by a tab.
I tried and did this:
clear, clc
i=0; j=0;
for i = 1:1:5 for j = 1:1:8
sum(i,j) = i + j;
end
end
fprintf ( '%g \t', sum)
I want to see if I did it right, I'm still confused on "sum" value. Thank you

3 comentarios

Von Duesenberg
Von Duesenberg el 9 de Abr. de 2018
Quick comment (I suppose this is homework): you don't need to initialize your i and j (BTW it's better to avoid such variable names) before the loop. And the step size of 1 is the default in a for loop so you don't have to state it explicitly. It seems that you want to store the result in a variable called "sum"... Matlab has a built-in function with the same name, so you'd better avoid this. You should initialize an array (e.g. with the zeros function) before the loop. Hope this helps.
Samantha Cepeda
Samantha Cepeda el 9 de Abr. de 2018
Editada: Samantha Cepeda el 9 de Abr. de 2018
clear, clc
for i = 1:5
for j = 1:8
b(i,j) = i + j;
end
end
fprintf ( '%g \t', sum)
yes, it is a homework. I took C++ like two years ago and I'm using Matlab now. I'm a little bit lost and worried. Thank you for your help. I didn't quite understand when you referred to 'You should initialize an array (e.g. with the zeros function) before the loop.' What's the zeros function? I've seen people using j=0 or i=0 at the beginning, is that a case when I need to initialize a variable or not at all?
Wiqas Ahmad
Wiqas Ahmad el 18 de Mzo. de 2021
How to write b if there are three loops indices, i.e i,j,k?

Iniciar sesión para comentar.

 Respuesta aceptada

Von Duesenberg
Von Duesenberg el 9 de Abr. de 2018
Here is a possible solution ; adapt it if it doesn't quite do what you had in mind :
iMax = 5;
jMax = 8;
myArray = zeros(iMax, jMax);
for iIdx = 1:iMax
for jIdx = 1:jMax
myArray(iIdx,jIdx) = iIdx + jIdx;
end
end

Más respuestas (1)

muhammad mazhar
muhammad mazhar el 7 de Oct. de 2019

0 votos

if we have double sigma used for nested loop with energy formula how coulid we implment in matalab like we have an equationUntitled.png

Categorías

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

Preguntada:

el 9 de Abr. de 2018

Comentada:

el 18 de Mzo. de 2021

Community Treasure Hunt

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

Start Hunting!

Translated by