96 views (last 30 days)

Show older comments

function middleElement = FindMiddle(squareArray)

% FindMiddle: Return the element in the center of squareArray

% Inputs: squareArray - n x n input array, where n is odd

%

% Outputs: selectedData - center element of squareArray

% Assign elementIndex with location of middle row/col

% Hint: Use the size() function to deterimine the dimension of squareArray

elementIndex = size(squareArray)

% Assign middleElement with the center element of squareArray

middleElement = squareArray(elementIndex)

end

How do I start this? I figure I would have to set the elementIndex to an integer but I don't know how to do that. Any guidance would be appreciated.

Bhaskar R
on 12 Mar 2020

Edited: Bhaskar R
on 12 Mar 2020

function middleElement = FindMiddle(squareArray)

% FindMiddle: Return the element in the center of squareArray

% Inputs: squareArray - n x n input array, where n is odd

%

% Outputs: selectedData - center element of squareArray

% Assign elementIndex with location of middle row/col

% Hint: Use the size() function to deterimine the dimension of squareArray

center_ind = (size(squareArray)+1)/2;

% Assign middleElement with the center element of squareArray

middleElement = squareArray(center_ind(1), center_ind(2))

end

Walter Roberson
on 12 Mar 2020

N is odd. If you divide it by 2 you will get a leftover 1/2, but you cannot use 1/2 as an index.

Example: n=7. 7/2=3.5 but you cannot use 3.5 as an index. What is the proper index?

1234567

!

The ! has the same number of elements before and after so the index of the center is 4.

Now take (7+1)/2 and you get 4 which is the correct index. This can also be thought of as 7/2 + 1/2 = 3.5+.5 = 4: just group the operation differently, 7/2+1/2 times 2 is 7 + 1, so divide by the 2 is (7+1)/2

Piyush Lakhani
on 12 Mar 2020

The 'size' function returns the two element array 'row and column'. As what i can understand you want a single value that determines the variable 'n'.

so may be 'length' function gives the output you wants. Try in following way.

function middleElement = FindMiddle(squareArray)

% FindMiddle: Return the element in the center of squareArray

% Inputs: squareArray - n x n input array, where n is odd

%

% Outputs: selectedData - center element of squareArray

% Assign elementIndex with location of middle row/col

% Hint: Use the size() function to deterimine the dimension of squareArray

elementIndex = length(squareArray)

% Assign middleElement with the center element of squareArray

middleElement = squareArray(elementIndex)

end

Jada Roth
on 10 Sep 2020

function middleElement = FindMiddle(squareArray)

% FindMiddle: Return the element in the center of squareArray

% Inputs: squareArray - n x n input array, where n is odd

%

% Outputs: selectedData - center element of squareArray

% Assign elementIndex with location of middle row/col

% Hint: Use the size() function to deterimine the dimension of squareArray

elementIndex = ceil(size(squareArray)/2);

% Assign middleElement with the center element of squareArray

middleElement = squareArray(elementIndex(1),elementIndex(2));

end

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

Start Hunting!