Inner Angle of an Triangle

5 次查看(过去 30 天)
Marv
Marv 2016-10-31
Hello, please look at the attached image. H and ang are given and I would like to calculate B
Moreover I need all angles from 0 to 180° at a fix H, lets assume H=6. and ang=0.5 ... 179.9.
How can I program this in matlab ? :-(

回答(3 个)

Torsten
Torsten 2016-10-31
tan(ang/2) = (B/2) / H
thus
B = 2 * H * tan(ang/2)
Does that help ?
Best wishes
Torsten.

Walter Roberson
Walter Roberson 2016-10-31
Divide into two right triangles and use trig. "Adjacent", or x, would be H, "opposite", or y, would be B/2, theta would be ang/2. By trig, x/y = tan(theta), so x / tan(theta) = y . Substiting back in, B/2 = H / tan(ang/2) and so B = 2 * H / tan(ang/2)
Now you can vectorize, B = 2 .* H ./ tan(ang./2) . ang can be a vector
Caution: tan() expects radians. You need to convert, or you need to use tand()
  2 个评论
Marv
Marv 2016-10-31
Hm ok, how can I put this in a loop and save all values:
angles from 0 to 180° at a fix H, lets assume H=6. and ang=0.5 ... 179.9.
into a vector ?
Something like this ?
H=6; for(ang=1:1:179) B = [ang H 2 * H / tand(ang/2)]'; end
Torsten
Torsten 2016-10-31
ang=1:1:179;
H=6.0;
B=2*H*tand(ang/2);
plot(ang,B);
Best wishes
Torsten.

请先登录,再进行评论。


Marv
Marv 2016-10-31
If I calculate this, I get for H=6 the result:
B = 4,97056274847714
for an angle at 45.
But it should be B=6 ??
  2 个评论
Torsten
Torsten 2016-10-31
You mean B=12 for ang=90 and H=6 ?
That's what you get by the formula.
Best wishes
Torsten.
Walter Roberson
Walter Roberson 2016-10-31
Make sure you are using tand() instead of tan() if you are specifying the angle in degrees.

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Resizing and Reshaping Matrices 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by