what is wrong with my function

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 comentarios

function area = tri_area(b, h)
area = (0.5*b*h)
end
Francisco Moto
Francisco Moto el 19 de En. de 2021
the area of a triangle is 0.5*b*h not b*h

Iniciar sesión para comentar.

 Respuesta aceptada

Más respuestas (3)

Stephan
Stephan el 25 de Feb. de 2019

0 votos

You calculate the area of a rectangle. Think about the formula of triangle area...
Muhammad Haris Anwar
Muhammad Haris Anwar el 3 de Mzo. de 2020
function area = tri_area(b,h)
tri_area=0.5*b*h
end
Mrinal kant Priyadarshi
Mrinal kant Priyadarshi el 3 de Mayo de 2020
Editada: Mrinal kant Priyadarshi el 3 de Mayo de 2020
function area= tri_area(b,h)
tri_area(b,h)= (0.5)*(b)*(h)
area= tri_area(b,h)
end

1 comentario

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

Iniciar sesión para comentar.

Categorías

Más información sobre Creating and Concatenating Matrices en Centro de ayuda y File Exchange.

Productos

Versión

R2018b

Etiquetas

Preguntada:

el 25 de Feb. de 2019

Comentada:

el 19 de En. de 2021

Community Treasure Hunt

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

Start Hunting!

Translated by