My code is not adding up in the way that it should

2 views (last 30 days)
When I try to run this code, for whatever reason it just returns a bunch of zeros, even though I set the initial value to 2, I don't understand what I am doing wrong here. The code is supposed multiply each number of the array by the result of the previous array number, the function is 3x+1
% initialize the array as zeros
x = zeros(1,1000);
% fill in the first entry (doesn't follow the pattern)
x(1)=2;
% use a for loop to fill in the rest of the entries (that follow the pattern)
for i = 2:1000;
x(i) = 3*(x(i-1))+1
end
  1 Comment
Torsten
Torsten on 27 Jan 2022
For me, it works fine after removing the ; after the line "for i=2:1000;"

Sign in to comment.

Answers (1)

Reshma Nerella
Reshma Nerella on 2 Feb 2022
Hi,
The values are not zeros, it has a muliplying factor of 1.0e+308, which can be seen when the variable is displayed in command window. Open the variable in the variable editor, to get the exact values at indices.
The semicolon after 'for' statement doesn't effect the result, but it is unnecessary.

Tags

Products

Community Treasure Hunt

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

Start Hunting!