I need some assistance with my function program?
信息
此问题已关闭。 请重新打开它进行编辑或回答。
显示 更早的评论
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));
0 个评论
回答(2 个)
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));
0 个评论
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 个评论
Aaron
2012-7-22
Jan
2012-7-22
And what is the error message?
Aaron
2012-7-22
Image Analyst
2012-7-22
See my answer.
Walter Roberson
2012-7-22
Does it give an error message such as "inner dimensions must agree" ?
Image Analyst
2012-7-22
That's what I thought at first (passing in arrays instead of scalars), but it's because a, b, and c are undefined because he used different names for them in the input arguments.
Walter Roberson
2012-7-22
Good catch about the names!
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
2012-7-22
此问题已关闭。
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!