non linear implicit equation
4 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Gregory Cottone
le 23 Oct 2020
Commenté : Alan Stevens
le 26 Oct 2020
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!
0 commentaires
Réponse acceptée
Alan Stevens
le 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
4 commentaires
Alan Stevens
le 26 Oct 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!).
Plus de réponses (0)
Voir également
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!