Matlab computing a wrong value

4 ビュー (過去 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
  1 件のコメント
Vidhan Malik
Vidhan Malik 2016 年 3 月 22 日
Thank you!

サインインしてコメントする。

その他の回答 (0 件)

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by