From Scientific Calculator [Solve] to matlab
2 次查看(过去 30 天)
显示 更早的评论
Hi all, with my scientific calculator I could try something as the following
SHIFT+CLR(9) >> (3)>>Reset All >>[=] Reset All >> Press [AC]
-Set the calculator on the right limits:
sin(30)=1/2
sin(x) = 1/2 and solve for x [SHIFT] [SOLVE] [=] = 30
or
cos(X)^2*cos(3X)^2 = 0.5 and then SHIFT>>SOLVE
How I can implement something like that in matlab (especially for the second function at the bottom? How I can implement this solve functionality in matlab? I would like to thank you in advance for your help
0 个评论
回答(4 个)
Mischa Kim
2017-10-24
编辑:Mischa Kim
2017-10-24
Alex, use something like
fun = @(X) cos(X)^2*cos(3*X)^2 - 0.5;
options = optimoptions('fsolve','Display','none','PlotFcn',@optimplotfirstorderopt);
sol = fsolve(fun,0,options)
The options command is not required but shows you some of the capabilities of MATLAB.
0 个评论
Torsten
2017-10-24
syms x
eqn = cos(x)^2*cos(3*x)^2-0.5 == 0;
sol = solve(eqn)
or
syms x
eqn = cos(x)^2*cos(3*x)^2-0.5 == 0;
sol = vpasolve(eqn)
Best wishes
Torsten.
0 个评论
Steven Lord
2017-10-24
Since this is one equation in one unknown, you can use fzero to solve this.
>> f = @(x) cos(x)*cos(3*x)-0.5707;
>> result = fzero(f, 0);
>> check = f(result)
check =
0
However, it appears your calculator computes the cosine of angles in degrees. The cos function in MATLAB computes the cosine of an angle in radians. To compute the cosine of an angle in degrees in MATLAB, use the cosd function instead of cos.
0 个评论
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!