How do i use a pair of nested for loops to store a series of 9 related numbers in a 3x3 matrix?
1 vue (au cours des 30 derniers jours)
Afficher commentaires plus anciens
the outer loop decides what row and the inner loop decides what column to store each number in the series, the code should prompt the user for the starting number and increment of the series
5 commentaires
David Goodmanson
le 6 Sep 2018
Does this have to be done with 'for' loops, or is any technique in Matlab all right to use?
Réponses (2)
Dennis
le 6 Sep 2018
I hope i got the question right (some possible solutions with increasing number of loops):
%no loop
a=1;
b=1;
X=ones(1,9)*a;
Y=ones(1,8)*b;
Y=cumsum(Y);
X(2:end)=X(2:end)+Y;
X=reshape(X,[],3)';
%1 loop
a=1;
b=1;
X=ones(1,9)*a;
for i=1:numel(X)
X(i)=X(i)+(i-1)*b;
end
X=reshape(X,[],3)';
%2 loops
a=1;
b=1;
X=ones(3,3)*a;
for i=1:3
for k=1:3
X(i,k)=a+(i*k-1)*b;
end
end
0 commentaires
Stephen23
le 6 Sep 2018
Modifié(e) : Stephen23
le 6 Sep 2018
"How do i use a pair of nested for loops to store a series of 9 related numbers in a 3x3 matrix?"
num = str2double(input('start number: ','s'));
nrows = 3;
ncols = 3;
mat = nan(nrows,ncols);
for kr = 1:nrows
for kc = 1:ncols
mat(kr,kc) = num;
num = num+1;
end
end
And when run:
start number: 1
>> mat
mat =
1 2 3
4 5 6
7 8 9
0 commentaires
Voir également
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!