what is wrong with my function
7 views (last 30 days)
Show older comments
mostafa Eldaly
on 25 Feb 2019
Commented: Francisco Moto
on 19 Jan 2021
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
Accepted Answer
More Answers (3)
Stephan
on 25 Feb 2019
You calculate the area of a rectangle. Think about the formula of triangle area...
0 Comments
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
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
See Also
Categories
Find more on Matrix Indexing in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!