I have a problem about below question. Cab anybody help me??

2 views (last 30 days)
Write a function called peri_sum that computes the sum of the elements of an input matrix A that are on the “perimeter” of A. In other words, it adds together the elements that are in the first and last rows and columns. Note that the smallest dimension of A is at least 2, but you do not need to check this. Hint: do not double count any elements!
My answer is ;
function sumofthelements = peri_sum(A)
sumofthelements = A(1,1) + A(1,end) + A(end,1) + A(end,end);
I know that I calculate corner sum but I didn't calculate perimeter of A matrix

Accepted Answer

Roger Stafford
Roger Stafford on 27 Oct 2017
You have only the sum of the four corners of the matrix. Hint: A(1,:) is a vector consisting of the top row elements of A. How can you use it? What about the other parts of the perimeter?
  2 Comments
SULE SAHIN
SULE SAHIN on 27 Oct 2017
Thank you your hint. function x = peri_sum(A) y = A(1,:) + A(end,:) + A(:,1) + A(:,end); c = sum(y); x = c- (A(1,1) + A(1,end) + A(end,1) + A(end,end)); I thougt this type but this is wrong too.
SULE SAHIN
SULE SAHIN on 27 Oct 2017
My correct answer is; function x = peri_sum(A) x = sum(A(1,:)) + sum(A(end,:)) + sum(A(:,1)) + sum(A(:,end)) - ( A(1,1) + A(1,end) + A(end,1) + A(end,end))
Thank you for your helps

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!