How to solve single variable nonlinear trigonometric function?
6 次查看(过去 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 个)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!