How do I write matlab code for solving the following equation ?
Afficher commentaires plus anciens
As we have been provided the y in terms of vector. How can we solve the vector x for corresponding values of y? Please help.
y=0:1:10;
y=x-sin(x)/sqrt(1+sin(x));
Réponses (2)
Mischa Kim
le 22 Avr 2014
Modifié(e) : Mischa Kim
le 22 Avr 2014
Pawan, you could do
syms x
y = 0:1:10;
for n = 1:numel(y)
yn(n) = vpasolve(y(n)-x+sin(x)./sqrt(1+sin(x))==0);
end
Note, that there are numerous solutions for a particular y-value.
2 commentaires
Mischa Kim
le 22 Avr 2014
Sure, again, there are multiple solutions, which you will find depending on the starting value.
y = 0:1:10;
for n = 1:numel(y)
yn(n) = fsolve(@(x) y(n)-x+sin(x)/sqrt(1+sin(x)), 10);
end
Image Analyst
le 22 Avr 2014
If you want to do it numerically, how about
x=0:1:10;
y=x-sin(x)/sqrt(1+sin(x))
plot(x, y, 'bs-', 'LineWidth', 2);
% Try to find x for which y = 5.
desiredY = 5;
[minDiff, desiredXIndex] = min(abs(y - desiredY))
hold on;
plot(x(desiredXIndex), y(desiredXIndex), ...
'r*', 'MarkerSize', 15, 'LineWidth', 2);
grid on;
Catégories
En savoir plus sur Utilities for the Solver dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!