How to solve single variable nonlinear trigonometric function?
조회 수: 2 (최근 30일)
이전 댓글 표시
I am trying to solve a non linear equation as given below.

I am expecting β2 to be between 35 and 50 degrees. All angles are in degrees.
I tried using
and using functions. But the reults were not in that range . How to solve this issure.

Thanks in advance.
댓글 수: 0
채택된 답변
Abolfazl Chaman Motlagh
2021년 9월 6일
maybe you forgot to use "d" in trigonometric functions.
quick answer without optimizing the code:
m = 0.7:0.01:1 ;
b1 = 34.65 ;
theta = 16;
syms b;
f =@(b,m) m - (1-(tand(b-b1).*sind(theta))./(sind(b1).*sind(b-theta))).^2;
for i=1:numel(m)
B(i) = vpasolve(f(b,m(i)) == 0, b);
end
min(B)
max(B)
plot(B)
댓글 수: 2
Abolfazl Chaman Motlagh
2021년 9월 6일
or use fsolve with initial guess:
m = 0.7:0.01:1 ;
b1 = 34.65;
theta = 16;
f =@(b) m - (1-(tand(b-b1).*sind(theta))./(sind(b1).*sind(b-theta))).^2;
B = fsolve(f , 40*ones(1,31));
min(B)
max(B)
plot(B)
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Systems of Nonlinear Equations에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!