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!

 Respuesta aceptada

Alan Stevens
Alan Stevens el 23 de Oct. de 2020

1 voto

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

4 comentarios

Gregory Cottone
Gregory Cottone el 26 de Oct. de 2020
Thank you Alan,
I don't understand how did you find this function y = sqrt(6*sin(x)-cos(2*x)+10).
Could you kindly explain me?
Alan Stevens
Alan Stevens el 26 de Oct. de 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.
Gregory Cottone
Gregory Cottone el 26 de Oct. de 2020
Thank you very much!!
One more last question: if I would find a numerical method as for example fsolve function, what I have to do to set the problem?
Alan Stevens
Alan Stevens el 26 de Oct. de 2020
fsolve is part of the Optimisation toolbox, which I don't have, so I'm not much help to you on that. I suggest you either type doc fsolve, or ask as a separate question in the forum (or both!).

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Mathematics en Centro de ayuda y File Exchange.

Etiquetas

Preguntada:

el 23 de Oct. de 2020

Comentada:

el 26 de Oct. de 2020

Community Treasure Hunt

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

Start Hunting!

Translated by