5 views (last 30 days)

Good morning, I'm new in using Matlab and I would like to know if it is possible to solve the following implicit equation

sin(x)-y*sin(acos((3+sin(x))/y)) = 0

where: x = linspace(0,2*pi,50)

In particular I would like to explicit y and after plot y against x.

Thank you so much!

Alan Stevens
on 23 Oct 2020

Surprisingly, this has an explicit solution for y (I didn't use Matlab to get it as I don't have the symbolic toolbox to hand) . See the following code:

x = linspace(0,2*pi,50);

y = zeros(1,numel(x));

for i = 1:numel(x)

y(i) = yfn(x(i));

end

subplot(2,1,1)

plot(x,y),grid

xlabel('x'),ylabel('y')

subplot(2,1,2)

plot(x,sin(x),'b',x,y.*sin(acos((3+sin(x))./y)),'r--'),grid

xlabel('x'),ylabel('check functions')

legend('sin(x)','y.*sin(acos((3+sin(x))./y))')

function y = yfn(x)

y = sqrt(6*sin(x)-cos(2*x)+10);

if mod(x,2*pi)>pi

y = -y;

end

end

This results in

Alan Stevens
on 26 Oct 2020

As follows:

I've just taken the positive sign for y above, but you need the negative sign between pi and 2pi.

Hope that helps.

Alan Stevens
on 26 Oct 2020

Opportunities for recent engineering grads.

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

Start Hunting!
## 0 Comments

Sign in to comment.