Write a function to calculate the area of a circle

Technical Source
2 min readAug 1, 2023

--

Hi everyone,

I need to write a function named areaCircle to calculate the area of a circle with the ff conditions: 1. The function should take one input that is the radius of the circle. 2. The function should work if the input is a scalar, vector, or matrix. 3. The function should return, one output, the same size as the input, that contains the area of a circle for each corresponding element. 4. If a negative radius passed as input, the function should return the value -1 to indicate the error.

I already have my code for the function that satisfies 1 to 3 except for 4. My code is as shown below:

function area = areaCircle(r)
if any(r<0)
A = r % array of random integers
negIndices = A < 0;
B = A; % copy A into new array B
B(negIndices) = -1 % replace the negative values in B with -1
area = B(negIndices);
else
area = pi*r.^2;
end
end

And the test inputs area:

r1 = 2;
area1 = areaCircle(r1)
r2 = [2 5; 0.5 1];
area2 = areaCircle(r2)
r3 = [1 1.5 3 -4];
area3 = areaCircle(r3)

area3 must give an array of values where the last element must be -1 to show an error. It must not be used for the calculation of the area. Thanks in advance!

Answer:

It isn’t obvious from point 4 if it is expected that you just output -1 if any input is negative or -1 in only that location, but since you interpret it as the latter the simplest option would seem to be to use a logical mask as you have done, but you need to just always calculate

area = pi*r.^2;

Then you can just use the mask you created as B to overwrite the areas of any negative inputs with -1.

You can simplify the mask though as simply:

B = r < 0;

then

area( B ) = -1;

In your code you are not calculating any of the areas if any input is < 0. If that is what you want then it would seem that outputting just a scalar -1 would be sensible.

for other assignment help please visit this site:

  1. matlabhelpers
  2. matlabsolutions
  3. programmingshark

SEE COMPLETE ANSWER CLICK THE LINK

--

--

Technical Source
Technical Source

Written by Technical Source

Simple! That is me, a simple person. I am passionate about knowledge and reading. That’s why I have decided to write and share a bit of my life and thoughts to.

No responses yet