求教用matlab求三角问题的方法

来源:百度知道 编辑:UC知道 时间:2024/05/24 12:29:53
比如已知一个三角形两条边和一个角,如何用matlab求出另一条边和另两个角

假设边长b和c的夹角为A,由余弦定理
【1】a^2=b^2+c^2-2*b*c*cos(A)
>> a=solve('a^2=b^2+c^2-2*b*c*cos(A)','a')

a =

(b^2+c^2-2*b*c*cos(A))^(1/2)
-(b^2+c^2-2*b*c*cos(A))^(1/2)

取正值a = (b^2+c^2-2*b*c*cos(A))^(1/2)
【2】用正弦定理sin(A)/a=sin(B)/b=sin(C)/c
>> B=solve('sin(A)/a=sin(B)/b','B')

B =

asin(sin(A)*b/a)

>> B=subs(B)

B =

asin(sin((b^2+c^2-2*b*c*cos(A))^(1/2))*b/(b^2+c^2-2*b*c*cos(A))^(1/2))
asin(sin((b^2+c^2-2*b*c*cos(A))^(1/2))*b/(b^2+c^2-2*b*c*cos(A))^(1/2))

取第一个B
【3】同理求角C