필터 지우기
필터 지우기

Info

이 질문은 마감되었습니다. 편집하거나 답변을 올리려면 질문을 다시 여십시오.

I need some assistance with my function program?

조회 수: 1 (최근 30일)
Aaron
Aaron 2012년 7월 22일
마감: MATLAB Answer Bot 2021년 8월 20일
I'm not sure where my mistakes are. The following is my main program:
a = input('Enter value for side a: ');
if a <= 0
disp('Not a valid input! Side "a" must be greater than zero.');break;
end
b = input('Enter value for side b: ');
if b <= 0
disp('Not a valid input! Side "b" must be greater than zero.');break;
end
c = input('Enter value for side c: ');
if c <= 0
disp('Not a valid input! Side "c" must be greater than zero.');break;
end
if a > b+c
fprintf('\n');
disp('Error: Side "a" must be less than the sum of sides b & c.');break;
elseif b > a+c
fprintf('\n');
disp('Error: Side "b" must be less than the sum of sides a & c.');break;
elseif c > a+b
fprintf('\n');
disp('Error: Side "c" must be less than the sum of sides a & b.');break;
end
fprintf('\n');
[Angle_A,Angle_B,Angle_C] = angle_calc(a,b,c) % This is the correct name of my function program
My function program is:
function [law_cosines] = angle_calc (side_A,side_B,side_C)
angle_A = acosd((b^2+c^2-a^2)/(2*b*c));
angle_B = acosd((a^2+c^2-b^2)/(2*a*c));
angle_C = acosd((a^2+b^2-c^2)/(2*a*b));

답변 (2개)

Image Analyst
Image Analyst 2012년 7월 22일
Your "function program" needs to look like this:
function [angle_A, angle_B, angle_C] = angle_calc (a, b, c)
angle_A = acosd((b^2+c^2-a^2)/(2*b*c));
angle_B = acosd((a^2+c^2-b^2)/(2*a*c));
angle_C = acosd((a^2+b^2-c^2)/(2*a*b));

Walter Roberson
Walter Roberson 2012년 7월 22일
Your line
function [law_cosines] = angle_calc (side_A,side_B,side_C)
should be
function [angle_A, angle_B, angle_C] = angle_calc (side_A,side_B,side_C)
  댓글 수: 10
Image Analyst
Image Analyst 2012년 7월 22일
Well because he didn't list the actual error (like Jan noted) I actually had to copy and paste, fix it up a little, and run it to find out the error. This should have been discovered immediately by Aaron, particularly if he knew how to use the debugger (which is always faster than debugging via Answers postings).
Aaron
Aaron 2012년 7월 22일
Thank you all for your input. I am fairly new to Matlab so I will do my best to learn how to use the debugger.

이 질문은 마감되었습니다.

태그

Community Treasure Hunt

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

Start Hunting!

Translated by