what is wrong with my function

23 views (last 30 days)
here is the Question that I want to Answre:
(Write a function called tri_area that returns the area of a triangle with base b and height h, where b and h are input arguments of the function in that order.)
function area = tri_area(b,h)
area = b*h;
end
  2 Comments
SWARNENDU DUTTA
SWARNENDU DUTTA on 9 Aug 2020
function area = tri_area(b, h)
area = (0.5*b*h)
end
Francisco Moto
Francisco Moto on 19 Jan 2021
the area of a triangle is 0.5*b*h not b*h

Sign in to comment.

Accepted Answer

Sanket Dahat
Sanket Dahat on 1 Dec 2019
function area=tri_area(b,h)
area=b*h/2;
end

More Answers (3)

Stephan
Stephan on 25 Feb 2019
You calculate the area of a rectangle. Think about the formula of triangle area...

Muhammad Haris Anwar
Muhammad Haris Anwar on 3 Mar 2020
function area = tri_area(b,h)
tri_area=0.5*b*h
end

Mrinal kant Priyadarshi
Mrinal kant Priyadarshi on 3 May 2020
Edited: Mrinal kant Priyadarshi on 3 May 2020
function area= tri_area(b,h)
tri_area(b,h)= (0.5)*(b)*(h)
area= tri_area(b,h)
end
  1 Comment
Walter Roberson
Walter Roberson on 3 May 2020
If b and h happen to be positive integers, then the assignment on the first line would work, creating an array that is b rows high and h columns, with all the values set to 0 except for the very bottom corner that would be set to (0.5)*(b)*(h) . You would then retrieve that location to create the output. This seems a bit of a waste to create that array.
If either b or h is not a positive integer, such as if b were 2.5 and h were 5, then the assignment on your second line would fail.
You have confused arrays and formulas. In MATLAB, you create formulas using @, such as
function area= tri_area(b,h)
TA = @(b,h) (0.5)*(b)*(h);
area = TA(b,h);
end

Sign in to comment.

Categories

Find more on MATLAB in Help Center and File Exchange

Tags

Products


Release

R2018b

Community Treasure Hunt

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

Start Hunting!