Undefined function 'atand' for input arguments of type 'sym'. how to solve this error?

4 views (last 30 days)
I'm running the follow code lines
% tanB1 = X and tanB2 = Y
Cp = 1005
Ca = 200; % input
Um = 256; % input
temp_rise = 34.5; % input
lambda = 0.84; % from stages (input)
DoR_factor = 0.5;% input
TpR = temp_rise*Cp/(lambda*Um*Ca);
DoR = DoR_factor*2*Um/Ca;
syms X Y
Eqn1 = 'TpR = X - Y';
Eqn2 = 'DoR = X + Y';
S = solve(Eqn1, Eqn2, X, Y);
soln = [S.X, S.Y];
m2 = subs(soln);
% deflection
B1 = atand(m2(1,1))
B2 = atand(m2(1,2))
% air angles from B1 and B2
A1 = atand(Um/Ca - tand(B1));
A2 = atand(Um/Ca - tand(B2));
deHall = (Ca/cosd(B2))/(Ca/cosd(B1));
% [B1, B2, A1, A2, 0, deHall];
A_angle = [B1, B2, A1, A2, 0, deHall]
But I am getting an error on the line B1,
??? Undefined function or method 'atan2' for input arguments of type 'sym'.
Any Ideas how to solve this problem?
Thanks!!

Accepted Answer

Mischa Kim
Mischa Kim on 31 May 2015
Tin, you need to convert the symbolic expressions. Use
B1 = atand(double(m2(1,1)))
B2 = atand(double(m2(1,2)))

More Answers (1)

Walter Roberson
Walter Roberson on 31 May 2015
sym atand(x)
atand(x) = atan(x * 180/sym('PI'))
If necessary use a different function name.
atan is specifically documented to work on symbolic values.

Community Treasure Hunt

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

Start Hunting!