what is wrong with my function

8 次查看(过去 30 天)
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

采纳的回答

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

更多回答(3 个)

Stephan
Stephan 2019-2-25
You calculate the area of a rectangle. Think about the formula of triangle area...

Muhammad Haris Anwar
function area = tri_area(b,h)
tri_area=0.5*b*h
end

Mrinal kant Priyadarshi
编辑:Mrinal kant Priyadarshi 2020-5-3
function area= tri_area(b,h)
tri_area(b,h)= (0.5)*(b)*(h)
area= tri_area(b,h)
end
  1 个评论
Walter Roberson
Walter Roberson 2020-5-3
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

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Matrix Indexing 的更多信息

标签

产品


版本

R2018b

Community Treasure Hunt

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

Start Hunting!

Translated by