Clear Filters
Clear Filters

What do these lines of code mean

1 view (last 30 days)
Camden Nelson
Camden Nelson on 11 Feb 2023
Commented: Steven Lord on 11 Feb 2023
I am working on a homework assignment where I have to code a linear search algorithm, and looked up a video to see other solutions. I am confused what the code on lines 2 and 6 mean practically. Is it first initializing an empty array than storing the found user value into that array?
See code below:
1) x = input('Enter the array:');
2) Y = [];
3) y = input('Enter the number you want to seach:');
4) for i=1:length(x)
5) if (x(i)==y)
6) Y = [Y i];
7) end
8) end

Answers (2)

Walter Roberson
Walter Roberson on 11 Feb 2023
Yes. That code starts with an empty output, and then each time it finds a match, it appends the index of the match at the end of the list.

Voss
Voss on 11 Feb 2023
"Is it first initializing an empty array"
Yes.
"[then] storing the found user value into that array?"
Storing the index (i) at which the user's value was found. Specifically, line 6 is storing all the indices at which the user's value was found, and doing so by concatenating them one-by-one with the array Y, and storing the result as the new Y each time.
Consider the following code. Each time, Y = [Y i]; appends a new value to the end of Y by concatenating the existing Y with the new value i.
Y = [];
i = 2;
Y = [Y i]
Y = 2
i = 5;
Y = [Y i]
Y = 1×2
2 5
i = 10;
Y = [Y i]
Y = 1×3
2 5 10
  2 Comments
Camden Nelson
Camden Nelson on 11 Feb 2023
Okay gotcha. That makes a lot more sense seeing it step by step. Thanks!
Steven Lord
Steven Lord on 11 Feb 2023
FYI for future reference, you can step through code line by line using the debugging tools if that helps you more easily understand what the code is doing.

Sign in to comment.

Categories

Find more on Programming in Help Center and File Exchange

Tags

Products


Release

R2022b

Community Treasure Hunt

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

Start Hunting!