Matlab computing a wrong value

조회 수: 3 (최근 30일)
Vidhan Malik
Vidhan Malik 2016년 3월 22일
댓글: Vidhan Malik 2016년 3월 22일
I am trying to do a simple calculation but matlab is outputting a different value than from what it should be, any ideas why?
R=0.5;
Cv=0.4;
B1= 60;
R= Cv/2*(tan(B1) + tan(B2));
[B2] = vpasolve([R], [B2]);
disp(B2);
You are supposed to find that B2 should be around 37.5 but matlab displays a value of -0.3097 so why is matlab getting a different answer?
  댓글 수: 4
Vidhan Malik
Vidhan Malik 2016년 3월 22일
Sorry didn't receive the notification!
John D'Errico
John D'Errico 2016년 3월 22일
There is a time lag, lol. And half the time, I answer a question, only to find that someone else has already answered while I was writing a wordy dissertation on the problem.

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

채택된 답변

John D'Errico
John D'Errico 2016년 3월 22일
편집: John D'Errico 2016년 3월 22일
Note that the tan function uses radians, NOT degrees. So you use tan(B1), where B1 is clearly a number written in degrees.
You can either use the function tand, which works in degrees, or you can convert degrees to radians.
Next, first, you set R = 0.5, then you set it equal to Cv/2*(tan(B1)+tan(B2)). This is wrong, since you wish to SOLVE for that.
syms B2
R=0.5;
Cv=0.4;
B1= 60;
B2 = solve(R == Cv/2*(tan(B1*pi/180) + tan(B2*pi/180)))
Note the use of == in there, NOT = as you had done.
B2 =
-(180*atan(3^(½) - 5/2))/pi
vpa(B2)
ans =
37.522431511944199990343681864777

추가 답변 (0개)

태그

Community Treasure Hunt

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

Start Hunting!

Translated by