Asked by Alex
on 24 Oct 2017

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

Answer by Mischa Kim
on 24 Oct 2017

Edited by Mischa Kim
on 24 Oct 2017

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.

Sign in to comment.

Answer by Alex
on 24 Oct 2017

Thanks a lot for all the replies. Unfortunately both suggestions

syms x

eqn = cos(x)*cos(3*x)-0.5707 == 0;

sol = vpasolve(eqn)

fun = @(X) cos(X)*cos(3*X) - 0.5707;

options = optimoptions('fsolve','Display','none','PlotFcn',@optimplotfirstorderopt);

sol = fsolve(fun,0)

do not return any solution, even though I simplified the equation. At the same time the calculator is spot on. What is the extra level of details that are required from matlab in this regard?

Thanks a lot Alex

Answer by Steven Lord
on 24 Oct 2017

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.

Sign in to comment.

Opportunities for recent engineering grads.

Apply Today
## 0 Comments

Sign in to comment.