How to solve an equation equal to zero?

44 次查看(过去 30 天)
Hello,
I want to solve this equation equal to zero to find the theta, But it doesn't give me an answer there is an error. How to do it, thanks for the help.
eqn=sind(45)*sind(45+thtea)+sind(45+thtea)*sind(45+thtea)+cosd(45)*cos(45+thtea)+cosd(45+thtea)*cosd(45+thtea)==0
eqn=sind(45)*sind(45+thtea)+sind(45+thtea)*sind(45+thtea)+cosd(45)*cos(45+thtea)+cosd(45+thtea)*cosd(45+thtea)
solve(eqn,thtea)

采纳的回答

Walter Roberson
Walter Roberson 2022-7-28
There are at least 84 solutions, possibly more. Are you expecting to get a closed form solution that lists each of the angles that satisfies the equation? Because that is not going to happen -- trig equations seldom have closed form solutions.
Notice that your cos^2 and sin^2 add up to 1.
And notice that you have cos(45+thtea) instead of cosd(45+thtea) at one point.
syms thtea real
eqn=sind(45)*sind(45+thtea)+sind(45+thtea)*sind(45+thtea)+cosd(45)*cos(45+thtea)+cosd(45+thtea)*cosd(45+thtea)==0
eqn = 
simplify(eqn)
ans = 
solve(eqn)
Warning: Unable to solve symbolically. Returning a numeric solution using vpasolve.
ans = 
vpasolve(eqn)
ans = 
fplot([lhs(eqn)-rhs(eqn),0], [-360, 360])
fplot([lhs(eqn)-rhs(eqn),0], [-225, -70])
eqn2 = sind(45)*sind(45+thtea)+sind(45+thtea)*sind(45+thtea)+cosd(45)*cosd(45+thtea)+cosd(45+thtea)*cosd(45+thtea)==0
eqn2 = 
eqn2 = simplify(eqn2)
eqn2 = 
sol2 = solve(eqn2, 'returnconditions', true)
sol2 = struct with fields:
thtea: 360*k + 180 parameters: k conditions: in(k, 'integer')
sol2.thtea
ans = 
sol2.conditions
ans = 

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Logical 的更多信息

标签

产品

Community Treasure Hunt

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

Start Hunting!

Translated by