What do these lines of code mean
1 次查看(过去 30 天)
显示 更早的评论
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
0 个评论
回答(2 个)
Walter Roberson
2023-2-11
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
2023-2-11
"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]
i = 5;
Y = [Y i]
i = 10;
Y = [Y i]
2 个评论
Steven Lord
2023-2-11
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.
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Matrix Indexing 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!