MATLAB Answers

How can I write a function called triAreaN that computes the area of N triangles?

조회 수: 15(최근 30일)
jacob
jacob 27 Jan 2014
댓글: AYUSH MISHRA 23 May 2020
The input of the function is a 2xN array where each column of the array contains the base and height of a single triangle. The function returns a 1xN array where the i^th column is the area of the i^th triangle. Test whether the base and height are positive. if either one is negative, set the area of the triangle to zero.
function triAreaN(B1...Bi;H1...Hi);
%H = Height of triangle (B1...Bi)=('enter the base'); (H1...Hi)=('enter the height');
A = (1/2*(B1*H1):1/2*(B1*Bi)); A = ('display answer'); A(output) end
Line 1: invalid syntax at '<EOL>'. Possibly, a ),}, or ] is missing. Line 4: Terminate statement with semicolon to suppress output(in functions). Line 5: invalid syntax at '<EOL>'. Possibly, a ),}, or ] is missing. Line 8: The value assigned to variable A' might be unused.
Homework problem. he never showed us how to use matrices or array in function or how to assign the rows to be certain input values. Stuck here not sure where to go from this point.

  댓글 수: 1

Roger Stafford
Roger Stafford 27 Jan 2014
It would have been much more interesting if your inputs had been given as the 3D cartesian coordinates of the triangles' vertices rather than their base and height.

댓글을 달려면 로그인하십시오.

채택된 답변

Pedro Villena
Pedro Villena 27 Jan 2014
function A = triAreaN(B,H)
if numel(B)==numel(H),
A = 0.5*(B.*H);
else
error('B and H must be same length');
end

  댓글 수: 2

jacob
jacob 27 Jan 2014
It says unexpected matlab expression whenever i enter a matrix like triAreaN(1 2 3 ; 4 5 8).

댓글을 달려면 로그인하십시오.

추가 답변(1개)

Amit
Amit 27 Jan 2014
function A = triAreaN(Ar)
% Ar is 2XN array where each column is base and height
A = 0.5*Ar(1,:).*Ar(2,:);
A(Ar(1,:) < 0 | Ar(2,:) < 0) = 0;

  댓글 수: 7

표시 이전 댓글 수: 4
Amit
Amit 27 Jan 2014
Yup:
Ar = [1 2 3;4 5 6];
Here, 1 2 3 will be first row and 4 5 6 will be second.
jacob
jacob 27 Jan 2014
so would i type it in the command window or run it as triAreaN(1 2 3 ; 4 5 6) or does it need brackets? either way i do it it sayunexpected expression or unexpected parenthesis or bracket.

댓글을 달려면 로그인하십시오.

Community Treasure Hunt

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

Start Hunting!

Translated by